Серверы MCP
Конфигурация серверов Model Context Protocol — серверы принадлежат оператору и регистрируются через нативный механизм MCP каждого инструмента; несколько адаптеров проецируют инвентарь MCP из общего профиля, остальные не создают записей серверов.
Серверы Model Context Protocol (MCP) принадлежат оператору. Apothem хранит
инвентарь MCP в общем профиле (mcp_servers). Адаптер, инструмент которого
хранит свои серверы MCP в файле конфигурации, уже записываемом Apothem,
проецирует этот инвентарь в этот файл; все остальные адаптеры не создают
записей серверов, и регистрировать серверы через инструмент по-прежнему вам.
Какие адаптеры проецируют инвентарь
Таблица ниже сгенерирована из ячейки возможности mcp_servers реестра
окружений для каждого адаптера.
| Harness | MCP inventory | Note |
|---|---|---|
Antigravity (antigravity) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Claude Code (claude-code) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
CodeBuddy (codebuddy) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Codex (codex) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Cursor (cursor) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Gemini CLI (gemini-cli) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
GitHub Copilot (github-copilot) | Not projected (unsupported) | Copilot MCP is configured in repository settings, the IDE, the Copilot CLI, or a custom agent profile; the adapter authors none of them. |
GLM (Z.ai) (glm) | Not projected (unsupported) | GLM is a model backend configured via Anthropic/OpenAI-compatible env; it exposes no native MCP-server surface. |
Hermes (hermes) | Projected: written into the tool's MCP config | — |
Kimi Code (kimi-code) | Not projected (discovery-pending) | .kimi-code/mcp.json is the recognized operator-owned MCP surface; Apothem names it but defers authoring entries. |
Kiro (kiro) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Open-Claw (open-claw) | Not projected (unsupported) | Open-Claw MCP lives in the mcp.servers config block managed via the openclaw mcp CLI; the adapter authors no entries. |
OpenCode (opencode) | Projected: written into the tool's MCP config | — |
Qwen Code (qwen-code) | Projected: written into the tool's MCP config | — |
Trae (trae) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Windsurf (windsurf) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Zed (zed) | Not projected (discovery-pending) | MCP lives in an operator-owned config surface (file / CLI / service state); the adapter names it but authors no entries. |
Где регистрируются серверы MCP
Каждый инструмент регистрирует серверы MCP через собственный нативный механизм,
и Apothem соблюдает эту поверхность, а не перезаписывает её. В Claude Code
серверы регистрируются командой claude mcp add в ~/.claude.json
(пользовательская или локальная область) и в .mcp.json на уровне проекта;
адаптер Claude Code не записывает ни один из этих файлов, а управляемые Apothem
настройки Claude Code никогда не содержат блок mcpServers.
Предоставление помощнику доступа к серверам MCP
Исследовательские агенты только для чтения (research-scout, citation-auditor)
поставляются с явным списком tools из Read, Glob, Grep, WebSearch, WebFetch.
Claude Code допускает инструмент MCP в явный список субагента, только когда
запись называет сервер в форме mcp__<server>__*. Ключ профиля
agent_mcp_servers называет эти серверы для каждого агента:
agent_mcp_servers:
research-scout:
- "your-scholarly-server"
citation-auditor:
- "your-scholarly-server"Установка Claude Code добавляет по одной записи mcp__<server>__* на каждый
названный сервер в строку tools каждого перечисленного агента и не меняет
никакого другого агента или строки. Без ключа каждый агент сохраняет простой
список, поэтому ни один агент не достигает инструмента MCP. Записывайте каждое
имя сервера так, как его показывает /mcp. Claude Code записывает : и . как
_ в именах инструментов, поэтому установка выводит сервер
plugin:bio-research:biorxiv как mcp__plugin_bio-research_biorxiv__*. Имя
содержит буквы, цифры, -, _, : и ., начинается и заканчивается буквой
или цифрой и никогда не содержит двух символов из _, : и . подряд
(выведенная запись содержала бы __); *, пробельные символы и все прочие
символы отклоняются.
Разрешение называет каждый инструмент этого сервера, включая любой
записывающий, поэтому выдавайте разрешение только серверу, которому доверяете
поиск; инструкции агентов ограничивают их поиском, но окружение обеспечивает
только те имена, которые вы перечислили. Разрешение для агента, которого не
существует, или для агента без явного списка tools сообщается и пропускается.
Переопределение для конкретного окружения в harnesses.claude-code дополняет
общие списки.
Разрешение применяется к установке через движок (apothem install) в
Claude Code и в Gemini CLI. В Gemini CLI установка добавляет по одной
записи mcp_<server>_* на каждый названный сервер в список разрешений tools
перечисленного агента, например mcp_your-scholarly-server_*, и не меняет
никакого другого агента или строки. Gemini CLI называет каждый инструмент MCP
mcp_{serverName}_{toolName} и читает сервер из текста до первого подчёркивания
после mcp_, поэтому к серверу, в имени которого есть подчёркивание, там
обратиться нельзя. Apothem записывает разрешение Gemini CLI только для имени
из букв, цифр и -: имя с подчёркиванием, двоеточием или точкой допустимо для
Claude Code, но для Gemini CLI пропускается с сообщением и никогда не
переписывается в другое имя. Агент, который уже достигает каждого сервера MCP
(без списка tools или со списком, содержащим mcp_*), остаётся без изменений,
и об этом сообщается. У Gemini CLI нет списка запретов, поэтому сервер,
который называет собственный disallowedTools агента, не получает записи, и об
этом сообщается: запрет побеждает, как и в Claude Code. Разрешение Gemini
читает общие списки agent_mcp_servers и переопределение harnesses.gemini-cli,
а не harnesses.claude-code. Остальные окружения игнорируют ключ: Qwen Code
не документирует запись для конкретного сервера в tools; OpenCode управляет
инструментами через разрешения; Codex и Antigravity не выводят списка
инструментов.
Плагин Claude Code собирается без профиля, поэтому два его агента сохраняют
простой список. Чтобы дать им доступ к коннекторам без правки файлов плагина,
определите собственного агента уровня пользователя в ~/.claude/agents/ под
выбранным вами именем, который несёт тот же список tools только для чтения
плюс нужные вам записи mcp__<server>__*.
Добавление сервера
Зарегистрируйте сервер через нативный механизм вашего инструмента; каноническая
форма записи — один ключ под mcpServers:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/some/path"]
}
}
}Среда выполнения инструмента загружает зарегистрированные серверы при запуске сессии; перезапустите инструмент, чтобы он подхватил новые серверы.
Соглашение об именовании
Инструменты MCP становятся доступны ассистенту как mcp__<server>__<tool>
согласно стандартному соглашению об именовании MCP-инструментов этого
инструмента.
Output-стили
Профили тона оператора (Senior Architect, Concise Engineer, Forensic Auditor), которые активируются для отдельной сессии командой /output-style.
Настройки
Конфигурация окружения Claude Code в settings.json, охватывающая разрешения инструментов, подключение хуков, переменные окружения и шаблоны строки состояния.