Docker

Ejecuta y gestiona contenedores docker, docker compose y registros.

Documentación

🐳 docker-mcp

Python 3.12 License: MIT Code style: black smithery badge

Un potente servidor de Model Context Protocol (MCP) para operaciones con Docker, que permite una gestión fluida de contenedores y stacks de Compose a través de Claude AI.

✨ Características

  • 🚀 Creación e instanciación de contenedores
  • 📦 Despliegue de stacks de Docker Compose
  • 🔍 Recuperación de logs de contenedores
  • 📊 Listado de contenedores y monitoreo de estado

🎬 Demos

Desplegando un Stack de Docker Compose

https://github.com/user-attachments/assets/b5f6e40a-542b-4a39-ba12-7fdf803ee278

Analizando Logs de Contenedores

https://github.com/user-attachments/assets/da386eea-2fab-4835-82ae-896de955d934

🚀 Inicio Rápido

Para probar esto en la aplicación Claude Desktop, añade esto a tus archivos de configuración de claude:

{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}

Instalación mediante Smithery

Para instalar Docker MCP para Claude Desktop automáticamente mediante Smithery:

npx @smithery/cli install docker-mcp --client claude

Requisitos Previos

  • UV (gestor de paquetes)
  • Python 3.12+
  • Docker Desktop o Docker Engine
  • Claude Desktop

Instalación

Configuración de Claude Desktop

Añade la configuración del servidor a tu archivo de configuración de Claude Desktop:

MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

💻 Configuración de Desarrollo
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-docker-mcp>",
        "run",
        "docker-mcp"
      ]
    }
  }
}
🚀 Configuración de Producción
{
  "mcpServers": {
    "docker-mcp": {
      "command": "uvx",
      "args": [
        "docker-mcp"
      ]
    }
  }
}

🛠️ Desarrollo

Configuración Local

  1. Clona el repositorio:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
  1. Crea y activa un entorno virtual:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Instala las dependencias:
uv sync

🔍 Depuración

Inicia el MCP Inspector para depurar:

npx @modelcontextprotocol/inspector uv --directory <path-to-docker-mcp> run docker-mcp

El Inspector proporcionará una URL para acceder a la interfaz de depuración.

📝 Herramientas Disponibles

El servidor proporciona las siguientes herramientas:

create-container

Crea un contenedor Docker independiente

{
    "image": "image-name",
    "name": "container-name",
    "ports": {"80": "80"},
    "environment": {"ENV_VAR": "value"}
}

deploy-compose

Despliega un stack de Docker Compose

{
    "project_name": "example-stack",
    "compose_yaml": "version: '3.8'\nservices:\n  service1:\n    image: image1:latest\n    ports:\n      - '8080:80'"
}

get-logs

Recupera los logs de un contenedor específico

{
    "container_name": "my-container"
}

list-containers

Lista todos los contenedores Docker

{}

🚧 Limitaciones Actuales

  • Sin soporte integrado de variables de entorno para contenedores
  • Sin gestión de volúmenes
  • Sin gestión de redes
  • Sin comprobaciones de salud de contenedores
  • Sin políticas de reinicio de contenedores
  • Sin límites de recursos para contenedores

🤝 Contribuciones

  1. Haz un fork del repositorio desde docker-mcp
  2. Crea tu rama de características
  3. Haz commit de tus cambios
  4. Haz push a la rama
  5. Abre un Pull Request

📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.

✨ Autores

  • Alex Andru - Trabajo inicial | Contribuidor principal - @QuantGeekDev
  • Ali Sadykov - Trabajo inicial | Contribuidor principal - @md-archive

Hecho con ❤️