Skip to main content
Glama
Isak-Landin

Docker MCP

by Isak-Landin

Docker MCP

Удаленное управление Docker по SSH — представлено в виде локального MCP-сервера для сессий GitHub Copilot.

Серверная часть не требуется. MCP запускается локально и подключается по SSH к удаленному хосту для выполнения команд Docker.

Инструменты

Инструмент

Описание

docker_ps

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

docker_logs

Получение логов (tail, since, grep)

docker_exec

Выполнение команды внутри контейнера

docker_run

Запуск нового контейнера

docker_start / docker_stop / docker_restart

Управление жизненным циклом

docker_rm

Удаление контейнера(ов)

docker_inspect

Подробная информация о контейнере/образе

docker_stats

Снимок использования ресурсов

docker_top

Процессы внутри контейнера

docker_images

Список образов

docker_pull / docker_rmi / docker_build

Управление образами

docker_compose_ps/up/down/logs/restart/pull

Операции Compose

docker_system_df

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

docker_info / docker_version

Системная информация

docker_network_ls / docker_volume_ls

Список сетей и томов

Related MCP server: dokploy-logs

Настройка

1. Клонирование репозитория

git clone git@github.com:Isak-Landin/mcp-docker-engine.git ~/mcp-docker-engine
cd ~/mcp-docker-engine

Вы можете клонировать в любую директорию. Замените ~/mcp-docker-engine на предпочитаемый путь — просто используйте этот же путь на шаге 5.

2. Установка зависимостей

sudo apt install python3.12-venv
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

3. Настройка SSH-цели

cp config.example.json config.json
# Edit config.json with your server details

Поля config.json:

{
  "host": "your-server.example.com",
  "user": "ubuntu",
  "key_path": "~/.ssh/id_rsa",
  "port": 22
}

Переопределение пути к конфигурации во время выполнения:

DOCKER_MCP_CONFIG=/other/path/config.json .venv/bin/python3 server.py

4. Проверка SSH-доступа

ssh -i ~/.ssh/id_rsa ubuntu@your-server.example.com docker ps

5. Регистрация в GitHub Copilot

Используйте абсолютный путь к вашей копии репозитория. Если вы использовали ~/mcp-docker-engine, раскройте его: выполните echo ~/mcp-docker-engine, чтобы получить полный путь, а затем подставьте его ниже.

Конфигурация MCP-сервера

GitHub Copilot CLI (~/.config/github-copilot/mcp.json) — добавьте в существующий объект mcpServers или создайте файл:

"docker-mcp": {
  "command": "/your/path/to/mcp-docker-engine/.venv/bin/python3",
  "args": ["/your/path/to/mcp-docker-engine/server.py"]
}

VS Code / Copilot в VS Code (.vscode/mcp.json или настройки пользователя) — добавьте в существующий объект servers или создайте файл:

"docker-mcp": {
  "type": "stdio",
  "command": "/your/path/to/mcp-docker-engine/.venv/bin/python3",
  "args": ["/your/path/to/mcp-docker-engine/server.py"]
}

Инструкции для Copilot

instructions.md содержит примеры использования всех 26 инструментов. Вы можете:

  • Добавить его содержимое в ваш существующий файл инструкций Copilot (например, .github/copilot-instructions.md или инструкции вашего рабочего пространства)

  • Использовать как есть, если у вас еще нет файла инструкций

Примечания

  • SSH-соединение использует StrictHostKeyChecking=accept-new — безопасно для известных хостов, предупреждает при изменении ключей.

  • docker_build и docker_pull используют тайм-аут 5-10 минут; при необходимости измените timeout в server.py.

  • Для инструментов Compose project_dir — это удаленный путь, содержащий docker-compose.yml.

  • docker_logs и docker_exec перенаправляют stderr в stdout, чтобы вывод всегда был захвачен.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables secure Docker command execution from isolated environments like containers through MCP protocol. Provides tools for managing Docker containers, images, and Docker Compose services with security validation and async operation support.
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables reading Docker container logs and stats from remote servers via SSH, supporting container listing, log retrieval, stats, inspection, and Docker Compose logs.
    -