CyberPanel MCP Server
Model Context Protocol server for CyberPanel - Control your server with AI
📑 Table of Contents
- ✨ Features
- ⚠️ Important: IDE Tool Limits
- 🚀 Quick Start
- 📦 Installation
- 🔧 Environment Variables
- 🛠️ Available Tools
- 🔒 Security
- 🏗️ Development
- 📝 API Keys Plugin
- 🤝 Contributing
- 📄 License
- 🙏 Acknowledgments
✨ Features
- 🔧 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
⚠️ Important: IDE Tool Limits
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 / GitHub Copilot
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
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
Other MCP Clients
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
Future Improvements
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!
🚀 Quick Start
One-Click Install (Recommended)
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
Manual Installation
# Using npx (no installation required)
npx cyberpanel-mcp
# Or install globally
npm install -g cyberpanel-mcp
📦 Installation
Prerequisites
- Node.js 18 or higher
- CyberPanel server with API Keys plugin installed
- Valid API key
For VS Code with GitHub Copilot
💡 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.
For Cursor IDE
💡 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.
For Claude Desktop
💡 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-mcp
Option 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"
}
}
}
}
🔧 Environment Variables
| 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 |
🛠️ Available Tools
This server provides 200+ tools organized into categories:
Website Management (25 tools)
| 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 |
Database Management (15 tools)
| 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 |
Email Management (20 tools)
| 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 |
DNS Management (10 tools)
| 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 |
SSL Management (8 tools)
| 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 |
File Management (15 tools)
| 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 |
FTP Management (6 tools)
| 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 |
Firewall Management (8 tools)
| 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 |
Backup Management (10 tools)
| 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 |
Docker Management (12 tools)
| 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 |
Server Management (15 tools)
| 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 |
And Many More...
- 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
🔒 Security
- 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
🏗️ Development
# 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 start
📝 API Keys Plugin
The 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
Plugin Installation
Basic Installation:
# Download and run the install script
curl -sL https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/cyberpanel-mcp/install-plugin.sh | sudo bash
With Auto-Recovery (recommended):
# Automatically reinstalls after CyberPanel upgrades
curl -sL https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/cyberpanel-mcp/install-plugin.sh | sudo bash -s -- --auto-recovery
⚠️ CyberPanel Upgrade Behavior
Important: 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.
Plugin Commands
# 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 --help
🤝 Contributing
We 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.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- 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