Три редактора — три разных ответа на один и тот же вопрос. VS Code хранит
MCP-серверы под ключом верхнего уровня servers, Zed называет то же самое
context_servers, а Windsurf — который со 2 июня 2026 года носит имя Devin
Desktop — использует mcpServers, ключ, принятый у большинства остальных
клиентов. Ошибётесь с ключом — клиент молча запустится без инструментов и без
сообщения об ошибке.
Сам сервер при этом не меняется. Локальный MCP-сервер — это программа, которую
запускают через stdio с командой и набором аргументов, и каждый из этих
редакторов запускает один и тот же исполняемый файл одинаково. Всё, что вы
делаете в каждом редакторе, — регистрируете два значения, command и args,
внутри принятой в нём формы конфигурации. В этой статье — точный файл, точный
ключ и точный способ проверки для каждого, всё сверено с документацией
вендоров 14 августа 2026 года.
Если сам протокол для вас в новинку, начните со словаря — что такое MCP-сервер. Если вы работаете в Claude или Cursor, у них свои инструкции и обычно установка в одну кнопку; эта статья — про три редактора, где так не получится.
Любой локальный MCP-сервер описывается одной и той же парой значений:
command = "/absolute/path/to/the/executable"
args = ["--some-flag"]
Это вся полезная нагрузка. Абсолютный путь важнее, чем кажется: редактор
запускает процесс сам, часто в обход вашей входной оболочки, поэтому всё, что
опирается на PATH или на алиас оболочки, будет работать в терминале и не
заработает в клиенте. Копируйте полный путь.
Всё остальное в этой статье — упаковка: в какой файл попадают эти два значения и как называется ключ вокруг них.
servers, а не mcpServersVS Code читает конфигурацию MCP из файла с именем mcp.json, который может
лежать в одном из двух мест:
.vscode/mcp.json — путешествует вместе с репозиторием,
поэтому это верное место для серверов, которые должны быть у всей команды.mcp.json, открываемый командой
MCP: Open User Configuration из Command Palette (палитры команд), —
верное место для личных источников данных.На верхнем уровне файла лежит servers, а также необязательные разделы
inputs и sandbox. Локальный сервер выглядит так:
{
"servers": {
"my-server": {
"type": "stdio",
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"]
}
}
}
Тех, кто переходит с другого клиента, удивляют две вещи. Первая: ключ
действительно servers — вставленный блок mcpServers не вызывает ошибки, о
которой VS Code сообщит, он просто не читает такой ключ. Вторая: VS Code
ограничивает один запрос в чате 128 включёнными инструментами, поэтому на
машине с большим числом зарегистрированных серверов часть из них придётся
отключить, прежде чем ваш станет доступен; делается это кнопкой
Configure Tools в представлении Chat.
Есть и переносимая форма: для конфигурации, общей с Agent Host и остальным
инструментарием Copilot, VS Code описывает файл .mcp.json в рабочей папке или
~/.copilot/mcp-config.json в профиле пользователя — Agent Host читает их
напрямую.
Как проверить: выполните MCP: List Servers из Command Palette,
выберите свой сервер и откройте Show Output, чтобы прочитать его журнал.
Сервер, который не смог запуститься, скажет об этом там — обычно с указанием
пути, который не удалось выполнить.
Zed называет MCP-серверы контекстными серверами, и ключ настроек следует за
названием: context_servers. Откройте файл настроек действием
zed: open settings file, а не ищите путь вручную, и добавьте:
{
"context_servers": {
"my-server": {
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"],
"env": {}
}
}
}
Удалённые серверы описываются в том же блоке полями url и необязательным
headers, поэтому context_servers — единственное место, где живут оба
транспорта. У Zed есть и путь через интерфейс: Settings → AI → MCP Servers,
затем Add Server → Add Local Server, — он впишет ту же запись за вас.
Многие популярные серверы вдобавок упакованы как расширения Zed и ставятся с
того же экрана, но сервера, который поставляется внутри настольного
приложения, в этом списке не будет — для него нужна ручная запись выше.
Как проверить: откройте Settings → AI → MCP Servers и посмотрите на индикатор рядом со своим сервером. Зелёная точка с подсказкой Server is active означает, что рукопожатие прошло.
Это та часть, за которой большинство инструкций в сети не успело. 2 июня
2026 года Cognition переименовала Windsurf в Devin Desktop; переименование
приехало обычным обновлением по воздуху — без переустановки, без мастера
миграции, а тарифы, расширения и сочетания клавиш перешли без изменений.
Прежние маркетинговые домены теперь ведут на devin.ai, а документация живёт
на docs.devin.ai.
Практическое следствие для MCP: возможных адресатов теперь два, и какой из них верный, зависит от того, с каким агентом вы разговариваете.
| Агент | Файл конфигурации MCP | Ключ верхнего уровня |
|---|---|---|
| Cascade (устаревший) | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Devin Local (текущий) | ~/.config/devin/mcp_config.json |
mcpServers |
Документация Cascade по-прежнему описывает путь ~/.codeium/windsurf/ — агент
оставался доступен до 1 июля 2026 года, чтобы люди могли переходить
постепенно. Его преемник, Devin Local, — переписанная на Rust версия,
которую Cognition описывает как до 30% более экономную по токенам и с
поддержкой субагентов; именно он выбирается по умолчанию в новых вкладках.
Devin Local не читает файл Cascade: он использует конфигурацию Devin CLI, где
серверы уровня проекта записываются в .devin/mcp_config.json, а личные, с
ключами API, — в .devin/mcp_config.local.json, который исключён из git.
Если вы добавили сервер несколько месяцев назад, а агент перестал его видеть, причина, скорее всего, именно эта: с файлом всё в порядке, сменился агент, который его читает.
Ещё одно ограничение, о котором стоит знать: Cascade держит для агента не более 100 инструментов одновременно. Как и в VS Code, переполненная конфигурация может вытеснить инструменты вашего сервера, при этом внешне ничего не сломается.
Как проверить: нажмите значок MCPs в правом верхнем углу панели Cascade, чтобы открыть страницу настроек MCP, — там перечислены инструменты каждого сервера, и каждый можно включить или выключить отдельно. Сервер, у которого не перечислено ни одного инструмента, не запустился.
| VS Code | Zed | Devin Desktop (Windsurf) | |
|---|---|---|---|
| Файл | .vscode/mcp.json или mcp.json в профиле пользователя |
файл настроек (zed: open settings file) |
~/.codeium/windsurf/mcp_config.json (Cascade) или ~/.config/devin/mcp_config.json (Devin Local) |
| Ключ | servers |
context_servers |
mcpServers |
Нужен ли type: stdio |
Да | Нет | Нет |
| Путь через интерфейс | MCP: Add Server | Settings → AI → MCP Servers | значок MCPs на панели Cascade |
| Потолок инструментов | 128 на запрос | не документирован | 100 всего (Cascade) |
Строка, которую стоит прочитать дважды, — строка про ключ. Любое другое различие само заявляет о себе сообщением об ошибке; неверный ключ — нет.
Claude Desktop, Claude Code и Cursor используют mcpServers и держат файл в
предсказуемом месте — соответственно claude_desktop_config.json в папке
поддержки приложения, ~/.claude.json и ~/.cursor/mcp.json. Именно из-за
этой согласованности так много приложений выпускают установщик в одну кнопку
для этих трёх — и на них останавливаются.
Три редактора из этой статьи отклоняются каждый по своей оси: VS Code — в имени ключа, Zed — и в имени ключа, и в терминологии, Devin Desktop — в расположении файла после переименования. Ничего сложного здесь нет, но и угадать ничего нельзя — поэтому копирование JSON прямо из README вендора так часто заканчивается клиентом, который запустился без инструментов.
После любой правки этих файлов вручную перезапустите редактор. Большинство клиентов читают конфигурацию MCP при старте, и конфигурация, которая выглядит правильной, но ни разу не была перечитана, — самая частая причина жалобы «ассистент не видит мои данные».
Speak-Y поставляет свой MCP-сервер внутри приложения для macOS, поэтому ничего не нужно ставить из npm и не нужно выпускать токен. В разделе Настройки → Интеграции кнопка Установить рядом с найденным клиентом впишет конфигурацию для Claude Code, Claude Desktop и Cursor, каждому в его собственном формате. VS Code, Zed и Devin Desktop в этот список не входят — для них вы копируете те же два значения в описанные выше формы:
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
Добавленный вторым аргументом --read-only запускает сервер без всех
инструментов, которые меняют данные, — это полезно, когда вы хотите, чтобы
агент редактора искал по расшифровкам, но никогда не трогал теги, имена
спикеров и командные каналы. Установка в одну кнопку намеренно не
добавляет этот флаг: режим только для чтения — решение, и принимать его нужно
явно.
Ассистент получает тринадцать инструментов: пять читающих — поиск по записям, расшифровкам, саммари, задачам, тегам — и восемь меняющих, которые объявлены клиенту как изменяющие данные, поэтому он спрашивает перед вызовом. Чтение происходит локально, по библиотеке на вашей машине; меняющие команды идут через запущенное приложение и попадают в журнал, который вы потом можете прочитать. Сервер бесплатен на любом тарифе.
В редакторе всё это значит больше, чем в чат-приложении, и причина — контекст. Кодовому агенту, который может прочитать, о чём договорились на вторничном созвоне, не нужно, чтобы вы перепечатывали решение в промпт. Тот же довод разобран в статье Cursor и контекст встреч — и он без изменений применим к VS Code и Zed, как только описанная выше конфигурация на месте.
Если сервер зарегистрирован, а ассистент всё равно ничего не находит, причина почти всегда одна из четырёх: редактор не перезапустили, путь устарел после обновления приложения, потолок инструментов заполнен или имя ключа не подходит этому клиенту. Проверяйте в таком порядке, прежде чем что-либо переписывать.
VS Code хранит MCP-серверы в файле mcp.json — это либо .vscode/mcp.json внутри рабочей папки, либо mcp.json в профиле пользователя, который открывается командой MCP: Open User Configuration. В отличие от большинства клиентов, ключ верхнего уровня здесь servers, а не mcpServers.
Zed использует в файле настроек ключ context_servers, а не mcpServers. Локальный сервер описывается полями command, args и env, удалённый — полями url и headers. Файл открывается действием zed: open settings file, либо сервер добавляется через Settings → AI → MCP Servers.
Нет. 2 июня 2026 года Cognition переименовала Windsurf в Devin Desktop; переименование пришло обычным обновлением по воздуху, тарифы, расширения и настройки сохранились. Агент Cascade, читавший ~/.codeium/windsurf/mcp_config.json, оставался доступен до 1 июля 2026 года; его преемник Devin Local читает вместо этого файлы конфигурации Devin CLI.
Нет. Один и тот же stdio-сервер работает в любом клиенте — различаются только файл, в котором вы его регистрируете, и имя ключа верхнего уровня. Значения command и args вы определяете один раз и вставляете эту же пару в конфигурацию каждого редактора, в его собственном формате.
У каждого клиента свой индикатор: в VS Code выполните MCP: List Servers из Command Palette и откройте Show Output, чтобы прочитать журнал; в Zed откройте Settings → AI → MCP Servers и найдите зелёную точку с подписью Server is active; в Devin Desktop нажмите значок MCPs на панели Cascade и посмотрите список инструментов сервера.