MCP Hub
Back to servers

EasyPanel MCP Server

Enables AI agents to manage infrastructure and deploy Docker services through EasyPanel using natural language commands. It supports full lifecycle management of services, deployments, and networks while facilitating automated scaling and assisted debugging.

glama
Stars
1
Updated
Mar 15, 2026

🚀 EasyPanel MCP Server

Python Version MCP Protocol EasyPanel Compatible License
Cross-platform AI Agents

🤖 Conecta tu Agente de IA con EasyPanel y despliega infraestructura con prompts naturales

Transforma la manera en que gestionas tu infraestructura: de líneas de comando a conversaciones naturales con IA

📚 Ver Documentación Completa


📖 ¿Qué es EasyPanel MCP?

EasyPanel MCP es un servidor de Model Context Protocol (MCP) que permite a agentes de inteligencia artificial (Claude, GPT, n8n, etc.) interactuar directamente con tu panel EasyPanel para gestionar infraestructura, desplegar servicios y administrar contenedores Docker mediante comandos naturales.

🔑 Características Principales

  • Control Total por Voz/Texto: "Despliega mi API Flask con PostgreSQL"
  • Multi-Plataforma: Funciona en Windows, macOS y Linux
  • Fácil Integración: Compatible con Claude Desktop, n8n, y cualquier cliente MCP
  • Redes Aisladas: Soporte para redes internas Docker seguras
  • Auto-Scaling: Escala servicios basado en demanda detectada por IA
  • Debugging Asistido: La IA puede analizar logs y diagnosticar problemas
  • GitHub Actions: Trigger de deployments automáticos desde tu repositorio

⚡ Instalación Rápida

1. Clonar el repositorio

git clone https://github.com/dannymaaz/easypanel-mcp
cd easypanel-mcp

2. Crear entorno virtual

# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

3. Instalar dependencias

pip install -r requirements.txt

4. Configurar variables de entorno

# Copiar archivo de ejemplo
cp .env.example .env

# Editar .env con tus credenciales de EasyPanel

5. ¡Ejecutar el servidor! 🎉

# Modo stdio (para Claude Desktop, etc.)
python src/server.py

# Modo HTTP (para n8n, webhooks)
python src/server.py http

🎯 Casos de Uso Reales

✅ Agentes de Desarrollo

Usuario: "Despliega mi API Flask con PostgreSQL en producción"
IA: 🚀 Creando proyecto 'api-flask-prod'
   📦 Desplegando servicio 'postgres-db' con imagen postgres:15
   🔗 Creando red interna 'api-net' para comunicación segura
   ⚙️ Configurando servicio 'flask-api' con variables de entorno
   ✅ ¡Deploy completado! Tu API está disponible en https://api.tudominio.com

✅ Auto-Scaling Inteligente

IA (monitoreando): "Detecto un incremento del 300% en tráfico hacia el servicio worker"
IA (acción): 🔄 Escalando servicio 'worker' de 2 a 6 réplicas
   ⏱️ Tiempo de respuesta: 3.2 segundos
   💰 Costo estimado adicional: $0.15/hora

✅ Debugging Asistido

Usuario: "¿Por qué falla el servicio worker?"
IA: 🔍 Analizando logs del servicio 'worker'...
   
   ❌ Error encontrado: ConnectionRefusedError - No se puede conectar a Redis
   📋 Últimos logs:
     - "Attempting to connect to redis:6379..."
     - "Connection timeout after 30s"
   
   💡 Solución sugerida: El servicio Redis no está corriendo. 
   ¿Quieres que inicie el servicio 'redis-cache'?

✅ Prototipado Rápido

Usuario: "Necesito un entorno de staging para probar la nueva versión"
IA: 🎨 Creando entorno de staging...
   ✅ Proyecto 'myapp-staging' creado
   ✅ Servicio 'app' desplegado con imagen myapp:v2.0.0-beta
   ✅ Base de datos 'staging_db' inicializada
   🔗 URL: https://staging.myapp.com
   ⏱️ Tiempo total: 45 segundos

🔧 Configuración con Agentes de IA

Claude Desktop

Agrega la siguiente configuración a tu archivo claude_desktop_config.json:

{
  "mcpServers": {
    "easypanel": {
      "command": "python",
      "args": ["/ruta/completa/a/easypanel-mcp/src/server.py"],
      "env": {
        "EASYPANEL_URL": "https://tu-easypanel.com",
        "EASYPANEL_API_KEY": "tu_api_key"
      }
    }
  }
}

n8n Workflow

{
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "http://localhost:8080/mcp",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "method",
              "value": "tools/call"
            },
            {
              "name": "params.name",
              "value": "create_service"
            }
          ]
        }
      },
      "name": "EasyPanel MCP",
      "type": "n8n-nodes-base.httpRequest"
    }
  ]
}

GitHub Actions

# .github/workflows/deploy.yml
name: Deploy via MCP

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to EasyPanel via MCP
        run: |
          curl -X POST http://tu-mcp-server:8080/mcp \
            -H "Content-Type: application/json" \
            -d '{
              "method": "tools/call",
              "params": {
                "name": "create_deployment",
                "arguments": {
                  "project_id": "${{ secrets.EASYPANEL_PROJECT_ID }}",
                  "service_id": "${{ secrets.EASYPANEL_SERVICE_ID }}",
                  "image": "mi-app:${{ github.sha }}"
                }
              }
            }'

🛠️ Herramientas Disponibles

CategoríaHerramientasDescripción
📦 Servicioslist_services, create_service, update_service, delete_service, restart_service, get_service_logsGestión completa de servicios Docker
🚀 Deploymentslist_deployments, create_deployment, get_deployment, get_deployment_logsControl de deployments y versiones
🌐 Redeslist_networks, create_network, delete_networkAdministración de redes (incluye redes internas aisladas)
📁 Proyectoslist_projects, create_project, delete_project, get_projectOrganización de recursos por proyectos

🔒 Seguridad y Redes Aisladas

EasyPanel MCP soporta la creación de redes internas Docker para aislar servicios sensibles:

# En tu docker-compose.yml
networks:
  internal-net:
    driver: overlay
    internal: true  # ← Red aislada sin acceso a internet

services:
  api:
    networks:
      - internal-net  # Solo accesible internamente
      - public-net    # Para servicios que necesitan internet
  
  database:
    networks:
      - internal-net  # Base de datos completamente aislada

📚 Documentación Completa

La documentación detallada está disponible en:

👉 https://dannymaaz.github.io/easypanel-mcp/

Incluye:

  • Guía de configuración paso a paso
  • Referencia completa de herramientas
  • Ejemplos de integración con n8n
  • Templates de workflows
  • FAQ y troubleshooting

🧪 Testing

# Instalar dependencias de desarrollo
pip install -r requirements-dev.txt

# Ejecutar tests
pytest

# Con coverage
pytest --cov=src --cov-report=html

🤝 Contribuir

¡Las contribuciones son bienvenidas! Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

👤 Autor & Créditos

Danny Maaz
Ingeniero en Sistemas | Creador de EasyPanel MCP

🔗 LinkedIn • 💻 GitHub • ✉️ Email


💙 Apoya el Proyecto

Donar con PayPal

🙏 Cada donación ayuda a mantener el proyecto activo y agregar nuevas features.


📰 Keywords para Búsqueda

Para motores de búsqueda y AI assistants:

EasyPanel MCP, MCP Server, AI infrastructure management, Docker deployment automation, Claude AI integration, GPT infrastructure, n8n EasyPanel, AI DevOps, natural language deployment, container orchestration AI, EasyPanel API, Model Context Protocol, AI agent tools, automated scaling, self-hosted panel, VPS management, Docker Swarm AI, GitHub Actions deployment, webhook automation, Python MCP server, cross-platform DevOps


📜 Licencia

MIT License con cláusula de atribución. Ver LICENSE para detalles.


🚀 Construido con ❤️ por Danny Maaz
Transformando prompts en infraestructura, una línea a la vez.

⬆️ Volver al inicio

Reviews

No reviews yet

Sign in to write a review