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

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

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • Free MCP tools: the only MCP linter, health checks, cost estimation, and trust evaluation.

  • Official Sevalla MCP — full PaaS API access through just 2 tools.

  • 34 production API tools over one hosted MCP endpoint.

View all MCP Connectors

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/thargy/docker-mcp'

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