loading…
Search for a command to run...
loading…
Enables AI agents to manage infrastructure and deploy Docker services through EasyPanel using natural language commands. It supports full lifecycle management o
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.
Python Version MCP Protocol EasyPanel Compatible License Platform
Servidor de Model Context Protocol (MCP) para EasyPanel. Este conector permite a clientes de inteligencia artificial y entornos de automatización gestionar infraestructura, desplegar servicios, configurar redes y monitorear recursos mediante la API tRPC de EasyPanel en lenguaje natural.
Este servidor implementa el estándar abierto Model Context Protocol (MCP) desarrollado por Anthropic para ofrecer herramientas de DevOps automatizadas. Permite a agentes de IA interactuar directamente con tu instancia de EasyPanel de forma local y segura, automatizando tareas complejas de administración de servidores, despliegues y diagnósticos.
app, postgres, redis, mysql, mongodb, mariadb).stdio) como para conexión remota vía Server-Sent Events (sse/http).git clone https://github.com/dannymaaz/easypanel-mcp
cd easypanel-mcp
Recomendamos usar un entorno virtual para aislar las dependencias:
En Windows (PowerShell):
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
En macOS / Linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Crea un archivo .env en la raíz del proyecto basándote en el ejemplo provisto:
cp .env.example .env
Edita el archivo .env configurando los accesos a tu EasyPanel:
# URL de acceso a tu instancia (ej. https://panel.tudominio.com)
EASYPANEL_URL=https://tu-easypanel.com
# Token de API o credenciales en formato email:password
EASYPANEL_API_KEY=tu_api_key_aqui
# Parámetros adicionales
EASYPANEL_TIMEOUT=30
EASYPANEL_VERIFY_SSL=true
# Configuración del servidor MCP
MCP_HOST=127.0.0.1
MCP_PORT=8080
MCP_LOG_LEVEL=INFO
Para integrar el servidor en Antigravity, añade la ruta del script en la configuración del gestor de plugins de MCP.
Asegúrate de apuntar al ejecutable de Python de tu entorno virtual (venv) para que localice las dependencias instaladas:
{
"mcpServers": {
"easypanel-mcp": {
"command": "C:\\ruta\\a\\easypanel-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\ruta\\a\\easypanel-mcp\\src\\server.py"],
"env": {
"EASYPANEL_URL": "https://tu-easypanel.com",
"EASYPANEL_API_KEY": "tu_api_key"
}
}
}
}
En editores compatibles con OpenCode o extensiones de agentes inteligentes:
easypanelcommandpython (o la ruta al ejecutable de tu venv)["/ruta/absoluta/a/easypanel-mcp/src/server.py"]EASYPANEL_URL: https://tu-easypanel.comEASYPANEL_API_KEY: tu_api_keyAñade el servidor al archivo de configuración de Claude Desktop (claude_desktop_config.json):
En Windows: %APPDATA%\Claude\claude_desktop_config.json
En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"easypanel-mcp": {
"command": "python",
"args": ["/ruta/absoluta/a/easypanel-mcp/src/server.py"],
"env": {
"EASYPANEL_URL": "https://tu-easypanel.com",
"EASYPANEL_API_KEY": "tu_api_key"
}
}
}
}
Si deseas desplegarlo de forma dedicada como servicio remoto, inicia el servidor en modo HTTP:
python src/server.py http
Esto levantará el servidor en http://127.0.0.1:8080 utilizando Server-Sent Events (SSE). Puedes integrarlo en nodos HTTP de n8n o sistemas externos realizando peticiones estructuradas al endpoint de herramientas:
http://localhost:8080/mcp{
"method": "tools/call",
"params": {
"name": "list_services",
"arguments": {
"project_id": "mi-proyecto"
}
}
}
Una vez conectado, puedes interactuar directamente con tu agente haciéndole peticiones de infraestructura basadas en la vida real:
Usuario: "Despliega un servicio frontend usando la imagen nginx:alpine en el proyecto principal."
IA (Interno): Invocacreate_service(name="frontend", project_id="principal", image="nginx:alpine")y posteriormentedeploy_service.
IA (Respuesta): "He creado y desplegado el servicio 'frontend' exitosamente en tu proyecto. Está listo para recibir configuración de dominio."
Usuario: "¿Por qué el servicio backend está fallando?"
IA (Interno): Invocaget_service_logs(service_id="backend").
IA (Respuesta): "El servicio backend reporta un estado 'crashed' debido al siguiente error en consola: 'ConnectionRefusedError: No se pudo establecer conexión con redis-cache en el puerto 6379'. ¿Deseas que verifique si el contenedor de Redis está detenido?"
Usuario: "Verifica las estadísticas del sistema y escala el servicio backend si el uso de CPU es alto."
IA (Interno): Invocaget_system_stats()seguido descale_service(service_id="backend", cpu=2, memory=4096).
| Categoría | Herramienta | Parámetros | Descripción |
|---|---|---|---|
| Servicios | list_services |
project_id (opcional) |
Lista todos los servicios y sus estados. |
get_service |
service_id (requerido) |
Obtiene la configuración detallada de un servicio. | |
create_service |
name, project_id, image, config |
Crea un nuevo servicio (soporta apps y DBs). | |
update_service |
service_id, config |
Modifica configuraciones de entorno, puertos y recursos. | |
delete_service |
service_id |
Remueve un servicio de EasyPanel. | |
restart_service |
service_id |
Reinicia de inmediato el contenedor de la aplicación. | |
get_service_logs |
service_id, lines (opcional) |
Obtiene los últimos logs de consola del contenedor. | |
| Despliegues | list_deployments |
project_id (opcional) |
Lista el historial de despliegues. |
create_deployment |
project_id, service_id, image |
Lanza un nuevo despliegue actualizando la imagen. | |
| Redes | list_networks |
- | Descubre la topología de red Docker pública/interna. |
| Proyectos | list_projects |
- | Lista los proyectos creados en la instancia. |
create_project |
name, description (opcional) |
Crea un nuevo proyecto organizador. | |
| Monitoreo | get_system_stats |
- | Obtiene estadísticas en tiempo real de CPU, RAM y disco. |
| Escalado | scale_service |
service_id, cpu, memory |
Escala verticalmente los recursos asignados. |
auto_scale_service |
service_id, cpu_threshold, memory_threshold |
Escala dinámicamente según la carga actual. | |
| Seguridad | list_domains |
- | Lista los dominios asignados en la instancia. |
get_public_key |
- | Obtiene la clave SSH pública para despliegues Git. |
Para verificar la conectividad de la API y el estado de la configuración sin arrancar el servidor MCP completo, puedes ejecutar la suite de pruebas unitarias:
python -m pytest tests/test_basic.py -v
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Run in your terminal:
claude mcp add easypanel-mcp-server -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Security
Low riskAutomated heuristic from public metadata — not a security guarantee.