Model Context Protocol server for CyberPanel - Control your server with AI
- β¨ Features
β οΈ Important: IDE Tool Limits- π Quick Start
- π¦ Installation
- π§ Environment Variables
- π οΈ Available Tools
- π Security
- ποΈ Development
- π API Keys Plugin
- π€ Contributing
- π License
- π Acknowledgments
- π§ 200+ Tools - Comprehensive server management through AI
- π Secure Authentication - API key-based authentication
- π Website Management - Create, modify, delete websites
- π§ Email Administration - Full email server control
- ποΈ Database Operations - MySQL/MariaDB management
- π File Manager - Browse, edit, upload files
- π SSL Certificates - Automated certificate management
- π₯ Firewall Rules - Security configuration
- π Server Monitoring - Status and performance metrics
- π³ Docker Support - Container management
- πΎ Backup & Restore - Automated backups
This MCP server provides 200+ tools. Some IDEs and AI clients have tool limits that can affect behavior when too many tools are enabled.
VS Code with GitHub Copilot has a recommended limit of 128 tools. When more tools are enabled:
- Tool quality and selection may degrade
- Some tools may show as "disabled by user" even when enabled
- AI responses may be slower or less accurate
- The IDE may randomly disable tools to stay under the limit
Recommendations for VS Code users:
- Disable other MCP servers when using CyberPanel MCP, or
- Use tool groups selectively - Only enable the tool categories you need for your current task
- Restart VS Code if tools appear incorrectly disabled after configuration changes
Claude Desktop generally handles larger tool counts better, but for optimal performance:
- Consider disabling unused MCP servers when working with CyberPanel
- If experiencing slow responses, reduce the number of active tools
Check your client's documentation for tool limits. Common limits:
- Cursor: Similar to VS Code (~128 tools recommended)
- Windsurf: Check their documentation for current limits
- Custom clients: Implement pagination or categorization if needed
We're considering these options to better handle tool limits:
- Tool categories/groups - Enable/disable entire categories at once
- Separate server profiles -
cyberpanel-websites,cyberpanel-email, etc. - Dynamic tool loading - Only load tools as needed
If you have suggestions, please open an issue!
The easiest way to get started is through the CyberPanel API Keys plugin, which provides one-click install buttons for all major IDEs:
- Install the API Keys plugin in CyberPanel
- Generate an API key
- Click the install button for your IDE:
- VS Code - Opens VS Code and configures MCP automatically
- Cursor - Opens Cursor IDE and configures MCP automatically
- Claude Code - Copies the CLI command to add MCP to Claude
# Using npx (no installation required)
npx cyberpanel-mcp
# Or install globally
npm install -g cyberpanel-mcp- Node.js 18 or higher
- CyberPanel server with API Keys plugin installed
- Valid API key
π‘ Tip: The CyberPanel API Keys plugin provides a one-click install button that configures this automatically!
Add to your VS Code .vscode/mcp.json or user settings.json:
{
"servers": {
"cyberpanel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "cyberpanel-mcp"],
"env": {
"CYBERPANEL_HOST": "https://your-server.com:8090",
"CYBERPANEL_API_KEY": "your-api-key"
}
}
}
}
β οΈ Note: See the IDE Tool Limits section if you're using multiple MCP servers.
π‘ Tip: The CyberPanel API Keys plugin provides a one-click install button that configures this automatically!
Cursor uses the same MCP configuration format. Add to your Cursor MCP settings:
Option 1: One-Click Install (via CyberPanel plugin)
The API Keys plugin generates a Cursor deeplink that automatically configures MCP when clicked.
Option 2: Manual Configuration
Add to your Cursor mcp.json configuration:
{
"cyberpanel": {
"command": "npx",
"args": ["-y", "cyberpanel-mcp"],
"env": {
"CYBERPANEL_HOST": "https://your-server.com:8090",
"CYBERPANEL_API_KEY": "your-api-key"
}
}
}
β οΈ Note: Cursor has similar tool limits to VS Code. See the IDE Tool Limits section.
π‘ Tip: The CyberPanel API Keys plugin provides a CLI command you can copy and run to configure Claude!
Option 1: Claude CLI (Recommended)
claude mcp add cyberpanel \
-e CYBERPANEL_HOST=https://your-server.com:8090 \
-e CYBERPANEL_API_KEY=your-api-key \
-- npx -y cyberpanel-mcpOption 2: Manual Configuration
Add to your Claude configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cyberpanel": {
"command": "npx",
"args": ["-y", "cyberpanel-mcp"],
"env": {
"CYBERPANEL_HOST": "https://your-server.com:8090",
"CYBERPANEL_API_KEY": "your-api-key"
}
}
}
}| Variable | Required | Description |
|---|---|---|
CYBERPANEL_HOST |
β | Your CyberPanel server URL with port (e.g., https://server.com:8090) |
CYBERPANEL_API_KEY |
β | API key generated from CyberPanel |
This server provides 200+ tools organized into categories:
| Tool | Description |
|---|---|
list_websites |
List all websites on the server |
create_website |
Create a new website |
delete_website |
Delete a website |
suspend_website |
Suspend a website |
unsuspend_website |
Unsuspend a website |
change_php_version |
Change PHP version |
get_php_config |
Get PHP configuration |
save_php_config |
Save PHP configuration |
| Tool | Description |
|---|---|
list_databases |
List all databases for a website |
create_database |
Create a new database |
delete_database |
Delete a database |
list_database_users |
List database users |
create_database_user |
Create database user |
delete_database_user |
Delete database user |
| Tool | Description |
|---|---|
list_email_accounts |
List email accounts for a domain |
create_email_account |
Create a new email account |
delete_email_account |
Delete an email account |
change_email_password |
Change email password |
list_email_forwardings |
List email forwardings |
create_email_forwarding |
Create email forwarding |
| Tool | Description |
|---|---|
list_dns_zones |
List all DNS zones |
list_dns_records |
List DNS records for a zone |
create_dns_record |
Create a DNS record |
delete_dns_record |
Delete a DNS record |
create_dns_zone |
Create a new DNS zone |
| Tool | Description |
|---|---|
issue_ssl |
Issue SSL certificate |
issue_wildcard_ssl |
Issue wildcard SSL |
get_ssl_status |
Get SSL status for domain |
install_custom_ssl |
Install custom SSL certificate |
| Tool | Description |
|---|---|
list_files |
List files in directory |
read_file |
Read file contents |
write_file |
Write to a file |
delete_file |
Delete a file |
create_directory |
Create a directory |
upload_file |
Upload a file |
download_file |
Download a file |
| Tool | Description |
|---|---|
list_ftp_accounts |
List FTP accounts |
create_ftp_account |
Create FTP account |
delete_ftp_account |
Delete FTP account |
change_ftp_password |
Change FTP password |
| Tool | Description |
|---|---|
get_firewall_status |
Get firewall status |
list_firewall_rules |
List firewall rules |
add_firewall_rule |
Add firewall rule |
delete_firewall_rule |
Delete firewall rule |
| Tool | Description |
|---|---|
create_backup |
Create backup |
restore_backup |
Restore from backup |
list_backups |
List available backups |
delete_backup |
Delete a backup |
schedule_backup |
Schedule automated backups |
| Tool | Description |
|---|---|
list_containers |
List containers |
create_container |
Create container |
start_container |
Start container |
stop_container |
Stop container |
delete_container |
Delete container |
list_images |
List Docker images |
| Tool | Description |
|---|---|
get_server_status |
Get server status |
restart_service |
Restart a service |
list_packages |
List hosting packages |
create_package |
Create hosting package |
list_users |
List server users |
create_user |
Create a new user |
- Package Management - Hosting packages and limits
- User Management - Admin and reseller users
- Log Viewing - Access and error logs
- WordPress Management - Plugins, themes, staging
- Cron Jobs - Scheduled task management
- Server Statistics - Resource monitoring
- Cloud Backups - AWS S3, DigitalOcean Spaces, MINIO
- All API communications are encrypted (HTTPS)
- API keys are stored securely in the CyberPanel database (SHA-256 hashed)
- Keys can be enabled/disabled without deletion
- Full audit trail of key usage
# Clone the repository
git clone https://github.com/elwizard33/cyberpanel-mcp.git
cd cyberpanel-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally
CYBERPANEL_HOST=https://your-server:8090 CYBERPANEL_API_KEY=your-key npm startThe API Keys plugin for CyberPanel provides:
- π Secure API key generation with SHA-256 hashing
- β Enable/disable keys without deletion
- π One-click configuration for Claude & VS Code
- π Auto-recovery after CyberPanel upgrades (optional)
- π Key management interface
Basic Installation:
# Download and run the install script
curl -sL https://raw.githubusercontent.com/elwizard33/cyberpanel-mcp/main/install-plugin.sh | sudo bashWith Auto-Recovery (recommended):
# Automatically reinstalls after CyberPanel upgrades
curl -sL https://raw.githubusercontent.com/elwizard33/cyberpanel-mcp/main/install-plugin.sh | sudo bash -s -- --auto-recoveryImportant: CyberPanel upgrades completely replace the /usr/local/CyberCP directory, which removes this plugin. You have two options:
- Manual reinstall - After each CyberPanel upgrade, run the install script again
- Auto-recovery - Install with
--auto-recoveryflag to automatically reinstall after upgrades
The auto-recovery option creates a systemd service that detects when the plugin is missing and reinstalls it automatically. Your API keys in the database are preserved across upgrades.
# Install with auto-recovery
sudo bash install-plugin.sh --auto-recovery
# Uninstall completely (removes auto-recovery too)
sudo bash install-plugin.sh --uninstall
# Show help
sudo bash install-plugin.sh --helpWe love contributions! Please read our Contributing Guide before submitting a Pull Request.
Quick Start:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit using Conventional Commits (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See our Issue Guide for reporting bugs and requesting features.
This project is licensed under the MIT License - see the LICENSE file for details.
- CyberPanel - The hosting panel this integrates with
- Model Context Protocol - The protocol specification
- Anthropic - For Claude and the MCP SDK
Made with β€οΈ for the CyberPanel community

