Implementar MCP Docker Server personalizado
Some checks failed
build-and-deploy / build (push) Successful in 8s
build-and-deploy / deploy (push) Failing after 2s

- Creado servidor MCP en TypeScript con @modelcontextprotocol/sdk
- Implementadas 13 herramientas Docker seguras usando dockerode:
  * docker_ps: Listar contenedores
  * docker_logs: Ver logs de contenedores
  * docker_inspect: Inspeccionar contenedor
  * docker_stats: Estadísticas de recursos
  * docker_top: Procesos del contenedor
  * docker_start/stop/restart: Gestión de contenedores
  * docker_exec: Ejecutar comandos
  * docker_images/networks/volumes: Listar recursos
  * docker_info: Información del sistema
- Configurado servidor HTTP con Express en puerto 3000
- Agregado endpoint /mcp para protocolo MCP
- Agregado health check en /health
- Actualizado docker-compose.yml para usar imagen personalizada
- Configurado GitHub Actions para build y deploy automático
- Socket Docker montado en modo solo lectura para seguridad
This commit is contained in:
2025-10-13 19:12:34 -06:00
parent aa5ac70c7c
commit a84c7b9114
8 changed files with 712 additions and 6 deletions

View File

@@ -0,0 +1,50 @@
# MCP Docker Server
Servidor MCP (Model Context Protocol) para operaciones Docker seguras.
## Herramientas Disponibles
### Información y Monitoreo
- `docker_ps` - Listar contenedores
- `docker_logs` - Ver logs de contenedores
- `docker_inspect` - Inspeccionar contenedor
- `docker_stats` - Estadísticas de uso de recursos
- `docker_top` - Procesos del contenedor
- `docker_info` - Información del sistema Docker
### Gestión de Contenedores
- `docker_start` - Iniciar contenedor
- `docker_stop` - Detener contenedor
- `docker_restart` - Reiniciar contenedor
- `docker_exec` - Ejecutar comando en contenedor
### Recursos
- `docker_images` - Listar imágenes
- `docker_networks` - Listar redes
- `docker_volumes` - Listar volúmenes
## Desarrollo
```bash
npm install
npm run dev
```
## Producción
```bash
npm run build
npm start
```
## Docker
```bash
docker build -t mcp-docker-server .
docker run -v /var/run/docker.sock:/var/run/docker.sock:ro -p 3000:3000 mcp-docker-server
```
## Endpoints
- `POST /mcp` - Endpoint MCP principal
- `GET /health` - Health check