Skip to main content
Glama
Isak-Landin

Docker MCP

by Isak-Landin

Docker MCP

Gestión remota de Docker a través de SSH — expuesto como un servidor MCP local para sesiones de GitHub Copilot.

No se requiere ningún componente en el lado del servidor. El MCP se ejecuta localmente y se conecta por SSH al host remoto para ejecutar comandos de Docker.

Herramientas

Herramienta

Descripción

docker_ps

Listar contenedores

docker_logs

Obtener registros (tail, since, grep)

docker_exec

Ejecutar comando dentro de un contenedor

docker_run

Iniciar un nuevo contenedor

docker_start / docker_stop / docker_restart

Control del ciclo de vida

docker_rm

Eliminar contenedor(es)

docker_inspect

Información detallada de contenedor/imagen

docker_stats

Instantánea del uso de recursos

docker_top

Procesos dentro de un contenedor

docker_images

Listar imágenes

docker_pull / docker_rmi / docker_build

Gestión de imágenes

docker_compose_ps/up/down/logs/restart/pull

Operaciones de Compose

docker_system_df

Uso de disco

docker_info / docker_version

Información del sistema

docker_network_ls / docker_volume_ls

Listado de redes y volúmenes

Configuración

1. Clonar el repositorio

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

Puedes clonarlo en cualquier directorio. Sustituye ~/mcp-docker-engine por tu ruta preferida; simplemente usa esa misma ruta en el paso 5.

2. Instalar dependencias

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

3. Configurar el destino SSH

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

Campos de config.json:

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

Sobrescribir la ruta de configuración en tiempo de ejecución:

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

4. Verificar el acceso SSH

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

5. Registrar en GitHub Copilot

Usa la ruta absoluta de tu clonación. Si usaste ~/mcp-docker-engine, expándela: ejecuta echo ~/mcp-docker-engine para obtener la ruta completa y luego sustitúyela a continuación.

Configuración del servidor MCP

GitHub Copilot CLI (~/.config/github-copilot/mcp.json) — añádelo a tu objeto mcpServers existente o crea el archivo:

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

VS Code / Copilot en VS Code (.vscode/mcp.json o configuración de usuario) — añádelo a tu objeto servers existente o crea el archivo:

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

Instrucciones para Copilot

instructions.md contiene ejemplos de uso de las 26 herramientas. Puedes:

  • Añadir su contenido a tu archivo de instrucciones de Copilot existente (p. ej., .github/copilot-instructions.md o las instrucciones de tu espacio de trabajo)

  • Usarlo tal cual si aún no tienes un archivo de instrucciones

Notas

  • La conexión SSH utiliza StrictHostKeyChecking=accept-new - seguro para hosts conocidos, avisará si hay cambios en la clave.

  • docker_build y docker_pull utilizan un tiempo de espera de 5-10 minutos; ajusta timeout en server.py si es necesario.

  • Para las herramientas de Compose, project_dir es la ruta remota que contiene docker-compose.yml.

  • docker_logs y docker_exec redirigen stderr a stdout para que la salida siempre sea capturada.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/Isak-Landin/mcp-docker-engine'

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