Skip to main content
Glama
ckreiling
by ckreiling

🐋 Docker MCP-сервер

MCP-сервер для управления Docker с помощью естественного языка!

🪩 Что он может делать?

  • 🚀 Создавайте контейнеры на естественном языке

  • 🔍 Самоанализ и отладка запущенных контейнеров

  • 📀 Управляйте постоянными данными с помощью томов Docker

Related MCP server: Docker Container Manager MCP Server

❓ Для кого это?

  • Администраторы серверов: подключаются к удаленным серверам 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:

"mcpServers": {
  "mcp-server-docker": {
    "command": "uvx",
    "args": [
      "mcp-server-docker"
    ]
  }
}

Чисто для удобства сервер может работать в контейнере Docker.

После клонирования этого репозитория создайте образ Docker:

docker build -t mcp-server-docker .

Затем добавьте следующее в файл вашего сервера MCP:

"mcpServers": {
  "mcp-server-docker": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-v",
      "/var/run/docker.sock:/var/run/docker.sock",
      "mcp-server-docker:latest"
    ]
  }
}

Обратите внимание, что мы монтируем сокет Docker как том; это гарантирует, что сервер MCP сможет подключаться к локальному демону Docker и управлять им.

📝 Подсказки

🎻 docker_compose

Используйте естественный язык для создания контейнеров. Демонстрацию см. выше .

Укажите название проекта и описание желаемых контейнеров, а остальное пусть сделает LLM.

Это приглашение инструктирует LLM войти в цикл plan+apply . Ваше взаимодействие с LLM будет включать следующие шаги:

  1. Вы даете LLM инструкции о том, какие контейнеры следует поднять

  2. LLM составляет краткий план естественного языка и представляет его вам

  3. Вы либо:

    • Применить план

    • Предоставьте обратную связь LLM, и LLM пересчитает план

Примеры

  • имя: nginx , контейнеры: «развернуть контейнер nginx, открыв его на порту 9000»

  • имя: wordpress , контейнеры: «развернуть контейнер WordPress и поддерживающий его контейнер MySQL, предоставляя Wordpress на порту 9000»

Возобновление проекта

При запуске нового чата с помощью этого приглашения LLM получит статус всех контейнеров, томов и сетей, созданных с указанным name проекта.

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

📔 Ресурсы

Сервер реализует несколько ресурсов для каждого контейнера:

  • Статистика: ЦП, память и т. д. для контейнера

  • Журналы: некоторые журналы из контейнера

🔨 Инструменты

Контейнеры

  • list_containers

  • create_container

  • run_container

  • recreate_container

  • start_container

  • fetch_container_logs

  • stop_container

  • remove_container

Изображения

  • list_images

  • pull_image

  • push_image

  • build_image

  • remove_image

Сети

  • list_networks

  • create_network

  • remove_network

Объемы

  • list_volumes

  • create_volume

  • remove_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:

"mcpServers": {
  "mcp-server-docker": {
    "command": "uvx",
    "args": [
      "mcp-server-docker"
    ],
    "env": {
      "DOCKER_HOST": "ssh://myusername@myhost.example.com"
    }
  }
}

💻 Развитие

Для настройки среды разработки предпочтительнее использовать Devbox.

Полезные команды разработки см. в devbox.json .

После настройки devbox вы можете настроить конфигурацию Claude MCP для его использования:

  "docker": {
    "command": "/path/to/repo/.devbox/nix/profile/default/bin/uv",
    "args": [
      "--directory",
      "/path/to/repo/",
      "run",
      "mcp-server-docker"
    ]
  },

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables managing Docker containers through natural language commands, allowing users to create, list, and delete containers. It facilitates automated container orchestration and integrates with VS Code via the Cline extension.
    186
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    An MCP server that gives LLMs direct control over a local Docker daemon, enabling container, image, volume, network, and Compose stack management through natural language.
    23
    4
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ckreiling/mcp-server-docker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server