Docker MCP от QuantGeekDev

docker-mcp

Docker MCP: агент создает контейнеры, разворачивает стеки Docker Compose из YAML, читает логи и список контейнеров. Запуск через uvx для Claude Desktop

  • 504 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Агент запускает на вашем Docker любые образы и стеки Compose с проброшенными портами, а доступ к демону Docker фактически равен контролю над машиной
  • Развертывание стека удаляет тома проекта с тем же названием вместе с данными в них
  • Вывод логов контейнеров попадает в модель агента и может содержать секреты приложения
Все причины и проверки

quantgeekdev/docker-mcp

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/docker-mcp

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент запускает на вашем Docker любые образы и стеки Compose с проброшенными портами, а доступ к демону Docker фактически равен контролю над машиной
  • Развертывание стека удаляет тома проекта с тем же названием вместе с данными в них
  • Вывод логов контейнеров попадает в модель агента и может содержать секреты приложения

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Docker MCP — небольшой сервер на Python, который дает агенту четыре инструмента для Docker. Он запускается командой `uvx docker-mcp` по stdio и работает с локальным Docker Desktop или Docker Engine. Контейнеры сервер создает через библиотеку python-on-whales, а стеки Compose разворачивает вызовами `docker compose`. Инструмент `create-container` принимает образ, имя, соответствие портов и переменные окружения. Если образа нет на машине, сервер сначала скачивает его, затем запускает контейнер в фоне. `deploy-compose` берет название проекта и текст YAML, сохраняет этот текст во временный файл в папке `docker_compose_files` рядом с рабочей папкой сервера, выполняет `down --volumes`, затем `up -d` и показывает список служб командой `ps`. После этого файл удаляется. `get-logs` возвращает последние 100 строк журнала контейнера, `list-containers` выводит все контейнеры с короткими идентификаторами, именами и состоянием. В комплекте идет промпт `deploy-stack` с двумя аргументами, описанием нужного стека и названием проекта. Он просит агента решить, хватит ли одного контейнера или нужен файл Compose, и выбрать подходящий инструмент.

Для кого. Для разработчиков, которые просят Claude Desktop поднять тестовый контейнер или стек Compose и посмотреть его логи, не открывая терминал.

Подходит, если

  • Нужно быстро поднять контейнер с готовым образом, например базу данных или веб-сервер, и пробросить порт
  • Агент сам написал файл Compose для проекта, и его надо развернуть в одну команду без копирования в терминал
  • Контейнер упал или ведет себя странно, и агенту нужно прочитать последние строки журнала и объяснить причину
  • Требуется посмотреть, какие контейнеры есть на машине и в каком они состоянии, включая остановленные
  • Описание стека удобнее дать словами через промпт deploy-stack, чем писать YAML вручную

Не подходит, если

  • Нужно останавливать и удалять контейнеры, управлять образами, сетями и томами или работать с удаленным хостом по SSH: у сервера только четыре инструмента, для такого набора есть карточка mcp-server-docker
  • Нужен поиск образов и тегов в Docker Hub: сервер работает только с локальным демоном, этим занимается hub-mcp
  • На машине нет Python 3.12, uv или Docker, а ставить их нельзя
  • Проект должен активно развиваться: последний коммит в репозитории сделан в декабре 2024 года

Пример запроса к агенту

Подними контейнер nginx на порту 8080, а через минуту покажи его последние логи

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

  • Неофициальный проект, к компании Docker он отношения не имеет. Лицензия MIT, версия пакета 0.1.0, последнее изменение в репозитории сделано 14 декабря 2024 года.
  • Перед запуском стека `deploy-compose` всегда выполняет `down --volumes` для проекта с этим названием. Тома прежнего стека с тем же именем будут удалены вместе с контейнерами.
  • Автор перечисляет, чего в сервере нет: управления томами и сетями, проверок состояния, политик перезапуска и лимитов ресурсов. Остановки и удаления контейнеров среди инструментов тоже нет.
  • `get-logs` отдает только последние 100 строк без выбора периода. Создание контейнера прерывается, если образ скачивается и запускается дольше 200 секунд.
  • Ответы инструментов дописывают отладочный вывод. У `deploy-compose` он содержит полный текст YAML и вывод команд.
  • Для Windows сервер ищет `docker.exe` в папке `C:\Program Files\Docker\Docker\resources\bin`, на остальных системах ищет `docker` в PATH.

Как отключить. Удалите блок docker-mcp из файла claude_desktop_config.json и перезапустите Claude Desktop. Контейнеры и стеки, которые агент уже создал, остаются работать: остановите их командами docker stop и docker compose down.

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

Как подключить Docker MCP к Claude Desktop?

Добавьте в claude_desktop_config.json блок mcpServers с сервером docker-mcp, command uvx и args docker-mcp, затем перезапустите приложение. Файл лежит в ~/Library/Application Support/Claude на macOS и в %APPDATA%/Claude на Windows. Автор предлагает и другой путь, команду npx @smithery/cli install docker-mcp --client claude.

Как развернуть стек Docker Compose через Claude с помощью docker-mcp?

Попросите агента развернуть стек и назвать проект. Он вызовет deploy-compose с названием проекта и текстом YAML. Сервер сохранит файл, выполнит down --volumes и up -d, покажет службы командой ps и удалит временный файл.

Что будет с данными, если развернуть стек повторно?

Перед запуском deploy-compose выполняет down --volumes для проекта с этим названием, поэтому тома прежнего стека удаляются. Если в них лежат нужные данные, сделайте копию заранее или дайте новому стеку другое название.

Можно ли остановить или удалить контейнер через docker-mcp?

Нет таких инструментов: сервер умеет создавать контейнер, разворачивать стек Compose, читать логи и перечислять контейнеры. Остановку и удаление выполняют вручную в терминале.

Сколько строк логов возвращает get-logs?

Последние 100 строк журнала контейнера. Период или число строк выбрать нельзя. Контейнер указывают по имени, а список имен агент берет из list-containers.

Что нужно установить для Docker MCP?

Менеджер пакетов uv, Python 3.12 или новее, Docker Desktop или Docker Engine и Claude Desktop. Сам сервер скачивать вручную не нужно: uvx установит его из пакета docker-mcp.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Docker MCP

Docker MCP server

MCP-сервер для управления Docker на естественном языке: контейнеры, образы, сети и тома, в том числе на удаленном хосте по SSH

MCP-серверШирокий доступ749Звезды репозитория
Официальный

CLI-плагин docker mcp и шлюз: MCP-серверы из каталога Docker в изолированных контейнерах через одну точку подключения

MCP-серверШирокий доступ1,6 тыс.Звезды репозитория
Российский стек

Набор готовых docker-compose конфигураций для запуска разных MCP-серверов экосистемы 1С

ВоркфлоуРасширенный доступ37Звезды репозитория
Официальный

Официальный MCP-сервер Docker: поиск образов, теги, репозитории и Docker Hardened Images в Docker Hub

MCP-серверРасширенный доступ171Звезды репозитория

Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов

MCP-серверШирокий доступ2,7 тыс.Звезды репозитория
Российский стек

Готовые Docker Compose файлы и скрипты управления для девяти MCP-серверов 1С:Enterprise: справка, метаданные, графовый поиск, проверка синтаксиса

MCP-серверРасширенный доступ

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Docker MCP от QuantGeekDev (эта запись)нетне нужна504
Docker MCPнетне нужна749управляет также образами, сетями и томами и подключается к удаленному хосту по SSH, а промпт строит план и применяет его после подтверждения
Docker Hub MCP Serverдаключ необязателен171официальный сервер Docker для поиска образов и тегов в Docker Hub, а не для запуска контейнеров
Docker MCP Gatewayдане нужна1 616шлюз и плагин docker mcp, который запускает MCP-серверы из каталога Docker в отдельных контейнерах

Коротко о README

В репозитории есть описание четырех инструментов с примерами JSON-вызовов, конфигурации Claude Desktop для рабочего режима и режима разработки и установка через Smithery. Отдельно описана отладка в MCP Inspector и список ограничений. Два демонстрационных видео показывают развертывание стека Compose и разбор логов контейнера. Тестов в репозитории нет, код занимает несколько файлов в папке `src/docker_mcp`.

Бейдж для README

Сообщить о проблеме

Foxx AIDocker MCP от QuantGeekDev
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.