Skip to main content
Glama
thargy
by thargy

Docker MCP Server (docker-mcp)

Node.js Version License: MIT Architecture: Deep Module TypeScript

Servidor Model Context Protocol (MCP) que proporciona herramientas de alto impacto para inspeccionar, orquestar y solucionar problemas en entornos Docker Engine y Docker Compose.

Construido sobre @thargy/mcp-server-core siguiendo la filosofía del Módulo Profundo de John Ousterhout (A Philosophy of Software Design).


1. Visión arquitectónica: Módulo Profundo frente a la inflación de herramientas

Los servidores MCP tradicionales se asignan 1:1 a los verbos de la CLI de Docker, lo que produce más de 25 herramientas superficiales que inflan las ventanas de contexto de los LLM (consumiendo más de 4.000 tokens de prompt por turno) y aumentan las alucinaciones.

docker-mcp expone exactamente 6 herramientas consolidadas y de alto impacto con discriminadores de acción tipados y polimórficos, consumiendo menos de 1.000 tokens:

graph LR
    subgraph Clients ["MCP Clients"]
        Claude["Claude Desktop (Stdio)"]
        Agent["Antigravity / Coding Agents"]
        Gateway["mcp-gateway (SSE / Streamable HTTP)"]
    end

    subgraph DeepModule ["docker-mcp (Deep Module)"]
        T1["docker_containers"]
        T2["docker_compose"]
        T3["docker_images"]
        T4["docker_volumes"]
        T5["docker_networks"]
        T6["docker_system"]
        
        Seam["IDockerClient Seam"]
        Engine["DockerodeClient / InMemoryDockerClient"]
    end

    subgraph Host ["Docker Infrastructure"]
        Socket["/var/run/docker.sock"]
        RemoteTCP["tcp://remote-host:2376"]
        RemoteSSH["ssh://user@remote-host"]
    end

    Clients --> DeepModule
    DeepModule --> Seam
    Seam --> Engine
    Engine --> Host

Related MCP server: Docker MCP Server

2. Catálogo consolidado de herramientas MCP

Herramienta

Acciones

Características y aspectos destacados

docker_containers

list, inspect, start, stop, restart, logs, stats, exec, remove

Filtrado por regex de nombre/estado, cálculo de CPU/RAM en tiempo real, extracción multiplexada de registros stdin/stdout y stderr, ejecución de comandos y timeouts seguros.

docker_compose

ps, up, down, restart, logs

Descubrimiento de stacks multicontenedor mediante etiquetas/directorios, orquestación del ciclo de vida y comprobación de disponibilidad con healthchecks.

docker_images

list, inspect, pull, prune, remove

Inventario de imágenes, formato de tamaño virtual, resolución de etiquetas y limpieza de imágenes huérfanas (dangling).

docker_volumes

list, inspect, create, prune, remove

Catálogo de volúmenes persistentes, inspección de drivers y poda de volúmenes huérfanos.

docker_networks

list, inspect, create, prune, remove

Inspección de topologías de redes bridge, overlay y plumbing, y resolución de subredes.

docker_system

info, df, prune, version, ping

Healthcheck del daemon, versión del motor de Docker, desglose del uso de disco y recuperación de espacio a nivel de sistema.


3. Inicio rápido y configuración

Variables de entorno

Variable

Valor por defecto

Descripción

PORT

3008

Puerto de escucha HTTP/SSE

HOST

0.0.0.0

Dirección de enlace

MCP_TOKEN

opcional

Token secreto para autenticación Bearer sobre HTTP/SSE

DOCKER_SOCKET

/var/run/docker.sock

Ruta al socket Unix local de Docker

DOCKER_HOST

opcional

URL TCP de Docker remoto (p. ej., tcp://192.168.86.50:2376)

DOCKER_TLS_VERIFY

opcional

Habilita la verificación del certificado TLS (1 o 0)

DOCKER_CERT_PATH

opcional

Ruta a los certificados TLS del cliente (ca.pem, cert.pem, key.pem)

Ejecución con stdio (Claude Desktop / CLI local)

{
  "mcpServers": {
    "docker": {
      "command": "node",
      "args": ["/Users/craigdean/Repos/docker-mcp/dist/src/index.js"],
      "env": {
        "DOCKER_SOCKET": "/var/run/docker.sock"
      }
    }
  }
}

Ejecución con Docker Compose y mcp-gateway

docker compose up -d --build

Acceso HTTP/SSE en http://localhost:3008/docker/mcp o http://localhost:3008/docker/sse.


4. Pruebas y calidad del código

El 100% de las pruebas unitarias se ejecutan contra InMemoryDockerClient sin necesidad de acceso a un socket de Docker activo.

# Run unit tests
npm test

# Run test coverage (>85% required)
npm run test:coverage

# TypeScript compile check
npm run types:check

Licencia

MIT © 2026 Craig Dean

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables remote Docker management over SSH via a local MCP server, providing tools to manage containers, images, Compose, and system resources.
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server that provides advanced Docker operations through a unified interface with 16 MCP tools and 25+ CLI aliases, enabling secure container lifecycle management, multi-container orchestration, registry publishing, and system maintenance.
    19 npm
    15
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    Wraps the Docker Engine API as MCP tools for container and image management. Reduces token consumption by providing typed tools with default summaries and field selection.
    17
    148 npm
    MIT