Docker MCP Toolkit MCP

docker/mcp-gateway· Проверено 12.11.2026· 1,6 тыс.на GitHub

Шлюз Docker MCP Gateway запускает MCP-серверы из каталога Docker в изолированных контейнерах и отдаёт их инструменты клиенту через одно подключение. Ключи хранятся в секретах Docker Desktop.

Как подключить

Что сделать до подключения

1

Docker Desktop 4.59 или новее с включённой функцией MCP Toolkit; плагин docker mcp в нём уже есть

2

Без Docker Desktop (Docker CE, WSL2) плагин собирается из репозитория командой make docker-mcp; задайте DOCKER_MCP_IN_CONTAINER=1 и включите профили: docker mcp feature enable profiles

3

Серверы добавляются в профиль: docker mcp catalog pull mcp/docker-mcp-catalog, затем docker mcp profile create --name dev-tools --server catalog://mcp/docker-mcp-catalog/github

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --transport stdio docker \
  -- docker mcp gateway run

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

mcp-findищет серверы в каталоге
mcp-addподключает сервер без перезапуска
mcp-removeотключает сервер
mcp-config-setзадаёт настройки сервера
mcp-official-registry-importимпортирует серверы из реестра MCP

Что попросить агента

«Найди в каталоге сервер для работы с файлами и подключи его»Поищет через mcp-find с запросом filesystem и подключит найденный сервер через mcp-add без перезапуска
«Разреши серверу filesystem доступ к папкам <~/Documents> и </tmp>»Задаст allowed_paths через mcp-config-set
«Отключи сервер <filesystem>, он больше не нужен»Уберёт сервер через mcp-remove
«Импортируй серверы из реестра MCP по адресу <ссылка на servers.json>»Вызовет mcp-official-registry-import с этим адресом

Для каких задач

Подключить к Cursor, VS Code или Claude Desktop несколько MCP-серверов одной строкой конфигурации
Запускать серверы из каталога Docker в контейнерах без доступа к переменным окружения компьютера
Держать одинаковый набор серверов во всех клиентах через профили
Оставить у сервера только нужные инструменты, например github.create_issue
Поделиться набором серверов с командой через OCI-реестр

Ограничения

!

Список инструментов зависит от серверов в профиле; инструменты управления mcp-find и mcp-add появляются только с функцией dynamic-tools

!

Сетевой доступ контейнеров по умолчанию не закрыт; ограничить его можно флагом --block-network

!

Подписи проверяются только у образов из пространства mcp/ на Docker Hub; сторонние образы остаются на вашей ответственности

!

С флагом --servers шлюз работает с фиксированным набором серверов, и динамические инструменты отключаются

Если не работает

Клиент подключён к шлюзу, но серверов или инструментов не видно
Запустите docker mcp gateway run --verbose --dry-run: шлюз покажет, какие серверы включены, какие образы скачаны и чего не хватает в настройках и секретах. Для одного сервера добавьте --servers=<имя>.
Клиент скрывает ошибку при вызове инструмента
Проверьте инструменты из терминала: docker mcp tools ls --verbose и docker mcp tools call <инструмент> <аргументы>.
Клиент отвергает все инструменты одного сервера с ошибкой unsupported dialect
Обновите шлюз: свежая версия переводит схемы draft-04, draft-06 и draft-07 в 2020-12. Если шлюз пишет Relaying ... with the dialect declared, схему нужно чинить в самом сервере.

Частые вопросы

Как подключить шлюз к клиенту без ручной правки конфига?
Выполните docker mcp client connect <клиент> --profile <профиль>, например для cursor или claude-code. Список поддерживаемых клиентов показывает docker mcp client ls.
Как оставить агенту только часть инструментов?
Используйте docker mcp profile tools <профиль> --enable github.create_issue или --disable github.search_code. При запуске шлюза то же задаёт флаг --tools server:tool.
Можно ли подключить шлюз по HTTP?
Да, запустите docker mcp gateway run --port 8080 --transport streaming. Так шлюз обслуживает сразу несколько клиентов.
Как передать серверу ключ API?
Через docker mcp secret: секреты хранятся в Docker Desktop и выдаются только тому серверу, который их объявил. Для серверов с OAuth есть docker mcp oauth.
Работает ли сервер из России?
Шлюз и контейнеры работают на вашем компьютере; для загрузки каталога и образов нужен доступ к Docker Hub.

Похожие серверы