Расширение возможностей агента Copilot: детали конфигурации VS Code MCP

В VS Code 1.99 появилась поддержка протокола Model Context Protocol.

Visual Studio Code ( VS Code В версии 1.99 был официально представлен протокол контекста модели (MCP). MCP) поддержка. MCP - это открытый стандарт, разработанный для обеспечения унифицированного интерфейса, позволяющего моделям ИИ взаимодействовать с внешними инструментами и сервисами.

MCP была введена в первую очередь для того, чтобы улучшить GitHub Copilot Режим агента. С помощью этого протокола разработчики могут настраивать сервер MCP для подключения пользовательских инструментов и служб к VS Code в рабочих процессах ИИ, что значительно расширяет возможности ИИ-помощников по выполнению широкого спектра более динамичных задач, таких как запрос данных в реальном времени, манипулирование локальными файлами или вызов определенных API.

 

Необходимые условия: включение режима агента и зависимости от среды

VS Code 1.99 будет MCP Интеграция с GitHub Второй пилот в режиме агента. Поэтому, чтобы использовать MCP сначала необходимо включить режим агента. Это можно сделать с помощью функции VS Code Это можно сделать с помощью выпадающего меню в верхней части представления "Чат".

扩展 Copilot Agent 能力:VS Code MCP 配置详解

Еще одна вещь, которую следует иметь в виду, и MCP Чаще всего приходится сталкиваться с тем, что запуск MCP Может потребоваться предварительная установка сервера Node.js, и Docker или других зависимостей. Это связано с тем, что многие MCP Серверные реализации (особенно для выполнения скриптов или контейнерных инструментов) полагаются на эти внешние среды. Это усложняет первоначальную настройку, но в то же время обеспечивает гибкость подключения к различным мощным инструментам настройки.

 

Настройка сервера MCP

существовать VS Code Средний.MCP Конфигурация ядра находится в рабочем пространстве .vscode/mcp.json внутри файла. С помощью этого JSON файл, вы можете определить один или несколько MCP серверов, режим агента будет использовать инструменты, предоставляемые этими серверами.

Шаг 1: Создайте профиль MCP

  1. Откройте папку проекта на VS Code Средний.
  2. В корневом каталоге проекта найдите или создайте файл с именем .vscode папки.
  3. существовать .vscode создайте файл с именем mcp.json документа.
  4. Добавьте следующий шаблон базовой конфигурации в mcp.json Документация:
    {
    "servers": {
    "example-server": {
    "type": "stdio",
    "command": "node",
    "args": ["path/to/your/script.js"]
    }
    }
    }
    

    В этой конфигурации:

    • servers: Объект, определяющий все MCP серверов, каждый ключ - это уникальное имя сервера (например, "example-server").
    • type: Указывает тип связи для сервера. К распространенным типам относятся:
      • stdio: Сервер подключен к серверу через стандартный вход/выход (SIO). VS Code коммуникация, обычно используемая для запуска локальных скриптов или исполняемых файлов.
      • sse: Сервер взаимодействует с помощью событий, отправляемых сервером, которые обычно используются для подключения к удаленным службам или службам, которым необходимо постоянно отправлять обновления.
    • command ответить пением args: Определяет команды и их параметры, необходимые для запуска этого сервера. В этом примере будет использоваться команда Node.js чтобы запустить указанный JavaScript Документация.

Шаг 2: Добавьте конфигурацию для конкретного сервера

Вы можете вручную редактировать mcp.json файл, чтобы добавить сервер, или вы можете использовать VS Code Удобный способ, предоставляемый командной панелью:

  1. Откройте командную панель (клавиша быстрого доступа) Ctrl+Shift+P возможно Cmd+Shift+P).
  2. Введите и запустите MCP: Add Server Командуйте.
  3. опция Workspace Settings(математика) род VS Code автоматически откроет или создаст .vscode/mcp.json файл и может предоставлять интеллектуальные подсказки (IntelliSense), чтобы помочь вам в настройке.

Ниже приведена конфигурация с именем fetch пример сервера, который использует uvx команда для выполнения mcp-server-fetch Инструмент, предназначенный для получения содержимого веб-страницы по указанному URL-адресу:

{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
扩展 Copilot Agent 能力:VS Code MCP 配置详解

Шаг 3: Безопасная работа с конфиденциальной информацией

Жесткое кодирование в файле конфигурации API Ключи и другие конфиденциальные данные не защищены.MCP Для разрешения этой ситуации поддерживается использование входных переменных. Когда VS Code При запуске сервера, для которого требуются эти переменные, пользователю будет предложено ввести их.

{
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "Your API Key",
"password": true
}
],
"servers": {
"perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:api-key}"
}
}
}
}

В данном примере:

  • inputs Массивы определяют переменные, которые требуют ввода пользователем. Здесь ID из-за api-key введенного типа пароля.
  • password: true Убедитесь, что содержимое скрывается при вводе текста.
  • В конфигурации сервера env Часть.${input:api-key} Синтаксис ссылается на ранее определенную входную переменную.VS Code будет отвечать за безопасное хранение и передачу этого значения в переменную окружения серверного процесса PERPLEXITY_API_KEY.

 

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

Включение режима агента и обнаружение инструментов

Когда вы правильно настроите .vscode/mcp.json файл и сохраните его, затем переключитесь на GitHub Copilot Режим агента (выбирается с помощью выпадающего меню в верхней части окна чата) Agent). Режим Agent автоматически обнаруживает и загружает серверы, определенные в конфигурационном файле, и предоставляемые ими инструменты.

扩展 Copilot Agent 能力:VS Code MCP 配置详解

инструмент вызова

После того как серверы и инструменты распознаны схемой агента, вы можете вызывать их в представлении Chat, используя естественный язык или специальные команды. Например:

  • Если вы настроите fetch Серверы, которые можно ввести:@workspace /fetch https://bytenote.net чтобы получить содержимое страницы.
  • Если вы настроите запрос времени, способный MCP сервер, попробуйте спросить:@workspace What's the time in Saigon?

Агент анализирует ваш запрос, определяет, нужно ли ему вызвать внешний инструмент, и связывается с соответствующим MCP взаимодействие с сервером для получения результатов.

扩展 Copilot Agent 能力:VS Code MCP 配置详解

Управление состоянием сервера

Иногда вам нужно проверить состояние настроенного сервера или управлять им (запускать, останавливать, просматривать журналы и т. д.).

  1. Откройте панель команд (Ctrl+Shift+P возможно Cmd+Shift+P).
  2. Введите и запустите MCP: List Servers Командуйте.
  3. Откроется окно, в котором будут перечислены все файлы в mcp.json и его текущее состояние (например. StartedStopped).
  4. Вы можете щелкнуть на сервере в списке, чтобы выполнить такие действия, как запуск, остановка или перезапуск, а также просмотреть его выходные журналы, что полезно для отладки конфигурации сервера.
扩展 Copilot Agent 能力:VS Code MCP 配置详解

 

Пример расширенной конфигурации

Настройка нескольких серверов

mcp.json В файле может быть определено несколько серверов, каждый из которых обеспечивает различные функциональные возможности.

{
"inputs": [
{
"type": "promptString",
"id": "perplexity-key",
"description": "Perplexity API Key",
"password": true
}
],
"servers": {
"Perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
},
"Fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"RemoteServer": {
"type": "sse",
"url": "http://api.example.com/sse",
"headers": {
"VERSION": "1.2"
}
}
}
}

В этой конфигурации определены три сервера:

  • Perplexity: Использование Docker Запуск инструмента, который может использоваться для выполнения сложных поисков или викторин, требует API Ключ.
  • Fetch: Использование uvx Запустите локальный инструмент для поиска веб-содержимого.
  • RemoteServer: Подключение к удаленному SSE Конечная точка службы, которая может использоваться для получения уведомлений или потоков данных в реальном времени. Примечание sse Требуется тип url параметр и может содержать пользовательские headers.

Использование предопределенных переменных

MCP Конфигурация поддерживает ряд предопределенных переменных для удобства обращения к контекстной информации.

{
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
}
}
}

В этом примере${workspaceFolder} это предопределенная переменная, которая будет заменена текущей VS Code Путь к корневому каталогу открытой рабочей области. Это полезно для инструментов, которым нужен доступ к файлам проекта.

пройти (законопроект, проверку и т.д.) MCP(математика) родVS Code открывает разработчикам возможность более глубокой интеграции ассистентов ИИ в повседневный рабочий процесс с помощью внешних инструментов. Хотя первоначальная конфигурация может потребовать некоторой настройки окружения, кастомизация и расширение возможностей, которые она предоставляет, весьма значительны.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...