Предпосылка
Прежде чем настраивать MCP-сервер для Copilot облачный агент, прочитайте Протокол контекста модели (MCP) и облачный агент GitHub Copilot , чтобы убедиться, что вы понимаете концепции вокруг MCP-серверов и Copilot облачный агент.
Introduction
Администратор репозитория позволяет настроить серверы MCP для использования в репозитории. Для этого используется конфигурация в формате JSON, указывающая сведения о серверах MCP, которые вы хотите использовать. Вы вводите конфигурацию JSON напрямую в настройки репозитория на GitHub.com.
Администраторы организаций и предприятий также могут настраивать MCP-серверы в рамках Пользовательские агенты использования YAML frontmatter. Дополнительные сведения см. в разделе Настройка пользовательских агентов.
Предупреждение
После настройки MCP-сервера Copilot вы сможете самостоятельно пользоваться инструментами, предоставленными сервером, и не будут спрашивать вашего одобрения перед их использованием.
Примечание.
* Copilot облачный агент поддерживает только инструменты, предоставляемые серверами MCP. Он не поддерживает ресурсы или запросы. * Copilot облачный агент в настоящее время не поддерживает удалённые MCP-серверы, использующие OAuth для аутентификации и авторизации.
Добавление конфигурации 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 среде, поддерживаются следующие синтаксические паттерны:
| Syntax | Пример |
|---|---|
$VAR | $COPILOT_MCP_API_KEY |
${VAR} | ${COPILOT_MCP_API_KEY} |
${VAR:-default} | ${COPILOT_MCP_API_KEY:-fallback_value} |
Примеры конфигураций
Примеры ниже показывают конфигурации серверов MCP для разных провайдеров.
Пример: Sentry
[Сервер Sentry MCP](https://github.com/getsentry/sentry-mcp) предоставляет Copilot аутентифицированный доступ к исключениям, записанным в [Sentry](https://sentry.io).
// 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"],
"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"],
"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"
}
}
}
}
Пример: понятие
[Сервер MCP Notion](https://github.com/makenotion/notion-mcp-server) предоставляет Copilot аутентифицированный доступ к заметкам и другому контенту от [Notion](https://notion.so).
// 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 cloud-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
MCP-сервер Azure DevOps создает бесшовное соединение между Copilot и вашими Azure DevOps-сервисами, включая рабочие элементы, конвейеры или документацию.
Чтобы использовать Azure DevOps MCP-сервер с Copilot облачный агент, необходимо обновить copilot-setup-steps.yml файл репозитория, включив Azure этап входа.
-
Настройте OIDC в Microsoft Entra приложении, доверяя 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 облачный агент выполнении. -
В окружении Copilot вашего репозитория добавьте секреты для вашего
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, который появится в таймлайне задачи.
- Нажмите на созданный pull request в таймлайне и дождитесь, пока появится событие «Copilot начал работу».
- Нажмите «Просмотр сессии », чтобы открыть Copilot облачный агент логи.
- Нажмите кнопку многоточия (...) в правом верхнем углу просмотра журналов, затем нажмите Copilot в боковой панели.
- Щелкните шаг "Пуск СЕРВЕРА MCP"**, **чтобы развернуть журналы.
- Если серверы MCP успешно запущены, вы увидите их инструменты, перечисленные в нижней части журналов.
Если вашим MCP-серверам нужны зависимости, которые по умолчанию не установлены на GitHub Actions Runner, uv например и pipx, или требуют специальных шагов настройки, возможно, потребуется создать copilot-setup-steps.yml файл рабочего процесса Actions для их установки. Дополнительные сведения см. в разделе Настройка среды разработки.
Настройка встроенного GitHub MCP-сервера
GitHub MCP-сервер по умолчанию активирован и подключается 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 в поле «Значение», затем нажмите «Добавить секрет».
Для информации об использовании GitHub MCP-сервера в других условиях см. Использование GitHub MCP сервера в вашем IDE.