Skip to main content

Добавление MCP-серверов для интерфейс командной строки GitHub Copilot

Расширить Copilotвозможности , подключив серверы протокола Model Context Protocol (MCP) для предоставления дополнительных инструментов и контекста.

Протокол контекста модели (MCP) — это открытый стандарт, определяющий, как приложения используют контекст с большими языковыми моделями (LLM). Вы можете подключить MCP-серверы, интерфейс командной строки GitHub Copilot чтобы получить Copilot доступ к внешним инструментам, источникам данных и сервисам. Общие сведения о MCP см. в разделе О протоколе контекста модели (MCP).

Добавление сервера MCP

Примечание.

MCP-сервер встроен и GitHub уже доступен без дополнительной Второй пилот CLI конфигурации. Ниже приведены шаги для добавления других MCP-серверов.

Если ваша организация или предприятие настроили URL реестра и политику списка разрешений, эти настройки применимы к Второй пилот CLI. Настроенный URL реестра будет отображаться как источник обнаружения, и запускаться могут только серверы, разрешённые политикой списка разрешений.

Вы можете добавлять MCP-серверы следующим образом:

Инструкции по установке, доступные инструменты и URL-адреса для конкретных серверов MCP см. GitHub Реестр MCP.

Использование /mcp add команды

  1. В интерактивном режиме введите /mcp add. Отображается форма конфигурации. Используйте вкладку для навигации между полями.

  2. Рядом с именем сервера введите уникальное имя для MCP-сервера. Это имя, которое вы будете использовать для обозначения сервера.

  3. Рядом с типом сервера выберите тип, нажав соответствующее число. Доступны следующие типы:

    • Локальный или STDIO: запускает локальный процесс и общается по стандартному входу/выводу (stdin/stdout). Оба варианта работают одинаково. STDIO — это стандартное название протокола MCP, поэтому выберите его, если хотите, чтобы ваша конфигурация была совместима с VS Code, и Copilot облачный агентдругими MCP-клиентами.
    • HTTP или SSE: подключается к удалённому MCP-серверу. HTTP использует потоковый HTTP-транспорт. SSE использует устаревший HTTP с транспортом Server-Sent Events, который устарел в спецификации MCP, но всё ещё поддерживается для обратной совместимости.
  4. Оставшиеся поля зависят от выбранного типа сервера:

    • Если вы выбрали локальную или STDIO:

      • Рядом с командой введите команду для запуска сервера, включая любые аргументы. Например: npx @playwright/mcp@latest. Это соответствует свойствам и command``args в конфигурационном файле JSON.
      • Рядом с переменными среды, по желанию, указывайте переменные среды, необходимые серверу, такие как ключи API или токёны, в виде пар ключ-значение JSON. Например: {"API_KEY": "YOUR-API-KEY"}. Переменная PATH автоматически наследуется от вашей среды. Все остальные переменные среды должны быть настроены здесь.
    • Если вы выбрали HTTP или SSE:

      • Рядом с URL вставьте URL удалённого сервера. Например: https://mcp.context7.com/mcp.
      • Рядом с HTTP-заголовками, по желанию, указывайте HTTP-заголовки как JSON. Например: {"CONTEXT7_API_KEY": "YOUR-API-KEY"}.
  5. Рядом с разделом «Инструменты» укажите, какие инструменты с сервера должны быть доступны. Введите * , чтобы включить все инструменты, или предоставить список имён инструментов с разделёнными запятой (кавычки не требуются). Значение по умолчанию — *.

  6. Нажмите Ctrl+S , чтобы сохранить конфигурацию. MCP-сервер добавляется и доступен сразу без перезапуска CLI.

Использование copilot mcp add подкоманды

Вы можете добавить MCP-серверы из терминала с помощью copilot mcp add подкоманды, не переходя в интерактивный режим. Сервер добавляется в пользовательскую конфигурацию в ~/.copilot/mcp-config.json.

Для локальных (stdio) серверов задайте команду после --:

Shell
copilot mcp add SERVER-NAME -- COMMAND [ARGS...]

Для удалённых (HTTP/SSE) серверов укажите транспорт и укажите URL:

Shell
copilot mcp add --transport http SERVER-NAME URL

Вы также можете пройти дополнительные варианты:

  • --env KEY=VALUE: Задать переменные среды для сервера. Повторяйте для нескольких переменных.
  • --header "HEADER: VALUE": Задайте HTTP-заголовки для удалённых серверов. Повторяйте для нескольких заголовков.
  • --transport TRANSPORT: Установить тип транспорта (stdio, http, или sse). Значение по умолчанию — stdio.
  • --tools TOOLS: Укажите, какие инструменты включать. Используйте * для всех инструментов (по умолчанию), список с разделёнными запятыми или "" для их отсутствия.
  • --timeout MS: Установить тайм-аут в миллисекундах.

Примеры

Добавьте локальный stdio сервер:

Shell
copilot mcp add context7 -- npx -y @upstash/context7-mcp

Добавьте локальный сервер с переменными среды:

Shell
copilot mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

Добавьте удалённый HTTP-сервер:

Shell
copilot mcp add --transport http notion \
  https://mcp.notion.com/mcp

Добавьте удалённый сервер с заголовком авторизации:

Shell
copilot mcp add --transport http \
  --header "Authorization: Bearer YOUR-TOKEN" \
  stripe https://mcp.stripe.com

Редактирование конфигурационного файла

Вы также можете добавить MCP-серверы, отредактировав конфигурационный файл по ~/.copilot/mcp-config.jsonадресу . Это полезно, если вы хотите делиться конфигурациями или добавлять несколько серверов одновременно.

Следующий пример показывает конфигурационный файл с локальным сервером и удалённым HTTP-сервером:

JSON
{
  "mcpServers": {
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {},
      "tools": ["*"]
    },
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "YOUR-API-KEY"
      },
      "tools": ["*"]
    }
  }
}

Для получения дополнительной информации о конфигурации сервера MCP см. Настройте MCP-серверы для вашего репозитория.

Добавление серверов MCP для каждого репозитория

Серверы MCP можно настроить для определенного проекта, добавив JSON-файл в репозиторий. Это полезно, если вы хотите, чтобы серверы были доступны только при работе в этом проекте или если вы хотите предоставить общий доступ к настройке MCP с участниками совместной работы, зафиксировав его в репозитории.

Второй пилот CLI ищет конфигурацию уровня проекта в следующих расположениях:

ПутьРекомендуемое использование
.mcp.json (в любом каталоге из рабочего каталога до корневого каталога репозитория)Локальная или локальная конфигурация для каждого заказа; обычно помещается в корневой каталог проекта
.github/mcp.jsonОбщая конфигурация, зафиксированная в репозитории

При запуске Второй пилот CLI в репозитории Git интерфейс командной строки проходит от текущего рабочего каталога до корневого каталога репозитория, загружая файлы конфигурации MCP по пути. Если оба .mcp.json и .github/mcp.json существуют в одном каталоге, .mcp.json имеет приоритет. При конфликте имен серверов определения в файлах ближе к рабочему каталогу имеют приоритет. определения уровня Project также имеют приоритет над определениями в ~/.copilot/mcp-config.json. Дополнительные сведения об относительном доверии см. в разделе Справочник команды GitHub Copilot CLI.

файлы уровня Project могут использовать mcpServers либо объект верхнего уровня, показанный в ~/.copilot/mcp-config.jsonформате верхнего уровня, где каждый ключ является именем сервера MCP. Например, эта конфигурация использует mcpServers объект:

JSON
{
  "mcpServers": {
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Тот же сервер также можно настроить с использованием формата верхнего уровня:

JSON
{
  "playwright": {
    "type": "local",
    "command": "npx",
    "args": ["@playwright/mcp@latest"]
  }
}

Примечание.

серверы MCP уровня Project загружаются только после подтверждения доверия к папке при первом запуске. Они молча пропускаются в ненадежных каталогах. Дополнительные сведения о доверии к папкам см. в разделе О GitHub Copilot CLI.

В режиме запроса (copilot -p) серверы MCP уровня проекта загружаются автоматически, если текущий каталог уже является доверенным. Если каталог не является доверенным, серверы MCP уровня проекта пропускаются по умолчанию. Чтобы загрузить их, задайте для переменной GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP``trueсреды значение , так как режим запроса не может отображать интерактивный запрос доверия. Дополнительные сведения см. в разделе Справочник команды GitHub Copilot CLI.

Файл .vscode/mcp.json для VS Code файла не считывается Второй пилот CLI. В нем используется неподдерживаемый ключ serversверхнего уровня. Сведения о переносе существующего .vscode/mcp.json в формат, который принимает CLI, см. в разделе Справочник команды GitHub Copilot CLI.

Поиск и установка из реестра

Примечание.

Команда /mcp search в настоящее время является экспериментальной функцией. Чтобы воспользоваться им, начните Второй пилот CLI с ‑‑experimental командной строки или введите /experimental on во время сессии.

Вы можете обнаружить и установить MCP-серверы напрямую из GitHub реестра MCP с помощью /mcp search команды в интерактивном режиме. Это позволяет просматривать доступные серверы, просматривать их данные и устанавливать их без ручного заполнения формы конфигурации.

Если ваша организация настроила пользовательский URL реестра MCP, /mcp search он подключается к этому реестру, а не к стандартному GitHub .

  1. В интерактивном режиме входите /mcp search , чтобы просматривать топовые серверы по звёздам или /mcp search QUERY искать конкретный сервер. Рассмотрим пример.

    /mcp search context7
    
  2. Отображается навигационный по клавиатуре список соответствующих серверов. Используйте стрелки, чтобы просмотреть результаты.

  3. Выберите сервер, чтобы открыть его форму конфигурации. Форма заранее заполняется конфигурацией сервера из реестра. Заполните необходимые поля, такие как ключи API или токены.

  4. Нажмите Ctrl+S для сохранения. Сервер добавляется в ваш mcp-config.json сервер и запускается сразу.

Управление серверами MCP

Вы можете управлять настроенными MCP-серверами с помощью /mcp команд в интерактивном режиме или copilot mcp подкоманд из терминала.

Использование /mcp команд в интерактивном режиме

  • Список настроенных MCP-серверов: Используй команду /mcp show. Он отображает все настроенные MCP-серверы и их текущий статус.

  • Подробнее о конкретном сервере: Используй команду /mcp show SERVER-NAME. Он отображает статус указанного сервера и список предоставляемых им инструментов.

  • Редактировать конфигурацию сервера: Используй команду /mcp edit SERVER-NAME.

  • Удалить сервер: Используй команду /mcp delete SERVER-NAME.

  • Отключите сервер: Используй команду /mcp disable SERVER-NAME. Отключённый сервер остаётся настроенным, но не используется Copilot для текущей сессии.

  • Включите ранее отключённый сервер: Используй команду /mcp enable SERVER-NAME.

Использование copilot mcp подкоманд с терминала

Вы также можете управлять MCP-серверами из терминала без перехода в интерактивный режим.

  • Перечислите все настроенные серверы:

    Shell
    copilot mcp list
    

    Перечисляет серверы из всех источников конфигурации (пользователь, рабочее пространство и плагин). Добавьте --json для JSON-вывода.

  • Посмотрите детали сервера:

    Shell
    copilot mcp get SERVER-NAME
    

    Показывает тип сервера, статус и доступные инструменты. Добавьте --json для JSON-вывода.

  • Удаление сервера:

    Shell
    copilot mcp remove SERVER-NAME
    

    Удаляет сервер из конфигурации пользователя.

Использование серверов MCP

После добавления MCP-сервера можно Copilot автоматически использовать предоставленные инструменты по актуальности для вашего запроса. Вы также можете напрямую ссылаться на MCP-сервер и конкретные инструменты в запросе, чтобы убедиться, что они используются.

Дополнительные материалы