Pré-requisito
Antes de configurar um servidor MCP para agente de codificação Copilot, leia Protocolo de Contexto de Modelo (MCP) e agente de codificação GitHub Copilot para garantir que você entenda os conceitos relacionados a servidores MCP e o agente de codificação Copilot.
Introdução
Como administrador de repositório, você pode configurar servidores MCP para uso em seu repositório. Isso é feito por meio de uma configuração formatada em JSON que especifica os detalhes dos servidores MCP que você deseja usar. Insira a configuração JSON diretamente nas configurações do repositório em GitHub.com.
Administradores de organizações e empresas também podem configurar servidores MCP como parte de agentes personalizados usando o frontmatter YAML. Para saber mais, confira Configuração de agentes personalizados.
Aviso
Depois de configurar um servidor MCP, o Copilot poderá usar as ferramentas fornecidas pelo servidor de maneira autônoma, sem solicitar sua aprovação antes de usá-las.
Limitações do agente de codificação do Copilot
Adicionar uma configuração do MCP ao seu repositório
Os administradores do repositório podem configurar servidores MCP seguindo estas etapas:
Navegue até o repositório 1. Em GitHub, acesse a página principal do repositório. Configurações na barra lateral 1. No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

-
Na seção "Código & automação" da barra lateral, clique em Copilot e em seguida em Agente de codificação.
-
Adicione sua configuração na seção MCP configuration.
As seções a seguir neste artigo explicam como escrever a configuração JSON que você precisa inserir aqui.
-
Clique em Salvar.
Sua configuração será validada para garantir a sintaxe adequada.
-
Se o seu servidor MCP exigir uma variável, chave ou segredo, adicione uma variável ou segredo ao seu ambiente Copilot. Somente variáveis e segredos com nomes prefixados
COPILOT_MCP_estarão disponíveis para a configuração do MCP. Confira Como configurar um ambiente do Copilot para o agente de codificação Copilot.
Escrever uma configuração JSON para servidores MCP
Você configura servidores MCP usando um formato JSON especial. O JSON deve conter um objeto mcpServers, em que a chave é o nome do servidor MCP (por exemplo, sentry) e o valor é um objeto com a configuração desse servidor MCP.
{
"mcpServers": {
"MCP SERVER 1": {
"command": "VALUE",
"args": [ VALUES ],
...
},
"MCP SERVER 2": {
"command": "VALUE",
"args": [ VALUES ],
...
},
...
}
}
{
"mcpServers": {
"MCP SERVER 1": {
"command": "VALUE",
"args": [ VALUES ],
...
},
"MCP SERVER 2": {
"command": "VALUE",
"args": [ VALUES ],
...
},
...
}
}
O objeto de configuração pode conter as seguintes chaves:
**Chaves necessárias para servidores MCP locais e remotos**
*
tools (string[]): as ferramentas do servidor MCP para habilitar. Você pode encontrar uma lista de ferramentas na documentação do servidor ou em seu código. É altamente recomendável permitir a lista de ferramentas específicas somente leitura, pois o agente poderá usar essas ferramentas de maneira autônoma e não solicitará aprovação primeiro. Você também pode habilitar todas as ferramentas incluindo * na matriz.
*
type(string): agente de codificação Copilot aceita "local", "stdio", ou "http", "sse".
**Chaves específicas do MCP local**
*
command (string): obrigatório. O comando a ser executado para iniciar o servidor MCP.
*
args (string[]): obrigatório. Os argumentos a serem passados a command.
*
env (object): opcional. As variáveis de ambiente a serem passadas para o servidor. Esse objeto deve mapear o nome da variável de ambiente que deve ser exposta ao servidor MCP para um dos seguintes:
-
Uma referência de substituição a um segredo ou variável em seu ambiente Copilot , como
$COPILOT_MCP_API_KEYou${COPILOT_MCP_API_KEY}. Os nomes referenciados devem começar comCOPILOT_MCP_. -
Um valor de cadeia de caracteres literal.
**Chaves específicas do MCP remoto** -
`url` (`string`): obrigatório. A URL do servidor MCP. -
`headers` (`object`): opcional. Os cabeçalhos a serem anexados às solicitações ao servidor. Esse objeto deve mapear o nome das chaves de cabeçalho para um dos seguintes:- Uma referência de substituição a um segredo ou variável em seu ambiente Copilot , como
$COPILOT_MCP_API_KEYou${COPILOT_MCP_API_KEY}. Os nomes referenciados devem começar comCOPILOT_MCP_. - Um valor de cadeia de caracteres literal.
- Uma referência de substituição a um segredo ou variável em seu ambiente Copilot , como
Observe que todos os campos string e string[], além de tools & type, dão suporte à substituição por uma variável ou segredo configurado em seu ambiente Copilot.
Substituição de variável
Estão disponíveis os seguintes padrões de sintaxe para referenciar as variáveis de ambiente configuradas no seu ambiente Copilot:
| Sintaxe | Exemplo |
|---|---|
$VAR | $COPILOT_MCP_API_KEY |
${VAR} | ${COPILOT_MCP_API_KEY} |
${VAR:-default} | ${COPILOT_MCP_API_KEY:-fallback_value} |
Configurações de exemplo
Os exemplos abaixo mostram as configurações do servidor MCP para provedores diferentes.
-
[Sentry](#example-sentry) -
[Notion](#example-notion) -
[Azure](#example-azure) -
[Cloudflare](#example-cloudflare) -
[Azure DevOps](#example-azure-devops) -
[Atlassian](#example-atlassian)
Exemplo: Sentry
O servidor MCP do Sentry dá ao Copilot acesso autenticado a exceções registradas no Sentry.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"sentry": {
"type": "local",
"command": "npx",
// We can use the $SENTRY_HOST environment variable which is passed to
// the server because of the `env` value below.
"args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
"tools": ["get_issue_details", "get_issue_summary"],
"env": {
// We can specify an environment variable value as a string...
"SENTRY_HOST": "https://contoso.sentry.io",
// or refer to a variable or secret in your Copilot environment
// with a name starting with `COPILOT_MCP_`
"SENTRY_ACCESS_TOKEN": "$COPILOT_MCP_SENTRY_ACCESS_TOKEN"
}
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"sentry": {
"type": "local",
"command": "npx",
// We can use the $SENTRY_HOST environment variable which is passed to
// the server because of the `env` value below.
"args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
"tools": ["get_issue_details", "get_issue_summary"],
"env": {
// We can specify an environment variable value as a string...
"SENTRY_HOST": "https://contoso.sentry.io",
// or refer to a variable or secret in your Copilot environment
// with a name starting with `COPILOT_MCP_`
"SENTRY_ACCESS_TOKEN": "$COPILOT_MCP_SENTRY_ACCESS_TOKEN"
}
}
}
}
Exemplo: Notion
O servidor MCP do Notion dá ao Copilot acesso autenticado a anotações e outros conteúdos do Notion.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"notionApi": {
"type": "local",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
// We can use the $NOTION_API_KEY environment variable which is passed to
// the server because of the `env` value below.
"OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
"mcp/notion"
],
"env": {
// The value of the `COPILOT_MCP_NOTION_API_KEY` secret will be passed to the
// server command as an environment variable called `NOTION_API_KEY`
"NOTION_API_KEY": "$COPILOT_MCP_NOTION_API_KEY"
},
"tools": ["*"]
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"notionApi": {
"type": "local",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
// We can use the $NOTION_API_KEY environment variable which is passed to
// the server because of the `env` value below.
"OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
"mcp/notion"
],
"env": {
// The value of the `COPILOT_MCP_NOTION_API_KEY` secret will be passed to the
// server command as an environment variable called `NOTION_API_KEY`
"NOTION_API_KEY": "$COPILOT_MCP_NOTION_API_KEY"
},
"tools": ["*"]
}
}
}
Exemplo: Azure
O repositório MCP da Microsoft inclui o servidor MCP do Azure, que permite que Copilot entenda seus arquivos específicos do Azure e recursos do Azure na sua assinatura ao fazer alterações de código.
Para configurar automaticamente o repositório com um arquivo copilot-setup-steps.yml para autenticar com Azure, além de segredos para autenticação, clone o repositório localmente e execute o comando Azure Developer CLIazd coding-agent config na raiz do repositório.
Depois de executar o comando e mesclar a solicitação de pull criada, você poderá adicionar a configuração do MCP ao repositório.
{
"mcpServers": {
"Azure": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start"
],
"tools": ["*"]
}
}
}
{
"mcpServers": {
"Azure": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start"
],
"tools": ["*"]
}
}
}
Exemplo: Cloudflare
O servidor MCP Cloudflare cria conexões entre seus serviços do Cloudflare, incluindo documentação de processamento e análise de dados.
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
Exemplo: Azure DevOps
O servidor MCP Azure DevOps cria uma conexão perfeita entre Copilot e seus serviços do Azure DevOps, incluindo itens de trabalho, pipelines ou documentação.
Para usar o servidor de MCP do Azure DevOps com o agente de codificação Copilot, você deve atualizar o arquivo copilot-setup-steps.yml do repositório para incluir uma etapa de fluxo de trabalho de logon do Azure.
-
Configure o OIDC em um aplicativo do Microsoft Entra, confiando em GitHub. Consulte Use a ação de login do Azure com o OpenID Connect.
-
Configurar o acesso à organização e aos projetos do Azure DevOps para a identidade do aplicativo. Confira Adicionar usuários da organização e gerenciar o acesso.
-
Adicione um arquivo de fluxo de trabalho
.github/workflows/copilot-setup-steps.ymlActions em seu repositório se ainda não tiver um. -
Adicione uma etapa de logon no Azure ao trabalho de fluxo de trabalho
copilot-setup-steps.YAML # Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub. # São fornecidas por terceiros e regidas por # termos de serviço, política de privacidade e suporte separados # online. on: workflow_dispatch: permissions: id-token: write contents: read jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: id-token: write contents: read environment: copilot steps: - name: Azure login uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} allow-no-subscriptions: true# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub. # São fornecidas por terceiros e regidas por # termos de serviço, política de privacidade e suporte separados # online. on: workflow_dispatch: permissions: id-token: write contents: read jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: id-token: write contents: read environment: copilot steps: - name: Azure login uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} allow-no-subscriptions: trueEssa configuração garante que a ação
azure/loginseja executada quando o agente de codificação Copilot é executado. -
No ambiente do Copilot do seu repositório, adicione segredos para
AZURE_CLIENT_IDeAZURE_TENANT_ID. -
Configure o servidor de MCP do Azure DevOps adicionando um objeto
adoà sua configuração de MCP com ferramentas definidas que você deseja que o agente de codificação Copilot use.
{
"mcpServers": {
"ado": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-azure-devops-organization>", "-a", "azcli"],
"tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids", ...]
}
}
}
{
"mcpServers": {
"ado": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-azure-devops-organization>", "-a", "azcli"],
"tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids", ...]
}
}
}
Exemplo: Atlassian
O servidor MCP Atlassiano fornece Copilot acesso autenticado aos seus aplicativos Atlassian, incluindo Jira, Compass e Confluence.
Para obter mais informações sobre como autenticar no servidor MCP do Atlassian usando uma chave de API, consulte Configurar a autenticação por meio do token de API na documentação do Atlassian.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"atlassian-rovo-mcp": {
"command": "npx",
"type": "local",
"tools": ["*"],
"args": [
"mcp-remote@latest",
"https://mcp.atlassian.com/v1/mcp",
// We can use the $ATLASSIAN_API_KEY environment variable which is passed
// to the server because of the `env` value below.
"--header",
"Authorization: Basic $ATLASSIAN_API_KEY"
],
"env": {
// The value of the `COPILOT_MCP_ATLASSIAN_API_KEY` secret will be passed
// to the server command as an environment variable
// called `ATLASSIAN_API_KEY`.
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
}
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"atlassian-rovo-mcp": {
"command": "npx",
"type": "local",
"tools": ["*"],
"args": [
"mcp-remote@latest",
"https://mcp.atlassian.com/v1/mcp",
// We can use the $ATLASSIAN_API_KEY environment variable which is passed
// to the server because of the `env` value below.
"--header",
"Authorization: Basic $ATLASSIAN_API_KEY"
],
"env": {
// The value of the `COPILOT_MCP_ATLASSIAN_API_KEY` secret will be passed
// to the server command as an environment variable
// called `ATLASSIAN_API_KEY`.
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
}
}
}
}
Como reutilizar a configuração do MCP do Visual Studio Code
Se você já tiver configurado servidores MCP no VS Code, poderá aproveitar uma configuração semelhante para agente de codificação Copilot.
Dependendo de como os dados do VS Code estão configurados, você poderá encontrar as configurações do MCP no arquivo .vscode/mcp.json do repositório ou no arquivo settings.json privado do computador.
Para adaptar a configuração de dados agente de codificação Copilot, você precisará:
- Adicione uma chave
toolspara cada servidor MCP, especificando quais ferramentas estarão disponíveis para Copilot. - Se você tiver configurou o
inputs, alterne para usarenvdiretamente. - Se você tiver configurado um
envFile, alterne para usarenvdiretamente. - Atualize todas as referências a
inputsem sua configuração doargspara se referir a variáveis de ambiente deenvem vez disso.
Para obter mais informações sobre o MCP no VS Code, confira os documentos do VS Code.
Como configurar um ambiente do Copilot para o agente de codificação Copilot
Alguns servidores MCP exigirão chaves ou segredos. Para aproveitar esses servidores no agente de codificação Copilot, adicione segredos a um ambiente para Copilot. Isso garante que os segredos sejam reconhecidos corretamente e passados para o servidor MCP aplicável que você configurou.
Você deve ser um administrador de repositório para configurar um ambiente Copilot para seu repositório.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

-
Na barra lateral esquerda, clique em Ambientes.
-
Clique em Novo ambiente.
-
Chame o novo ambiente de
copilote clique em Configure environment. -
Em "Environment secrets", clique em Add environment secret.
-
Dê ao segredo um nome que comece com
COPILOT_MCP_, adicione o valor do segredo e clique em Add secret.
Como validar a configuração do MCP
Depois de definir a configuração do MCP, teste-a para verificar se está configurada corretamente.
- Crie um issue no repositório e atribua-o a Copilot.
- Aguarde alguns segundos e Copilot deixará uma reação 👀 sobre o issue.
- Aguarde mais alguns segundos e Copilot criará uma pull request, que será exibida na linha do tempo do issue.
- Clique no pull request criado na linha do tempo e aguarde até que um evento "Copilot começou a trabalhar" seja exibido.
- Clique em View session para abrir os logs do agente de codificação Copilot.
- Clique no botão de reticências (...) na parte superior direita do visualizador de log e clique em Copilot na barra lateral.
- Clique na etapa Start MCP Servers para expandir os logs.
- Se os servidores MCP tiverem sido iniciados com êxito, você verá suas ferramentas listadas na parte inferior dos logs.
Se os servidores MCP exigirem dependências que não estejam instaladas no executor GitHub Actions por padrão, como uv e pipx, ou que precisem de etapas especiais de instalação, talvez seja necessário criar um arquivo de fluxo de trabalho de Ações copilot-setup-steps.yml para instalá-las. Para saber mais, confira Personalizando o ambiente de desenvolvimento para o GitHub Copilot, agente de codificação.
Como personalizar o servidor MCP do GitHub predefinido
O servidor MCP GitHub está habilitado por padrão e se conecta ao GitHub com um token com escopo especial que só tem acesso somente leitura ao repositório atual.
Se você quiser permitir que o Copilot acesse dados fora do repositório atual, poderá fornecer a ele um personal access token com acesso mais amplo.
-
Crie um personal access token com as permissões apropriadas. É recomendável usar um fine-grained personal access token, em que você pode limitar o acesso do token a permissões somente leitura em repositórios específicos. Para obter mais informações sobre o personal access tokens, confira Gerenciar seus tokens de acesso pessoal. Navegue até o repositório 1. Em GitHub, acesse a página principal do repositório. Configurações na barra lateral 1. No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

-
Na seção "Código & automação" da barra lateral, clique em Copilot e em seguida em Agente de codificação.
-
Adicione sua configuração na seção MCP configuration. Por exemplo, você pode adicionar o seguinte:
JavaScript // If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON. { "mcpServers": { "github-mcp-server": { "type": "http", // Remove "/readonly" to enable wider access to all tools. // Then, use the "X-MCP-Toolsets" header to specify which toolsets you'd like to include. // Use the "tools" field to select individual tools from the toolsets. "url": "https://api.githubcopilot.com/mcp/readonly", "tools": ["*"], "headers": { "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search" } } } }// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON. { "mcpServers": { "github-mcp-server": { "type": "http", // Remove "/readonly" to enable wider access to all tools. // Then, use the "X-MCP-Toolsets" header to specify which toolsets you'd like to include. // Use the "tools" field to select individual tools from the toolsets. "url": "https://api.githubcopilot.com/mcp/readonly", "tools": ["*"], "headers": { "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search" } } } }Para obter mais informações sobre conjuntos de ferramentas, consulte LEIAME na documentação do GitHub Remote MCP Server.
-
Clique em Salvar.
-
Na barra lateral esquerda, clique em Ambientes.
-
Clique no ambiente
copilot. -
Em "Environment secrets", clique em Add environment secret.
-
Chame o segredo
COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN, insira seu personal access token no campo "Value" e clique em Add secret.
Para obter informações sobre como usar o servidor de MCP do GitHub em outros ambientes, consulte Usando o servidor MCP GitHub.
Próximas etapas
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents) -
[AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) -
[AUTOTITLE](/copilot/customizing-copilot/extending-copilot-chat-with-mcp)