Расширение возможностей агента 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
Это можно сделать с помощью выпадающего меню в верхней части представления "Чат".

Еще одна вещь, которую следует иметь в виду, и MCP
Чаще всего приходится сталкиваться с тем, что запуск MCP
Может потребоваться предварительная установка сервера Node.js
, и Docker
или других зависимостей. Это связано с тем, что многие MCP
Серверные реализации (особенно для выполнения скриптов или контейнерных инструментов) полагаются на эти внешние среды. Это усложняет первоначальную настройку, но в то же время обеспечивает гибкость подключения к различным мощным инструментам настройки.
Настройка сервера MCP
существовать VS Code
Средний.MCP
Конфигурация ядра находится в рабочем пространстве .vscode/mcp.json
внутри файла. С помощью этого JSON
файл, вы можете определить один или несколько MCP
серверов, режим агента будет использовать инструменты, предоставляемые этими серверами.
Шаг 1: Создайте профиль MCP
- Откройте папку проекта на
VS Code
Средний. - В корневом каталоге проекта найдите или создайте файл с именем
.vscode
папки. - существовать
.vscode
создайте файл с именемmcp.json
документа. - Добавьте следующий шаблон базовой конфигурации в
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
Удобный способ, предоставляемый командной панелью:
- Откройте командную панель (клавиша быстрого доступа)
Ctrl+Shift+P
возможноCmd+Shift+P
). - Введите и запустите
MCP: Add Server
Командуйте. - опция
Workspace Settings
(математика) родVS Code
автоматически откроет или создаст.vscode/mcp.json
файл и может предоставлять интеллектуальные подсказки (IntelliSense), чтобы помочь вам в настройке.
Ниже приведена конфигурация с именем fetch
пример сервера, который использует uvx
команда для выполнения mcp-server-fetch
Инструмент, предназначенный для получения содержимого веб-страницы по указанному URL-адресу:
{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}

Шаг 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 автоматически обнаруживает и загружает серверы, определенные в конфигурационном файле, и предоставляемые ими инструменты.

инструмент вызова
После того как серверы и инструменты распознаны схемой агента, вы можете вызывать их в представлении Chat, используя естественный язык или специальные команды. Например:
- Если вы настроите
fetch
Серверы, которые можно ввести:@workspace /fetch https://bytenote.net
чтобы получить содержимое страницы. - Если вы настроите запрос времени, способный
MCP
сервер, попробуйте спросить:@workspace What's the time in Saigon?
Агент анализирует ваш запрос, определяет, нужно ли ему вызвать внешний инструмент, и связывается с соответствующим MCP
взаимодействие с сервером для получения результатов.

Управление состоянием сервера
Иногда вам нужно проверить состояние настроенного сервера или управлять им (запускать, останавливать, просматривать журналы и т. д.).
- Откройте панель команд (
Ctrl+Shift+P
возможноCmd+Shift+P
). - Введите и запустите
MCP: List Servers
Командуйте. - Откроется окно, в котором будут перечислены все файлы в
mcp.json
и его текущее состояние (например.Started
,Stopped
). - Вы можете щелкнуть на сервере в списке, чтобы выполнить такие действия, как запуск, остановка или перезапуск, а также просмотреть его выходные журналы, что полезно для отладки конфигурации сервера.

Пример расширенной конфигурации
Настройка нескольких серверов
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
открывает разработчикам возможность более глубокой интеграции ассистентов ИИ в повседневный рабочий процесс с помощью внешних инструментов. Хотя первоначальная конфигурация может потребовать некоторой настройки окружения, кастомизация и расширение возможностей, которые она предоставляет, весьма значительны.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...