Предварительные требования
Прежде чем настроить сервер MCP для Агент кодирования Copilot, прочитайте Протокол контекста модели (MCP) и кодирующий агент GitHub Copilot , чтобы убедиться, что вы понимаете основные понятия для серверов MCP и Агент кодирования Copilot.
Введение
Администратор репозитория позволяет настроить серверы MCP для использования в репозитории. Для этого используется конфигурация в формате JSON, указывающая сведения о серверах MCP, которые вы хотите использовать. Вы вводите конфигурацию JSON непосредственно в параметры репозитория на GitHub.com.
Администраторы организации и предприятия также могут настраивать серверы MCP как часть Пользовательские агенты с помощью YAML frontmatter. Дополнительные сведения см. в разделе Настройка пользовательских агентов.
Предупреждение
После настройки сервера MCP Copilot сможет использовать средства, предоставляемые сервером автономно, и не будет запрашивать утверждение перед их использованием.
Добавление конфигурации MCP в репозиторий
Администраторы репозитория могут настроить серверы MCP, выполнив следующие действия.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
В разделе "Код и автоматизация" боковой панели щелкните Copilot и Агент программирования.
-
Добавьте конфигурацию в раздел конфигурации MCP.
В следующих разделах этой статьи объясняется, как записать конфигурацию JSON, которую необходимо ввести здесь.
-
Нажмите кнопку Сохранить.
Ваша конфигурация будет проверена, чтобы обеспечить правильный синтаксис.
-
Если ваш MCP-сервер требует переменной, ключ или секрет, добавьте переменную или секрет в среду Copilot. В вашей конфигурации MCP будут доступны только переменные и секреты с префиксом
COPILOT_MCP_имен. Сведения о настройке среды Copilot для Агент кодирования Copilot.
Написание конфигурации JSON для серверов MCP
Серверы MCP настраивают с помощью специального формата JSON. JSON должен содержать mcpServers объект, где ключ — это имя сервера MCP (например, sentry), а значение — объект с конфигурацией для этого сервера 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 ],
...
},
...
}
}
Объект конфигурации может содержать следующие ключи:
**Обязательные ключи для локальных и удаленных серверов MCP**
*
tools (string[]): Средства с сервера MCP для включения. Вы можете найти список инструментов в документации сервера или в коде. Настоятельно рекомендуется использовать специальные средства только для чтения, так как агент сможет использовать эти средства автономно и не попросит вас сначала утвердить. Вы также можете включить все средства, в том числе * в массив.
*
type (string): Агент кодирования Copilot принимают "local", "stdio", "http", или "sse".
**Локальные ключи MCP**
*
command (string): Обязательный. Команда, выполняемая для запуска сервера MCP.
*
args (string[]): Обязательный. Аргументы, которые необходимо передать в command.
*
env (object): Необязательно. Переменные среды для передачи серверу. Этот объект должен отображать имя переменной среды, которая должна быть доступна вашему MCP-серверу, в одну из следующих версий:
-
Ссылка на подстановку на секрет или переменную в вашей среде Copilot, например
$COPILOT_MCP_API_KEY, или${COPILOT_MCP_API_KEY}. Ссылки на названия должны начинаться сCOPILOT_MCP_. -
Буквальное значение строки.
**Удаленные ключи MCP** -
`url` (`string`): Обязательный. URL-адрес сервера MCP. -
`headers` (`object`): Необязательно. Заголовки для присоединения к запросам к серверу. Этот объект должен сопоставить имена заголовочных ключей с одним из следующих элементов:- Ссылка на подстановку на секрет или переменную в вашей среде Copilot, например
$COPILOT_MCP_API_KEY, или${COPILOT_MCP_API_KEY}. Ссылки на названия должны начинаться сCOPILOT_MCP_. - Буквальное значение строки.
- Ссылка на подстановку на секрет или переменную в вашей среде Copilot, например
Обратите внимание, что все string поля и string[] поддерживают tools & type подстановку переменной или секретом, который вы настроили в среде Copilot.
Замена переменных
Для ссылок на переменные среды, настроенные в вашей среде Copilot, поддерживаются следующие синтаксические шаблоны:
| Синтаксис | Пример |
|---|---|
$VAR | $COPILOT_MCP_API_KEY |
${VAR} | ${COPILOT_MCP_API_KEY} |
${VAR:-default} | ${COPILOT_MCP_API_KEY:-fallback_value} |
Примеры конфигураций
Примеры ниже показывают конфигурации серверов MCP для разных провайдеров.
-
[Часовой](#example-sentry) -
[Понятие](#example-notion) -
[Azure](#example-azure) -
[Cloudflare](#example-cloudflare) -
[Azure DevOps](#example-azure-devops) -
[Atlassian](#example-atlassian)
Пример: Sentry
Сервер Sentry MCP предоставляет Copilot прошедший проверку подлинности доступ к исключениям, записанным в 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"
}
}
}
}
Пример: понятие
Сервер Notion MCP предоставляет Copilot прошедший проверку подлинности доступ к заметкам и другому содержимому из представления.
// 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": ["*"]
}
}
}
Пример: Azure
Репозиторий Microsoft MCP включает Azure MCP-сервер, который позволяет Copilot понимать ваши Azure-специфические файлы и Azure ресурсы в подписке при внесении изменений в код.
Чтобы автоматически настроить репозиторий с помощью copilot-setup-steps.yml файла для аутентификации с помощью Azure, а также секретов для аутентификации, клонируйте репозиторий локально, а затем запустите команду Azure Developer CLIazd coding-agent config в корне репозитория.
После выполнения команды и объединения созданного запроса на вытягивание вы можете добавить конфигурацию MCP в свой репозиторий.
{
"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": ["*"]
}
}
}
Пример: Cloudflare
Сервер Cloudflare MCP создает подключения между службами Cloudflare, включая обработку документации и анализа данных.
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
Пример: Azure DevOps
Сервер Azure DevOps MCP создаёт бесшовное соединение между Copilot и вашими Azure DevOps сервисами, включая рабочие элементы, конвейеры или документацию.
Чтобы использовать Azure DevOps MCP-сервер с Агент кодирования Copilot, необходимо обновить copilot-setup-steps.yml файл репозитория, включив Azure шаг процесса входа.
-
Configure OIDC in a Microsoft Entra application, trusting GitHub. См. Используйте действие Azure Login с OpenID Connect.
-
Настройте доступ к организации и проектам Azure DevOps для идентификации приложения. См. статью "Добавление пользователей организации" и управление доступом.
-
Добавьте файл рабочего процесса Actions в репозиторий
.github/workflows/copilot-setup-steps.yml, если его еще нет. -
Добавьте Azure шаг входа в рабочий процесс
copilot-setup-steps.YAML # Этот рабочий процесс использует действия, которые не сертифицированы GitHub. # Они предоставляются сторонним поставщиком, и на них распространяются # отдельные условия обслуживания, политика конфиденциальности и поддержка # документации. 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# Этот рабочий процесс использует действия, которые не сертифицированы GitHub. # Они предоставляются сторонним поставщиком, и на них распространяются # отдельные условия обслуживания, политика конфиденциальности и поддержка # документации. 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Эта конфигурация гарантирует
azure/loginвыполнение действия при выполнении Агент кодирования Copilot . -
В среде данных репозитория variables.product.prodname_copilot_short %} добавьте секреты для вашего
AZURE_CLIENT_IDиAZURE_TENANT_ID. -
Настройте Azure DevOps MCP-сервер, добавив объект
adoв конфигурацию MCP с определёнными инструментами, которые вы хотите использовать Агент кодирования Copilot.
{
"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", ...]
}
}
}
Пример: Atlassian
[Atlassian MCP-сервер](https://github.com/atlassian/atlassian-mcp-server) предоставляет Copilot аутентифицированный доступ к вашим приложениям Atlassian, включая Jira, Compass и Confluence.
Для получения дополнительной информации об аутентификации на сервере Atlassian MCP с использованием ключа API см. раздел «Конфигурирование аутентификации через API token» в документации 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"
}
}
}
}
Повторное использовать конфигурацию MCP из Visual Studio Code
Если серверы MCP уже настроены в VS Code, можно использовать аналогичную конфигурацию для Агент кодирования Copilot.
В зависимости от настройки VS Code вы можете найти параметры MCP в файле репозитория .vscode/mcp.json или в частном settings.json файле компьютера.
Чтобы адаптировать конфигурацию для Агент кодирования Copilot, вам потребуется:
-
`tools` Добавьте ключ для каждого сервера MCP, указав, какие средства будут доступны для Copilot. - Если вы настроили,
inputsпереключитесь на использованиеenvнапрямую. - Если вы настроили параметр
envFile, переключитесь на использованиеenvнапрямую. - Обновите все ссылки
inputsна конфигурациюargs, чтобы вместо этого ссылаться на переменныеenvсреды.
Дополнительные сведения о MCP в VS Codeсм. в документации VS Code.
Настройка среды Copilot для Агент кодирования Copilot
Для некоторых серверов MCP требуются ключи или секреты. Чтобы использовать эти серверы в Агент кодирования Copilot, можно добавить секреты в среду для Copilot. Это гарантирует, что секреты правильно распознаются и передаются на соответствующий сервер MCP, настроенный вами.
Необходимо быть администратором репозитория, чтобы настроить среду Copilot для репозитория.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
На левой боковой панели щелкните Среды.
-
Выберите Новая среда.
-
Вызовите новую среду
copilotи нажмите кнопку "Настроить среду". -
В разделе "Секреты среды" нажмите кнопку "Добавить секрет среды".
-
Присвойте секрету имя,
COPILOT_MCP_добавьте значение секрета, а затем нажмите кнопку "Добавить секрет".
Проверка конфигурации MCP
После настройки конфигурации MCP необходимо протестировать его, чтобы убедиться, что он настроен правильно.
- Создайте проблему в репозитории, а затем назначьте ее Copilot.
- Подождите несколько секунд, и Copilot оставят 👀 реакцию на проблему.
- Подождите несколько секунд, и Copilot создаст запрос на вытягивание, который будет отображаться на временной шкале проблемы.
- Нажмите на созданный pull request в таймлайне и дождитесь, пока появится событие «Copilot начал работу».
- Щелкните "Просмотреть сеанс", чтобы открыть журналы Агент кодирования Copilot.
- Нажмите кнопку с многоточием (...) в правом верхнем углу средства просмотра журналов, а затем выберите Copilot на боковой панели.
- Щелкните шаг "Пуск СЕРВЕРА MCP"**, **чтобы развернуть журналы.
- Если серверы MCP успешно запущены, вы увидите их инструменты, перечисленные в нижней части журналов.
Если серверы MCP требуют каких-либо зависимостей, которые не установлены в средстве выполнения GitHub Actions по умолчанию, например uv и ( или pipx) необходимы специальные действия по настройке, может потребоваться создать copilot-setup-steps.yml файл рабочего процесса Actions для их установки. Дополнительные сведения см. в разделе Настройка среды разработки для программистского агента GitHub Copilot.
Настройка встроенного сервера MCP GitHub
Сервер MCP GitHub включен по умолчанию и подключается к GitHub с специально заданным маркером, который имеет доступ только для чтения к текущему репозиторию.
Если вы хотите разрешить Copilot доступ к данным за пределами текущего репозитория, можно предоставить ему personal access token с более широким доступом.
-
Создайте personal access token с соответствующими разрешениями. Мы рекомендуем использовать fine-grained personal access token, где можно ограничить доступ маркера к разрешениям только для чтения для определенных репозиториев. Дополнительные сведения о personal access tokensсм. в разделе Управление личными маркерами доступа.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
В разделе "Код и автоматизация" боковой панели щелкните Copilot и Агент программирования.
-
Добавьте конфигурацию в раздел конфигурации MCP. Например, вы можете добавить следующее:
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" } } } }Для получения дополнительной информации о наборах инструментов обратитесь к README в документации GitHub Remote MCP Server.
-
Нажмите кнопку Сохранить.
-
На левой боковой панели щелкните Среды.
-
`copilot` Щелкните среду. -
В разделе "Секреты среды" нажмите кнопку "Добавить секрет среды".
-
Вызовите секрет
COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN, введите personal access token в поле "Значение", а затем нажмите кнопку "Добавить секрет".
Сведения об использовании сервера MCP GitHub в других средах см. в разделе Использование сервера GitHub MCP.
Следующие шаги
-
[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)