cPanel MCP Server
This server is an MCP interface for managing a cPanel hosting account through natural language/AI, covering files, databases, email, DNS, security, and deployment.
File & Disk: list/create/read/edit/delete files; view disk quota and usage
Databases: full CRUD for MySQL and PostgreSQL databases, users, privileges, and server info
Email: manage accounts, forwarders, autoresponders, routing, filters, SpamAssassin, greylisting, and spam box
Email Auth: enable/validate DKIM, install/validate SPF, validate PTR records
DNS & DNSSEC: view/add/edit/delete DNS records; enable/disable DNSSEC, fetch DS records, export DNSKEY, manage NSEC3
Domains: list domains, manage addon/subdomains/parked domains, create/delete redirects
Cron & PHP: list/create/edit/delete cron jobs; manage PHP versions and INI directives
SSL/TLS: list/install/delete certificates, generate CSRs, check AutoSSL, list private keys
Security: IP blocker, SSH keys, hotlink protection, directory privacy, ModSecurity WAF, two-factor auth
Virus Scanning: run ClamAV scans, check status, view/quarantine/disinfect results
Metrics & Logs: bandwidth, resource usage, error logs, visitor stats, account stats
Backups & FTP: create/restore backups; manage FTP accounts, quotas, sessions, and port
Applications & Deployment: list WordPress installs; manage Node.js/Python/Ruby apps via Passenger; manage Git repos and deployments
Account Admin: manage API tokens, check features, view account/server info
Manages cPanel hosting accounts including files, disk usage, email, DNS, domains, SSL, security, backups, FTP, and more via cPanel's UAPI/API2.
Creates, lists, updates, deletes Git repositories and manages deployment via .cpanel.yml (requires Git Version Control feature).
Full CRUD for MySQL databases, users, and privileges, with server info and privilege management.
Registers, unregisters, enables, disables, and installs dependencies for Node.js apps via Phusion Passenger.
Lists installed PHP versions, gets/sets PHP version per domain, and reads/modifies PHP INI directives.
Full CRUD for PostgreSQL databases, users, and privileges, with grant/revoke access per database.
Registers, unregisters, enables, disables, and installs dependencies for Python apps via Phusion Passenger.
Registers, unregisters, enables, disables, and installs dependencies for Ruby apps via Phusion Passenger.
Lists WordPress installations (requires WP Toolkit/Instance Manager).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cPanel MCP Server Create a new MySQL database called mydb"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cPanel MCP Server
A comprehensive Model Context Protocol (MCP) server for managing cPanel hosting accounts through AI assistants. Connects directly to cPanel's UAPI and API2, enabling natural language management of web hosting — DNS, DNSSEC, email (with DKIM/SPF), databases, domains, SSL/AutoSSL, PHP, cron jobs, security (WAF, IP blocker, virus scanner, 2FA), Git deployment, Node.js/Python apps, and more.
Features
File Management
List, create, read, edit, and delete files in your hosting account
Disk Usage
Account quota info — check disk space consumption and limits
MySQL Database Management
Full CRUD for databases, users, and privileges
Server info — version and restriction details
Privilege management — grant/revoke per database
PostgreSQL Database Management
Full CRUD for databases, users, and privileges
Grant/revoke access per database
Email Management
Email accounts — create, delete, change password, set quotas, list with disk usage
Forwarders — create, list, and delete email forwarding rules
Autoresponders — create, list, and delete out-of-office / autoresponse messages
Email routing — view mail domain configuration
Email Authentication (DKIM/SPF)
DKIM — enable, disable, validate, and ensure keys exist for all domains
SPF — validate and install/update SPF records
PTR — validate reverse DNS records
Email Filters & Spam
Email filters — list, add/update, delete, and trace/test filters
SpamAssassin — enable/disable, configure spam box, get settings, clear spam
Greylisting — enable/disable for all domains
DNS Management
Get zone records for any domain (via API2 ZoneEdit)
Add, edit, and delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, CAA)
DNSSEC
Enable/disable DNSSEC for domains
DS records — fetch for registrar configuration
DNSKEY export — export zone keys
NSEC3 — enable/disable (prevents zone enumeration)
Domain Management
List all domains — main, addon, subdomains, and parked
Addon domains — create and delete
Subdomains — create and delete with custom document roots
Parked domains (aliases) — park and unpark
Redirects — create and delete URL redirects (301/302)
Cron Job Management
List, create, edit, and delete cron jobs (via API2)
Notification email — get and set the cron notification address
PHP Management
List installed PHP versions available on the server
Get/set PHP version per domain
PHP INI directives — read and modify (memory_limit, upload_max_filesize, etc.)
SSL/TLS Management
List certificates and SSL status per domain
Install and delete SSL certificates
Generate CSR for certificate requests
AutoSSL — check status and trigger renewal
List private keys
Security
IP Blocker — list, block, and unblock IP addresses/ranges
SSH Keys — list, import, delete, authorize, and deauthorize keys
Hotlink Protection — get status, enable with custom settings, disable
Directory Privacy — list protected directories and add users
ModSecurity (WAF)
Status — check if ModSecurity is installed, list domain status
Enable/disable globally or per domain
Two-Factor Authentication
Status — check if 2FA is configured
Setup — generate secret/QR code, enable with verification
Remove — disable 2FA
Virus Scanner (ClamAV) requires ClamAV plugin
Scan — start virus scan on a directory
Status — check scan progress
Results — list infected files, quarantine/disinfect
Metrics & Logs
Bandwidth usage statistics
Resource usage — CPU, memory, I/O, entry processes
Error logs — recent error entries
Visitor stats — per-domain access statistics
Account stats — summary of email accounts, databases, domains, disk, bandwidth
Backup Management
Full account backup to home directory
Partial backups — home directory, databases, and email separately
Restore — database and file restore from backup
List available backups
FTP Management
List FTP accounts with disk usage
Create and delete FTP accounts
Change password and quota
Active sessions — list and terminate
Server port info
Applications & Deployment
WordPress — list installations (requires WP Toolkit / Instance Manager)
Node.js/Python/Ruby apps — register, unregister, enable, disable, install dependencies (requires Phusion Passenger)
Git repositories — create, list, update, delete, and deploy via
.cpanel.yml(requires Git Version Control feature)
Account Management
API tokens — list, create, rename, and revoke
Features — list available features, check if specific features are enabled
Account info — user information, server details
Related MCP server: cPanel MCP Server
Installation and Configuration
Prerequisites
Node.js 18+
A cPanel account with API token access
Build
npm install
npm run buildConfigure
Add the following to your MCP settings configuration (e.g., claude_desktop_config.json, cline_mcp_settings.json, or your IDE's MCP config):
{
"mcpServers": {
"cpanel": {
"command": "node",
"args": ["/path/to/cPanel-MCP-Server/build/index.js"],
"env": {
"CPANEL_USERNAME": "your_cpanel_username",
"CPANEL_API_TOKEN": "your_cpanel_api_token",
"CPANEL_SERVER_URL": "https://your-domain.com:2083"
}
}
}
}Replace the placeholder values with your actual cPanel credentials.
Environment Variables
Variable | Required | Default | Description |
| Yes | — | cPanel account username |
| Yes | — | API token for authentication |
| Yes | — | cPanel server URL (e.g., |
| No |
| Allow plain HTTP only for explicit loopback development endpoints |
| No |
| Request timeout in milliseconds |
| No |
| Set to |
Getting a cPanel API Token
Log in to cPanel
Go to Security > Manage API Tokens
Create a new token with a descriptive name
Copy the token — it won't be shown again
Available Tools (164 total)
Category | Count |
File Management | 5 |
Disk Usage | 1 |
MySQL | 9 |
PostgreSQL | 8 |
Email (accounts, forwarders, autoresponders) | 12 |
Email Authentication (DKIM/SPF/PTR) | 7 |
Email Filters & Spam | 13 |
DNS | 4 |
DNSSEC | 6 |
Domains (addon, sub, parked, redirects) | 14 |
Cron Jobs | 6 |
PHP | 5 |
SSL/TLS & AutoSSL | 8 |
Security (IP blocker, SSH, hotlink, privacy) | 13 |
ModSecurity (WAF) | 5 |
Two-Factor Auth | 4 |
Virus Scanner (ClamAV) | 4 |
Metrics & Logs | 5 |
Backups | 7 |
FTP | 8 |
WordPress | 1 |
Passenger Apps (Node.js/Python/Ruby) | 6 |
Git Version Control & Deployment | 6 |
API Tokens | 4 |
Account & Server Info | 4 |
Architecture
src/
├── index.ts # MCP server entry point — registers all 25 tool modules
├── cpanel-api.ts # cPanel API client (UAPI + API2, token auth, error handling)
└── tools/
├── files.ts # File operations (Fileman)
├── disk.ts # Disk usage (Quota, DiskUsage)
├── mysql.ts # MySQL databases (Mysql)
├── postgresql.ts # PostgreSQL databases (Postgresql)
├── email.ts # Email accounts, forwarders, autoresponders (Email)
├── email-auth.ts # DKIM, SPF, PTR validation (EmailAuth)
├── email-filters.ts # Filters, SpamAssassin, Greylisting
├── dns.ts # DNS zone records (DNS)
├── dnssec.ts # DNSSEC management (DNSSEC)
├── domains.ts # Domains, subdomains, redirects
├── cron.ts # Cron jobs (API2 Cron)
├── php.ts # PHP version & INI (LangPHP)
├── ssl.ts # SSL/TLS & AutoSSL (SSL)
├── security.ts # IP blocker, SSH, hotlink, privacy
├── modsecurity.ts # ModSecurity WAF
├── twofa.ts # Two-factor authentication
├── virus-scanner.ts # ClamAV virus scanner
├── metrics.ts # Bandwidth, resources, logs, stats
├── backups.ts # Full & partial backups, restore
├── ftp.ts # FTP accounts & sessions
├── wordpress.ts # WordPress installations
├── passenger.ts # Node.js/Python/Ruby apps
├── version-control.ts # Git repos & deployment
├── tokens.ts # API token management
└── features.ts # Feature checks & server infoAPI Compatibility
UAPI (preferred) — used for most modules
API2 (legacy) — used where cPanel has no UAPI equivalent:
Cron jobs —
Cron::fetchcron,add_line,edit_line,remove_line,get_email,set_emailDNS records —
ZoneEdit::fetchzone_records,add_zone_record,edit_zone_record,remove_zone_recordSubdomains —
SubDomain::listsubdomains,addsubdomain,delsubdomainAddon domains —
AddonDomain::listaddondomains,addaddondomain,deladdondomainParked domains —
Park::listparkeddomains,park,unparkIP blocking list —
DenyIp::listdenyips
Both API versions share the same authenticated client with retry logic and error handling
Security
Your cPanel credentials are loaded from environment variables at runtime and are never stored in the repository. The API token should be treated as a secret — do not commit it to version control.
The server requires HTTPS by default. Plain HTTP is accepted only for parsed loopback hosts when CPANEL_ALLOW_INSECURE_HTTP=true; remote HTTP endpoints are always rejected. Path validation is defense in depth, while cPanel remains responsible for enforcing account-home containment on the remote filesystem.
License
ISC
Available Tools
164 toolsadd_directory_userB
Add a user to a password-protected directory
Inputs: dir (required), user (required), password (required).
add_dns_recordB
Add a DNS zone record (A, AAAA, CNAME, MX, TXT, SRV, CAA)
Inputs: name (required), type (required), domain (required), address (required), +3 more.
authorize_ssh_keyB
Authorize an SSH key for login
Inputs: name (required).
block_ipA
Block an IP address or range
Inputs: ip (required).
change_email_passwordB
Change password for an email account
Inputs: email (required), password (required).
change_email_quotaC
Change mailbox quota for an email account
Inputs: email (required), quota (required).
change_ftp_passwordB
Change an FTP account password
Inputs: user (required), domain (required), password (required).
change_ftp_quotaA
Change an FTP account's disk quota
Inputs: user (required), quota (required), domain (required).
check_featureA
Check if a specific feature is enabled for the account
Inputs: feature (required).
clear_spam_boxA
Clear all messages from the SpamAssassin spam box
Inputs: no named parameters.
create_addon_domainB
Create a new addon domain
Inputs: domain (required), subdomain (required), document_root (required).
create_api_tokenA
Create a new cPanel API token with full access
Inputs: name (required).
create_autoresponderC
Create an email autoresponder
Inputs: body (required), from (required), email (required), subject (required), +1 more.
create_cron_jobC
Create a new cron job
Inputs: command (required), day, hour, month, +2 more.
create_database_backupC
Create a backup of a specific MySQL database
Inputs: database (required).
create_email_accountC
Create a new email account
Inputs: email (required), password (required), quota.
create_email_backupA
Create a backup of email configurations and data
Inputs: no named parameters.
create_email_forwarderC
Create an email forwarder
Inputs: email (required), forward_to (required).
create_fileB
Create a new file with specified content
Inputs: path (required), content (required).
create_ftp_accountB
Create a new FTP account
Inputs: user (required), password (required), quota, domain, +1 more.
create_full_backupC
Create a full account backup
Inputs: port, rdir, user, email, +3 more.
create_git_repoB
Create a new Git repository in cPanel
Inputs: name (required), repository_root (required), source_repository.
create_homedir_backupB
Create a backup of the home directory files
Inputs: no named parameters.
create_mysql_databaseB
Create a new MySQL database
Inputs: name (required).
create_mysql_userB
Create a new MySQL database user
Inputs: name (required), password (required).
create_parked_domainB
Park/alias a domain to the main domain
Inputs: domain (required).
create_postgresql_databaseB
Create a new PostgreSQL database
Inputs: name (required).
create_postgresql_userB
Create a new PostgreSQL user
Inputs: name (required), password (required).
create_redirectB
Create a URL redirect
Inputs: domain (required), redirect_url (required), path, type, +1 more.
create_subdomainC
Create a new subdomain
Inputs: domain (required), subdomain (required), document_root.
deauthorize_ssh_keyA
Deauthorize an SSH key (revoke login access)
Inputs: name (required).
delete_addon_domainB
Delete an addon domain
Inputs: domain (required), subdomain (required).
delete_autoresponderB
Delete an email autoresponder
Inputs: email (required).
delete_cron_jobB
Delete a cron job
Inputs: linekey (required).
delete_dns_recordA
Delete a DNS zone record by line number
Inputs: line (required), domain (required).
delete_email_accountC
Delete an email account
Inputs: email (required).
delete_email_filterB
Delete an email filter
Inputs: account (required), filtername (required).
delete_email_forwarderC
Delete an email forwarder
Inputs: email (required), forward_to (required).
delete_fileC
Delete a file or directory
Inputs: path (required).
delete_ftp_accountB
Delete an FTP account
Inputs: user (required), domain (required), destroy.
delete_git_repoB
Delete a Git repository from cPanel
Inputs: repository_root (required).
delete_mysql_databaseB
Delete a MySQL database
Inputs: name (required).
delete_mysql_userB
Delete a MySQL database user
Inputs: name (required).
delete_parked_domainA
Remove a parked/aliased domain
Inputs: domain (required).
delete_postgresql_databaseB
Delete a PostgreSQL database
Inputs: name (required).
delete_postgresql_userB
Delete a PostgreSQL user
Inputs: name (required).
delete_redirectB
Delete a URL redirect
Inputs: path (required), domain (required).
delete_ssh_keyB
Delete an SSH key
Inputs: name (required), type (required).
delete_ssl_certificateA
Delete/uninstall an SSL certificate from a domain
Inputs: domain (required).
delete_subdomainC
Delete a subdomain
Inputs: subdomain (required).
deploy_git_repoA
Deploy a Git repository (trigger deployment via .cpanel.yml)
Inputs: repository_root (required).
disable_dkimB
Disable DKIM for a domain
Inputs: domain (required).
disable_dnssecA
Disable DNSSEC for a domain
Inputs: domain (required).
disable_greylistingA
Disable greylisting for all domains
Inputs: no named parameters.
disable_hotlink_protectionC
Disable hotlink protection
Inputs: no named parameters.
disable_modsecurityA
Disable ModSecurity (WAF) for all domains
Inputs: no named parameters.
disable_modsecurity_domainA
Disable ModSecurity for specific domains
Inputs: domains (required).
disable_passenger_appC
Disable/stop a registered application
Inputs: name (required).
disable_spam_assassinA
Disable SpamAssassin spam filtering
Inputs: no named parameters.
disable_spam_boxB
Disable the spam box
Inputs: no named parameters.
disinfect_filesB
Quarantine/disinfect files detected as infected
Inputs: no named parameters.
edit_cron_jobC
Edit an existing cron job
Inputs: command (required), linekey (required), day, hour, +3 more.
edit_dns_recordA
Edit an existing DNS zone record
Inputs: line (required), name (required), type (required), domain (required), +2 more.
edit_fileA
Update the contents of an existing file
Inputs: path (required), content (required).
enable_dkimB
Enable DKIM (DomainKeys Identified Mail) for a domain
Inputs: domain (required).
enable_dnssecA
Enable DNSSEC for a domain
Inputs: domain (required).
enable_greylistingA
Enable greylisting for all domains (delays first-time senders to block spam)
Inputs: no named parameters.
enable_hotlink_protectionC
Enable hotlink protection
Inputs: urls (required), extensions, redirect_url.
enable_modsecurityA
Enable ModSecurity (WAF) for all domains
Inputs: no named parameters.
enable_modsecurity_domainB
Enable ModSecurity for specific domains
Inputs: domains (required).
enable_passenger_appC
Enable/start a registered application
Inputs: name (required).
enable_spam_assassinA
Enable SpamAssassin spam filtering for the account
Inputs: no named parameters.
enable_spam_boxA
Enable the spam box (auto-deliver spam to a separate folder)
Inputs: no named parameters.
ensure_dkim_keysA
Ensure DKIM keys exist for all domains (generates missing keys)
Inputs: no named parameters.
ensure_passenger_depsA
Install/update dependencies for a registered application (npm install, pip install, etc.)
Inputs: name (required).
export_dnssec_keyA
Export a DNSSEC DNSKEY record for a domain
Inputs: domain (required).
generate_2fa_configA
Generate a new two-factor authentication secret (returns QR code data)
Inputs: no named parameters.
generate_ssl_csrB
Generate a Certificate Signing Request (CSR)
Inputs: city (required), email (required), state (required), domain (required), +3 more.
get_2fa_statusA
Check if two-factor authentication is configured for the account
Inputs: no named parameters.
get_account_infoB
Get general server and account information
Inputs: no named parameters.
get_account_statsA
Get general account statistics (email count, db count, domains, etc.)
Inputs: no named parameters.
get_autossl_statusA
Check AutoSSL status and pending requests
Inputs: no named parameters.
get_bandwidth_usageA
Get bandwidth usage statistics for the account
Inputs: no named parameters.
get_cron_emailA
Get the email address for cron job notifications
Inputs: no named parameters.
get_disk_usageA
Get account disk space usage summary (quota, used, limits)
Inputs: no named parameters.
get_dns_recordsB
Get all DNS records for a zone/domain
Inputs: domain (required).
get_dnssec_ds_recordsA
Fetch DS records for a DNSSEC-enabled domain (needed for registrar configuration)
Inputs: domain (required).
get_domain_infoB
Get detailed information about a specific domain
Inputs: domain (required).
get_email_routingA
Get email routing configuration for all mail domains
Inputs: no named parameters.
get_error_logA
Get the most recent entries from the site error log
Inputs: domain (required).
get_ftp_portB
Get the FTP server port number
Inputs: no named parameters.
get_git_deployment_statusB
Get the deployment status of a Git repository
Inputs: repository_root (required).
get_greylisting_statusA
Check if greylisting is enabled for the account
Inputs: no named parameters.
get_hotlink_protectionA
Get current hotlink protection settings
Inputs: no named parameters.
get_modsecurity_statusA
Check if ModSecurity (WAF) is installed and get domain status
Inputs: no named parameters.
get_mysql_server_infoB
Get MySQL server information and restrictions
Inputs: no named parameters.
get_php_ini_directivesA
Get current PHP INI directives for the account
Inputs: no named parameters.
get_php_version_for_domainA
Get the current PHP version assigned to a domain
Inputs: domain (required).
get_resource_usageA
Get current resource usage (CPU, memory, I/O, entry processes)
Inputs: no named parameters.
get_server_infoA
Get server information (hostname, OS, IP addresses)
Inputs: no named parameters.
get_spam_settingsB
Get SpamAssassin settings and score threshold
Inputs: no named parameters.
get_ssl_statusA
Get SSL status for all domains on the account
Inputs: no named parameters.
get_virus_scan_statusA
Check the status of a running virus scan
Inputs: no named parameters.
get_visitors_statsC
Get visitor/access statistics for a domain
Inputs: domain (required).
import_ssh_keyB
Import an SSH public or private key
Inputs: key (required), name (required), type.
install_spf_recordsB
Install/update SPF records for all domains
Inputs: no named parameters.
install_ssl_certificateB
Install an SSL certificate for a domain
Inputs: key (required), cert (required), domain (required), cabundle.
kill_ftp_sessionA
Terminate an active FTP session
Inputs: id (required).
list_addon_domainsA
List all addon domains
Inputs: no named parameters.
list_api_tokensA
List all cPanel API tokens for the account
Inputs: no named parameters.
list_autorespondersA
List all email autoresponders
Inputs: no named parameters.
list_backupsA
List available backups on the account
Inputs: no named parameters.
list_blocked_ipsA
List all blocked IP addresses
Inputs: no named parameters.
list_cron_jobsA
List all cron jobs on the account
Inputs: no named parameters.
list_directory_privacyA
List directories with password protection configured
Inputs: path.
list_domainsA
List all domains on the account (main, addon, sub, parked)
Inputs: no named parameters.
list_email_accountsA
List all email accounts with disk usage info
Inputs: no named parameters.
list_email_filtersA
List all email filters for an account
Inputs: account (required).
list_email_forwardersA
List all email forwarders
Inputs: no named parameters.
list_featuresA
List all features available to the cPanel account
Inputs: no named parameters.
list_filesB
List files and directories in a specified path
Inputs: path.
list_ftp_accountsA
List all FTP accounts with disk usage
Inputs: no named parameters.
list_ftp_sessionsA
List active FTP sessions
Inputs: no named parameters.
list_git_reposA
List all Git repositories managed by cPanel
Inputs: no named parameters.
list_infected_filesA
List files detected as infected by ClamAV
Inputs: no named parameters.
list_mysql_databasesA
List all MySQL databases on the account
Inputs: no named parameters.
list_mysql_usersA
List all MySQL database users
Inputs: no named parameters.
list_parked_domainsA
List all parked/aliased domains
Inputs: no named parameters.
list_passenger_appsA
List all registered Node.js/Python/Ruby applications
Inputs: no named parameters.
list_php_versionsA
List all installed PHP versions available on the server
Inputs: no named parameters.
list_postgresql_databasesA
List all PostgreSQL databases
Inputs: no named parameters.
list_postgresql_usersA
List all PostgreSQL users
Inputs: no named parameters.
list_redirectsA
List all URL redirects
Inputs: no named parameters.
list_ssh_keysA
List all SSH keys on the account
Inputs: no named parameters.
list_ssl_certificatesA
List all installed SSL certificates
Inputs: no named parameters.
list_ssl_keysA
List all SSL private keys on the account
Inputs: no named parameters.
list_subdomainsA
List all subdomains
Inputs: no named parameters.
list_wordpress_installationsA
List all WordPress installations managed by cPanel (requires WP Toolkit or Instance Manager on server)
Inputs: no named parameters.
read_fileA
Read the contents of a file
Inputs: path (required).
register_passenger_appB
Register a new Node.js, Python, or Ruby application
Inputs: name (required), path (required), domain (required), base_uri, +3 more.
remove_2faA
Remove/disable two-factor authentication from the account
Inputs: no named parameters.
rename_api_tokenB
Rename an existing API token
Inputs: name (required), new_name (required).
restore_database_backupB
Restore a MySQL database from a backup file
Inputs: backup_file (required), timeout.
restore_file_backupC
Restore a file from a backup
Inputs: backup_file (required), directory.
revoke_api_tokenA
Revoke/delete an API token
Inputs: name (required).
revoke_mysql_privilegesB
Revoke all privileges for a MySQL user on a database
Inputs: user (required), database (required).
revoke_postgresql_privilegesB
Revoke a PostgreSQL user's access to a database
Inputs: user (required), database (required).
set_2faB
Enable two-factor authentication with a secret and verification code
Inputs: code (required), secret (required).
set_cron_emailA
Set the email address for cron job notifications
Inputs: email (required).
set_dnssec_nsec3A
Enable NSEC3 for a DNSSEC domain (prevents zone enumeration)
Inputs: domain (required).
set_mysql_privilegesB
Set privileges for a MySQL user on a database
Inputs: user (required), database (required), privileges.
set_php_ini_directivesB
Set PHP INI directives (e.g., memory_limit, upload_max_filesize)
Inputs: content (required).
set_php_version_for_domainB
Set the PHP version for a domain
Inputs: domain (required), version (required).
set_postgresql_privilegesB
Grant a PostgreSQL user access to a database
Inputs: user (required), database (required).
start_virus_scanB
Start a ClamAV virus scan on a directory (requires ClamAV plugin on server)
Inputs: path.
trace_email_filterA
Test email filters against a message to see which rules match
Inputs: msg (required), account (required).
trigger_autosslA
Trigger an AutoSSL check/renewal for the account
Inputs: no named parameters.
unblock_ipA
Unblock a previously blocked IP address
Inputs: ip (required).
unregister_passenger_appB
Unregister/remove a Node.js, Python, or Ruby application
Inputs: name (required).
unset_dnssec_nsec3A
Disable NSEC3 for a DNSSEC domain (revert to NSEC)
Inputs: domain (required).
update_git_repoC
Pull/update a Git repository
Inputs: repository_root (required), branch.
validate_dkimA
Validate current DKIM configuration for all domains
Inputs: no named parameters.
validate_ptr_recordsA
Validate current PTR (reverse DNS) records
Inputs: no named parameters.
validate_spfA
Validate current SPF records for all domains
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 164 tools
The 164 tools are organized into clear functional domains (email, DNS, databases, files, etc.) with each tool targeting a distinct resource and action. Even similar operations on different resources (e.g., MySQL vs PostgreSQL) are explicitly distinguished, leaving no ambiguity.
Tool names follow a consistent verb_noun pattern throughout, using list_, create_, delete_, get_, set_, enable_, and disable_ prefixes. Minor variations like 'change' vs 'set' do not disrupt the overall predictability.
With 164 tools, this server has an extreme count that overwhelms any agent's ability to select the right tool efficiently. This far exceeds the practical upper limit for a coherent MCP server, even for a broad domain like cPanel.
The server covers a wide range of cPanel features, but notable gaps remain: no way to change MySQL/PostgreSQL user passwords, no create/edit for email filters (only list/delete), and no restore for full/home backups. These missing lifecycle operations hinder complete domain coverage.
Maintenance
Related MCP Connectors
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Hosted MySQL MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
Related MCP Servers
- AlicenseBqualityDmaintenanceA local MCP server for managing WHM and cPanel servers through AI clients, supporting server health, account, DNS, email, database, SSL, bandwidth, disk, cron, and service-management tools across multiple WHM accounts.31MIT
- AlicenseAqualityDmaintenanceA complete MCP server enabling AI assistants to manage cPanel hosting through natural language, including file, database, email, subdomain, and system operations.161MIT
- AlicenseCqualityCmaintenanceMCP server for managing ISPConfig 3 hosting platform - enables DNS, mail, websites, databases, FTP, cron jobs, and client management through AI assistants. Supports server migration with export/import of configurations.622BSD 3-Clause
- AlicenseNot gradedqualityFmaintenanceA comprehensive MCP server for managing cPanel web hosting accounts via UAPI, enabling file, database, email, domain, cron, backup, and system monitoring operations.21 npm3MIT