Docker
Ejecuta y gestiona contenedores docker, docker compose y registros.
Documentación
🐳 docker-mcp
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
- Clona el repositorio:
git clone https://github.com/QuantGeekDev/docker-mcp.git
cd docker-mcp
- Crea y activa un entorno virtual:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 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
- Haz un fork del repositorio desde docker-mcp
- Crea tu rama de características
- Haz commit de tus cambios
- Haz push a la rama
- 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 ❤️