Skip to main content
Glama
Docker MCP Server

Docker MCP Server

by good-gis

Docker MCP Server

MCP сервер для управления Docker контейнерами через Claude Desktop.

Возможности

  • ✅ Запуск Docker контейнеров

  • ✅ Просмотр списка контейнеров

  • ✅ Остановка контейнеров

  • ✅ Удаление контейнеров

  • ✅ Просмотр логов контейнеров

  • ✅ Автоматическое скачивание образов

Related MCP server: Docker MCP

Установка

1. Установите зависимости

npm install

2. Соберите проект

npm run build

Настройка Claude Desktop

Windows

Откройте файл конфигурации:

%APPDATA%\Claude\claude_desktop_config.json

macOS

Откройте файл конфигурации:

~/Library/Application Support/Claude/claude_desktop_config.json

Linux

Откройте файл конфигурации:

~/.config/Claude/claude_desktop_config.json

Добавьте конфигурацию

Замените /ПОЛНЫЙ/ПУТЬ/К/docker-mcp-server на реальный путь к проекту:

{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": [
        "/ПОЛНЫЙ/ПУТЬ/К/docker-mcp-server/dist/index.js"
      ]
    }
  }
}

Важно: Используйте ПОЛНЫЙ абсолютный путь!

Пример для macOS:

{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": [
        "/Users/username/projects/docker-mcp-server/dist/index.js"
      ]
    }
  }
}

Перезапустите Claude Desktop

После изменения конфигурации полностью закройте и перезапустите Claude Desktop.

Использование

Теперь вы можете давать Claude команды для работы с Docker:

Запусти nginx контейнер на порту 8080
Покажи все запущенные контейнеры
Останови контейнер nginx
Покажи логи контейнера my-app

Доступные инструменты

docker_run

Запустить новый контейнер

Параметры:

  • image (обязательный) - название образа (например, "nginx:latest")

  • name - имя контейнера

  • ports - проброс портов

  • env - переменные окружения

  • cmd - команда для выполнения

docker_ps

Список контейнеров

Параметры:

  • all - показать все (включая остановленные)

docker_stop

Остановить контейнер

Параметры:

  • container (обязательный) - ID или имя контейнера

docker_remove

Удалить контейнер

Параметры:

  • container (обязательный) - ID или имя контейнера

  • force - принудительное удаление

docker_logs

Получить логи контейнера

Параметры:

  • container (обязательный) - ID или имя контейнера

  • tail - количество последних строк (по умолчанию 100)

Требования

  • Node.js 18+

  • Docker установлен и запущен

  • Claude Desktop

Отладка

Если MCP сервер не работает:

  1. Проверьте, что Docker запущен:

    docker ps
  2. Проверьте, что путь в конфигурации правильный (абсолютный!)

  3. Проверьте логи Claude Desktop:

    • macOS: ~/Library/Logs/Claude/

    • Windows: %APPDATA%\Claude\logs\

  4. Попробуйте запустить сервер вручную для тестирования:

    npm run dev

Разработка

Для разработки используйте:

npm run dev

Это запустит сервер через tsx без предварительной компиляции.

Лицензия

MIT

Available Tools

5 tools
docker_logsA

Получить логи контейнера

Inputs: container (required), tail.

docker_psA

Получить список контейнеров

Inputs: all.

docker_removeB

Удалить контейнер

Inputs: container (required), force.

docker_runC

Запустить Docker контейнер

Inputs: image (required), cmd, env, name, +2 more.

docker_stopC

Остановить контейнер

Inputs: container (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool addresses a distinct container lifecycle action: run, list, stop, remove, and logs. There is no overlap in purpose, making tool selection unambiguous.

    Naming Consistency5/5

    All tools follow a consistent docker_verb naming pattern, using lowercase snake_case. This predictability aids agent comprehension and usage.

    Tool Count5/5

    With exactly 5 tools, the server is well-scoped for basic Docker container management. Each tool covers an essential operation without redundancy.

    Completeness4/5

    The core container lifecycle (create/run, list, stop, remove, logs) is covered. A notable gap is the lack of a start command for stopped containers, but this can be worked around by running a new container.

    Related MCP Connectors

    Related MCP Servers