🐋 Docker MCP-сервер
MCP-сервер для управления Docker с помощью естественного языка!
🪩 Что он может делать?
🚀 Создавайте контейнеры на естественном языке
🔍 Самоанализ и отладка запущенных контейнеров
📀 Управляйте постоянными данными с помощью томов Docker
❓ Для кого это?
Администраторы серверов: подключаются к удаленным серверам Docker, например, для управления общедоступным веб-сайтом.
Мастера своего дела: запускайте контейнеры локально и экспериментируйте с приложениями с открытым исходным кодом, поддерживающими Docker.
Энтузиасты ИИ: расширьте границы возможностей LLM!
Демо
Краткая демонстрация развертывания WordPress с использованием естественного языка:
https://github.com/user-attachments/assets/65e35e67-bce0-4449-af7e-9f4dd773b4b3
🏎️ Быстрый старт
Установить
Клод Десктоп
В MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
В Windows: %APPDATA%/Claude/claude_desktop_config.json
Если у вас не установлен uv , следуйте инструкциям по установке для вашей системы: ссылка
Затем добавьте следующее в файл вашего сервера MCP:
Чисто для удобства сервер может работать в контейнере Docker.
После клонирования этого репозитория создайте образ Docker:
Затем добавьте следующее в файл вашего сервера MCP:
Обратите внимание, что мы монтируем сокет Docker как том; это гарантирует, что сервер MCP сможет подключаться к локальному демону Docker и управлять им.
📝 Подсказки
🎻 docker_compose
Используйте естественный язык для создания контейнеров. Демонстрацию см. выше .
Укажите название проекта и описание желаемых контейнеров, а остальное пусть сделает LLM.
Это приглашение инструктирует LLM войти в цикл plan+apply . Ваше взаимодействие с LLM будет включать следующие шаги:
Вы даете LLM инструкции о том, какие контейнеры следует поднять
LLM составляет краткий план естественного языка и представляет его вам
Вы либо:
Применить план
Предоставьте обратную связь LLM, и LLM пересчитает план
Примеры
имя:
nginx, контейнеры: «развернуть контейнер nginx, открыв его на порту 9000»имя:
wordpress, контейнеры: «развернуть контейнер WordPress и поддерживающий его контейнер MySQL, предоставляя Wordpress на порту 9000»
Возобновление проекта
При запуске нового чата с помощью этого приглашения LLM получит статус всех контейнеров, томов и сетей, созданных с указанным name проекта.
Это в основном полезно для очистки, в случае если вы потеряете чат, который отвечал за множество контейнеров.
📔 Ресурсы
Сервер реализует несколько ресурсов для каждого контейнера:
Статистика: ЦП, память и т. д. для контейнера
Журналы: некоторые журналы из контейнера
🔨 Инструменты
Контейнеры
list_containerscreate_containerrun_containerrecreate_containerstart_containerfetch_container_logsstop_containerremove_container
Изображения
list_imagespull_imagepush_imagebuild_imageremove_image
Сети
list_networkscreate_networkremove_network
Объемы
list_volumescreate_volumeremove_volume
🚧 Отказ от ответственности
Конфиденциальные данные
НЕ НАСТРАИВАЙТЕ КОНТЕЙНЕРЫ С КОНФИДЕНЦИАЛЬНЫМИ ДАННЫМИ. Это включает в себя ключи API, пароли баз данных и т. д.
Любые конфиденциальные данные, передаваемые с помощью LLM, по сути скомпрометированы, если только LLM не запущен на вашем локальном компьютере.
Если вы заинтересованы в безопасной передаче секретов в контейнеры, отправьте запрос в этот репозиторий с описанием вашего варианта использования.
Просмотр созданных контейнеров
Будьте внимательны при просмотре контейнеров, которые создает LLM. Docker не является безопасной песочницей, и поэтому сервер MCP может потенциально влиять на хост-машину через Docker.
Из соображений безопасности этот сервер MCP не поддерживает чувствительные параметры Docker, такие как --privileged или --cap-add/--cap-drop . Если эти функции вас интересуют, отправьте запрос в этот репозиторий с вашим вариантом использования.
🛠️ Конфигурация
Этот сервер использует метод from_env Python Docker SDK. Подробности конфигурации см. в документации .
Подключитесь к Docker через SSH
Этот сервер MCP может подключаться к удаленному демону Docker по протоколу SSH.
Просто укажите URL-адрес хоста ssh:// в определении сервера MCP:
💻 Развитие
Для настройки среды разработки предпочтительнее использовать Devbox.
Полезные команды разработки см. в devbox.json .
После настройки devbox вы можете настроить конфигурацию Claude MCP для его использования:
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер MCP, позволяющий управлять контейнерами Docker с помощью естественного языка, что позволяет пользователям составлять, анализировать и отлаживать контейнеры без самостоятельного запуска команд.
- 🪩 Что он может делать?
- ❓ Для кого это?
- Демо
- 🏎️ Быстрый старт
- 📝 Подсказки
- 📔 Ресурсы
- 🔨 Инструменты
- 🚧 Отказ от ответственности
- 🛠️ Конфигурация
- 💻 Развитие
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityA powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.Last updated -4401MIT License
- Asecurity-licenseAqualityA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.Last updated -12
- Asecurity-licenseAqualityAn MCP server that enables interaction with development containers through the devcontainers CLI, allowing users to start, run commands in, and execute arbitrary shell commands inside devcontainers.Last updated -372MIT License
- -security-license-qualityA configurable server implementation that provides MCP (Model-Controller-Protocol) functionality, supporting both Node.js and Docker environments with automated setup and configuration options.Last updated -824