MCP Server for CyberPanel - Control your CyberPanel server through Model Context Protocol with 200+ tools for managing websites, databases, DNS, email, SSL certificates, FTP accounts, backups, and server configuration
This MCP server defines 10 tools for CyberPanel server management. While tool names follow verb_noun conventions and all tools have descriptions, there are significant gaps in schema completeness, parameter documentation, and error handling guidance. Most tools lack detailed output schemas, and many parameters are missing descriptions or type constraints. The server shows basic competence but falls short of production-grade quality expected for a system management tool handling destructive operations.
Create a new child domain (subdomain or addon domain) under a parent website. The child domain will share resources with the parent.
Delete a child domain from the server. WARNING: This will remove all files and configurations for the child domain.
Get the installation status of a WordPress application. Uses the statusFile returned from install_wordpress.
Get the web server type (LiteSpeed Enterprise or OpenLiteSpeed)
Get detailed system status including CPU usage, memory, swap, and running processes
Install Joomla CMS on a website. Returns a status file path for tracking installation progress.
Output schemas not documented. Tools return text content without specifying field types, structure, or chaining IDs. LLMs cannot predict what data is available for downstream calls.
Missing parameter descriptions. 'path' parameter in create_child_domain and install_* tools lacks guidance on format (absolute vs relative, expected structure). LLMs will guess.
Destructive operations (kill_process, delete_child_domain) lack dry-run or confirmation mechanisms. No recovery guidance if an LLM makes a mistake.
Error handling does not guide recovery. Source code shows generic error responses ('Error getting server type: Unknown error') with no actionable guidance for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | 2026-07-28+ | v2 |
| 2026-04-07 | F | 15 | - | v1 |
Install Prestashop e-commerce platform on a website. Returns a status file path for tracking installation progress.
Kill a running process by its PID. Requires admin privileges.
List child/addon domains attached to a parent website. Child domains are subdomains or additional domains hosted under a main website.
Restart the MySQL/MariaDB database service. Requires admin privileges.
Parameter validation and constraints missing. 'pid' in kill_process has no range documentation. 'home' enum uses string values ('0', '1') instead of clearer options like 'root' or 'subdirectory'.
Response filtering incomplete. System status tools likely return raw API responses with internal fields (timestamps, audit metadata) that waste tokens and confuse LLMs.
Tool composition fragmented. 'install_joomla' + 'get_application_install_status' requires a multi-call pattern; no single 'wait_for_installation' or 'install_and_verify' tool exists to wrap the polling logic.