Agent MCP Gateway — MCP-сервер для Claude Code: что делает
Прокси между агентами и вашими MCP-серверами: на старте грузит три инструмента вместо всех определений, а доступ выдаёт по правилам для каждого субагента.
claude mcp add --env GATEWAY_MCP_CONFIG=<GATEWAY_MCP_CONFIG> --env GATEWAY_RULES=<GATEWAY_RULES> --env GATEWAY_DEFAULT_AGENT=<GATEWAY_DEFAULT_AGENT> --env GATEWAY_DEBUG=<GATEWAY_DEBUG> --transport stdio agent-mcp-gateway -- uvx agent-mcp-gatewayЧто делает Agent MCP Gateway
Обычно все определения инструментов из всех MCP-серверов загружаются в контекст каждого агента и субагента сразу при старте. Agent MCP Gateway встаёт посередине и отдаёт только три лёгких инструмента: list_servers, get_server_tools и execute_tool. Агент сам запрашивает нужный сервер и нужный инструмент, когда они понадобились, а не держит весь каталог в голове.
Внутри — движок политик и прокси. Правила задаются в mcp-gateway-rules.json, список нижестоящих серверов — в mcp.json. Политики deny-before-allow: явный запрет перебивает разрешение, для имён инструментов работают маски вроде get_*. Есть аудит-логи, метрики задержек и ошибок, горячая перезагрузка конфигурации без перезапуска, поддержка OAuth. Чтобы правила доступа вообще работали, каждый агент должен передавать свой идентификатор в вызовах через agent_id — без этого шлюз не поймёт, чьи права применять.
Установка начинается с uvx agent-mcp-gateway --init: команда создаёт шаблоны конфигурации в ~/.config/agent-mcp-gateway/. Дальше шлюз добавляется в MCP-клиент — для Claude это claude mcp add agent-mcp-gateway -- uvx agent-mcp-gateway. Переменные окружения GATEWAY_MCP_CONFIG, GATEWAY_RULES и GATEWAY_DEFAULT_AGENT нужны, если файлы лежат не в стандартных местах. HTTP-транспорт и health-проверки ещё в планах, так что сейчас это stdio-шлюз.
Какие задачи решает
- освободить контекстное окно агента от тысяч токенов с неиспользуемыми определениями инструментов
- выдать каждому субагенту только те MCP-серверы и инструменты, которые ему разрешены
- запретить конкретному агенту доступ к инструменту через deny-правило
- обновить список серверов и правила без перезапуска шлюза
- разобраться по логам, кто и какой инструмент вызывал
Примеры запросов агенту
- Покажи, к каким MCP-серверам у меня есть доступ через шлюз
- Найди инструменты сервера postgres и выполни запрос к таблице users
- Проверь статус шлюза и покажи метрики ошибок
Как установить Agent MCP Gateway
Командой платформы
claude mcp add --env GATEWAY_MCP_CONFIG=<GATEWAY_MCP_CONFIG> --env GATEWAY_RULES=<GATEWAY_RULES> --env GATEWAY_DEFAULT_AGENT=<GATEWAY_DEFAULT_AGENT> --env GATEWAY_DEBUG=<GATEWAY_DEBUG> --transport stdio agent-mcp-gateway -- uvx agent-mcp-gatewayВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from agent-mcp-gateway <команда>
Командой платформы
codex mcp add agent-mcp-gateway --env GATEWAY_MCP_CONFIG=<GATEWAY_MCP_CONFIG> --env GATEWAY_RULES=<GATEWAY_RULES> --env GATEWAY_DEFAULT_AGENT=<GATEWAY_DEFAULT_AGENT> --env GATEWAY_DEBUG=<GATEWAY_DEBUG> -- uvx agent-mcp-gatewayВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from agent-mcp-gateway <команда>
Файл настроек
{
"mcpServers": {
"agent-mcp-gateway": {
"command": "uvx",
"args": [
"agent-mcp-gateway"
],
"env": {
"GATEWAY_MCP_CONFIG": "<GATEWAY_MCP_CONFIG>",
"GATEWAY_RULES": "<GATEWAY_RULES>",
"GATEWAY_DEFAULT_AGENT": "<GATEWAY_DEFAULT_AGENT>",
"GATEWAY_DEBUG": "<GATEWAY_DEBUG>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from agent-mcp-gateway <команда>
Файл настроек
{
"servers": {
"agent-mcp-gateway": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-mcp-gateway"
],
"env": {
"GATEWAY_MCP_CONFIG": "<GATEWAY_MCP_CONFIG>",
"GATEWAY_RULES": "<GATEWAY_RULES>",
"GATEWAY_DEFAULT_AGENT": "<GATEWAY_DEFAULT_AGENT>",
"GATEWAY_DEBUG": "<GATEWAY_DEBUG>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from agent-mcp-gateway <команда>
Командой платформы
gemini mcp add -e GATEWAY_MCP_CONFIG=<GATEWAY_MCP_CONFIG> -e GATEWAY_RULES=<GATEWAY_RULES> -e GATEWAY_DEFAULT_AGENT=<GATEWAY_DEFAULT_AGENT> -e GATEWAY_DEBUG=<GATEWAY_DEBUG> agent-mcp-gateway uvx agent-mcp-gatewayВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from agent-mcp-gateway <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Agent MCP Gateway
Как установить Agent MCP Gateway в Claude Code?
Сначала создайте шаблоны конфигурации командой uvx agent-mcp-gateway --init, затем добавьте шлюз: claude mcp add agent-mcp-gateway -- uvx agent-mcp-gateway. Если конфиги лежат не в стандартных местах, используйте вариант с `--env GATEWAY_MCP_CONFIG=<GATEWAY_MCP_CONFIG> --env GATEWAY_RULES=<GATEWAY_RULES> --env GATEWAY_DEFAULT_AGENT=<GATEWAY_DEFAULT_AGENT> --env GATEWAY_DEBUG=<GATEWAY_DEBUG> --transport stdio agent-mcp-gateway -- uvx agent-mcp-gateway`.
Что делает Agent MCP Gateway?
Собирает несколько MCP-серверов за одним шлюзом и выдаёт агентам доступ по правилам. Вместо загрузки всех определений инструментов на старте агент запрашивает их по мере надобности через list_servers, get_server_tools и execute_tool.
Почему агент не видит нужный инструмент?
Скорее всего, в вызове не передан agent_id, поэтому шлюз не может применить права. Проверьте также правила в mcp-gateway-rules.json: явный запрет перебивает разрешение.