← Voltar ao blog

IA & Agentes

GitHub Copilot a fundo [3] - MCP: ferramentas para o agente sem perder a governança

GitHub Copilot in depth [3] - MCP tools without losing governance

GitHub Copilot a fundo [3] - MCP: ferramentas para o agente sem perder a governança

Fala dataholics, chegamos na parte da série que é divertida e assustadora ao mesmo tempo. Nos dois posts anteriores a gente ensinou o agente a trabalhar do jeito do seu repo, com AGENTS.md e instructions e depois com Agent Skills. Só que tudo isso ainda vive dentro do repositório, e o Copilot só sabe o que está escrito lá. Com MCP ele passa a chamar ferramenta de verdade, e aí entra a pergunta que o time de segurança vai fazer.

O que veremos nesse post:

  • O que o MCP resolve no Copilot

  • mcp.json e o GitHub MCP Server

  • MCP no code review, com um limite bem colocado

  • Governança: registry curado e allowlist na enterprise

  • Como eu recomendo começar


O que o MCP resolve aqui

Se você acompanha o blog já viu MCP em Copilot Studio e em Databricks, então o conceito você conhece: é o protocolo que dá ferramenta e dado externo pro agente de forma padronizada. No GitHub Copilot ele serve pra tirar o agente da caixinha do repositório, porque muita informação que o agente precisa nunca vai estar num arquivo .md. O ticket que descreve o bug está no Jira, o padrão de arquitetura está no Confluence, o schema real da tabela está no Unity Catalog e o erro em produção está no Application Insights.

Sem MCP você fica sendo o copiador humano, colando pedaço de log e pedaço de ticket no chat. Com MCP o agente vai buscar sozinho, e a diferença de qualidade em tarefa de investigação é grande, porque ele olha o dado real em vez de inventar em cima do nome da função.

Reginaldo, mas se ele já lê o repo eu preciso mesmo de MCP?

Pra código não, e eu diria pra nem tentar, porque MCP pra ler arquivo do próprio repositório é dar volta longa numa coisa que ele já faz melhor e mais barato. MCP vale pro que está fora do repo, o ticket, a métrica, o schema, o board. Essa é a linha que eu uso pra decidir.


mcp.json e o GitHub MCP Server

No VS Code a configuração fica num mcp.json com a chave raiz servers, e ele aceita servidor local, que roda por comando na sua máquina, e servidor remoto por HTTP. Pra deixar a configuração viajando junto com o projeto, cria um .vscode/mcp.json na raiz do workspace e comita, aí todo mundo do time já abre o projeto com as ferramentas certas ligadas.

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    },
    "databricks": {
      "type": "stdio",
      "command": "uvx",
      "args": ["databricks-mcp-server"],
      "env": { "DATABRICKS_HOST": "${input:dbx_host}" }
    }
  }
}

O suporte a MCP no VS Code é GA desde a versão 1.102 e veio com coisas que fazem diferença no uso diário: sandbox embutido, autenticação por OAuth, sync da configuração entre as suas máquinas e um catálogo curado dentro do painel de extensões. E existe o GitHub MCP Registry, que é a lista curada de servidores que você adiciona com poucos cliques. Essa versão 0.1 do registry é consumida por VS Code, Visual Studio, JetBrains, Eclipse, Xcode e pelo Copilot CLI, então a mesma curadoria vale pra IDE inteira da casa.

O GitHub MCP Server merece menção separada porque é o que a maioria vai ligar primeiro e é remoto, sem instalar nada. Com ele o agente lê issue, PR, workflow e code scanning direto da API, e aí o prompt "por que o build do PR 412 quebrou" para de ser retórico.


MCP no code review

No post anterior eu já tinha adiantado: skills e MCP no Copilot code review ficaram GA em julho de 2026. A configuração fica nas settings do repositório, em Copilot e depois MCP servers, e o token vai em Secrets and variables na aba Agents. Quem já tinha MCP montado pro cloud agent não precisa fazer nada, a configuração é aproveitada automaticamente.

E tem um limite aqui que eu acho muito bem colocado: toda chamada de MCP feita pelo code review é read-only. Faz total sentido, porque revisão de PR é leitura por definição e você não quer que um comentário malicioso escondido num diff faça o revisor automático fechar um ticket ou mexer num board. Detalhe pequeno na doc e enorme na hora de aprovar isso internamente.


Governança, a parte que vai travar seu rollout

Aqui é onde a conversa fica adulta. MCP é ótimo e é também a porta que você acabou de abrir na máquina do dev, porque um servidor MCP roda com as credenciais que alguém colocou nele e a ferramenta que ele expõe pode escrever, deletar e chamar API paga. Se ficar solto, cada pessoa do time instala o que quiser e você não sabe o que está conectado no seu código-fonte.

O GitHub montou duas frentes pra isso e vale saber qual é qual, porque a documentação é explícita no assunto:

  • MCP private registry enforcement: você aponta a org ou a enterprise pra um registry privado e os clientes do Copilot só descobrem, e opcionalmente só permitem, os servidores que a empresa aprovou. Está em public preview e a própria doc diz que não é o método recomendado pra restringir acesso.

  • allowedMcpServers e deniedMcpServers no enterprise managed settings: as chaves que você define no managed-settings.json da enterprise. Ficou GA em agosto de 2026 e é o caminho recomendado, hoje aplicado no app do GitHub Copilot, no Copilot CLI e no VS Code.

Além disso, desde abril de 2026 o Copilot CLI também respeita allowlist baseada em registry customizado, ainda em public preview. Ou seja, dá pra ter a lista aprovada valendo do terminal até a IDE, o que é importante, porque governança que só existe no VS Code não é governança.

Um ponto que eu levanto sempre nessa conversa e que a doc não vai resolver pra você: conteúdo que vem de ferramenta é entrada não confiável. Se o agente lê a descrição de um ticket que alguém de fora escreveu, aquele texto entra no contexto do modelo. Preferir servidor read-only, aprovar por registry e olhar quais tools de escrita realmente precisam existir é bem mais eficiente do que confiar no bom senso do modelo.


Como eu recomendo começar

  • Liga o GitHub MCP Server primeiro, é remoto, não instala nada e já resolve issue, PR e workflow.

  • Comita um .vscode/mcp.json no repo pra padronizar o time em vez de cada um montar o seu.

  • Antes de abrir pra geral, define o allowedMcpServers na enterprise, porque depois de virar hábito é muito mais chato tirar.

  • Começa com servidores de leitura. Escrita entra depois, um por um, com o motivo escrito.

  • No code review, aproveita o que já está configurado no cloud agent, o read-only já vem de graça.

No próximo post eu tiro o Copilot da IDE e levo pro terminal com o Copilot CLI, que ficou GA esse ano e tem plan mode, autopilot e delegação pra cloud agent. Comenta aí quais servidores MCP você já ligou no seu Copilot.

Referências:

https://code.visualstudio.com/docs/agent-customization/mcp-servers

https://github.blog/changelog/2026-08-06-mcp-allowlists-in-enterprise-managed-settings/

https://docs.github.com/en/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry

Fique bem e até a próxima.

#githubcopilot #mcp #copilot #ia #agentes #datainaction

#githubcopilot#mcp#copilot#ia#agentes#datainaction

Gostou? Tem mais no YouTube e no LinkedIn.

← Voltar ao blog