EasyPanel MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EASYPANEL_URL | Yes | The URL of your EasyPanel instance (e.g., https://your-easypanel.com) | |
| EASYPANEL_API_KEY | Yes | Your EasyPanel API key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_servicesA | List all services in EasyPanel, optionally filtered by project. Args: project_id: Optional project ID to filter services |
| get_serviceB | Get detailed information about a specific service. Args: service_id: Service ID |
| create_serviceA | Create a new service in EasyPanel. Args: name: Service name project_id: Project ID image: Docker image (e.g., nginx:latest, postgres:15) config: Additional configuration (ports, env vars, volumes, etc.) |
| update_serviceC | Update service configuration. Args: service_id: Service ID config: New configuration settings |
| delete_serviceA | Delete a service from EasyPanel. This is destructive and cannot be undone. Args: service_id: Service ID |
| restart_serviceC | Restart a service. Args: service_id: Service ID |
| start_serviceA | Start a stopped service. Args: service_id: Service ID |
| stop_serviceA | Stop a running service (takes it offline until started again). Args: service_id: Service ID |
| deploy_serviceA | Deploy / redeploy a service (pulls the latest source/image and restarts). Args: service_id: Service ID |
| scale_serviceB | Vertically scale a service's resources. Args: service_id: Service ID cpu: New CPU limit (cores) memory: New memory limit (MB) |
| auto_scale_serviceA | Auto-scale a service based on current system resource usage. Doubles CPU and/or memory (capped at max_cpu/max_memory) when usage exceeds the given thresholds; otherwise makes no change. Args: service_id: Service ID cpu_threshold: CPU usage % above which to scale up memory_threshold: Memory usage % above which to scale up max_cpu: Maximum CPU cores to scale to max_memory: Maximum memory (MB) to scale to |
| get_service_logsA | Get a status/diagnostics summary for a service. Note: EasyPanel's tRPC API does not expose raw container log streaming, so this returns a structured status summary (state, deployment status, resources, errors) derived from service inspection. Args: service_id: Service ID lines: Reserved for future raw-log support (currently unused) |
| list_deploymentsA | List all deployments in EasyPanel, optionally filtered by project. Args: project_id: Optional project ID to filter deployments |
| get_deploymentA | Get detailed information about a specific deployment. Args: deployment_id: Deployment ID |
| create_deploymentC | Create a new deployment in EasyPanel. Args: project_id: Project ID service_id: Service ID image: Docker image to deploy config: Additional deployment configuration |
| get_deployment_logsC | Get logs from a deployment. Args: deployment_id: Deployment ID |
| list_networksA | Analyze network topology in EasyPanel. Note: EasyPanel manages Docker networks automatically and does not expose them via the tRPC API, so this infers a per-project topology (internal vs public services) from the services' port configuration. |
| create_networkA | Advisory helper for network creation. IMPORTANT: EasyPanel creates and manages Docker networks automatically when services are deployed; there is no API to create one directly. This tool does NOT create anything — it returns guidance. To isolate services, set internal=true when creating the service instead. Args: name: Network name internal: Whether the network is internal (isolated from internet) driver: Network driver (overlay, bridge, etc.) |
| delete_networkA | Advisory helper for network deletion. IMPORTANT: EasyPanel removes a network automatically once all services in it are deleted; there is no API to delete one directly. This tool does NOT delete anything — it returns guidance. Args: network_id: Network ID |
| list_projectsA | List all projects in EasyPanel. |
| get_projectB | Get detailed information about a specific project. Args: project_id: Project ID |
| create_projectB | Create a new project in EasyPanel. Args: name: Project name description: Project description |
| delete_projectA | Delete a project from EasyPanel, including all its services. This is destructive and cannot be undone. Args: project_id: Project ID |
| get_system_statsA | Get host system statistics (CPU, memory, disk, uptime). |
| get_service_statsA | Get per-service runtime statistics. |
| health_checkA | Check whether the EasyPanel API is reachable and the session is valid. |
| get_server_ipA | Get the server's public IP address. |
| list_domainsA | List domains, optionally filtered by service. Args: service_id: Optional service ID to filter domains |
| create_domainA | Create a new domain, optionally bound to a service. Args: name: Domain name (e.g. app.example.com) service_id: Optional service ID to attach the domain to |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Most tools map cleanly to a resource and action, and service lifecycle tools (start/stop/restart/deploy) are distinguishable. A few names are misleading — create_network/delete_network are advisory no-ops, and get_service_logs returns a status summary rather than actual logs.
The set overwhelmingly follows snake_case verb_noun naming (list_services, get_project, create_deployment). Minor deviations like health_check and the auto_ prefix in auto_scale_service keep it from being perfectly uniform.
At 29 tools, the server is above the heavy threshold, and several tools are placeholder/advisory helpers (create_network, delete_network) or near-duplicate diagnostics (get_service_logs vs get_service). The core management operations could be delivered with a leaner set.
Service CRUD and lifecycle are well covered, and projects/deployments have basic coverage. However, domains only support list/create with no delete/update, networks are non-functional, and there is no project update or deployment rollback/delete.