Docker MCP от QuantGeekDev
docker-mcp
Docker MCP: агент создает контейнеры, разворачивает стеки Docker Compose из YAML, читает логи и список контейнеров. Запуск через uvx для Claude Desktop
- 504 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент запускает на вашем Docker любые образы и стеки Compose с проброшенными портами, а доступ к демону Docker фактически равен контролю над машиной
- Развертывание стека удаляет тома проекта с тем же названием вместе с данными в них
- Вывод логов контейнеров попадает в модель агента и может содержать секреты приложения
Установка
- Работает в
В терминале, через 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
CLI-плагин docker mcp и шлюз: MCP-серверы из каталога Docker в изолированных контейнерах через одну точку подключения
compose4mcp: docker compose для MCP 1С
compose4mcp
Набор готовых docker-compose конфигураций для запуска разных MCP-серверов экосистемы 1С
Официальный MCP-сервер Docker: поиск образов, теги, репозитории и Docker Hardened Images в Docker Hub
Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов
Docker-развертывание MCP-серверов для 1С
MCP-серверы для 1С:Enterprise
Готовые Docker Compose файлы и скрипты управления для девяти MCP-серверов 1С:Enterprise: справка, метаданные, графовый поиск, проверка синтаксиса
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| 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`.