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




