WHM (WebHost Manager) MCP server
Ask about every cPanel account on a server without opening WHM.
- Tools
- 53
- Read-only
- 27
- Write
- 26
- Off by default
- Destructive
- 13
- Flagged distinctly
WHM (WebHost Manager) through an assistant
Connect a WHM server and an assistant can inventory every cPanel account on it, look up which account owns a domain, read bandwidth and quota use, inspect DNS zones and installed certificates, and check what each service is doing. Account provisioning, suspension, DNS edits and service restarts all exist and all stay switched off until you turn them on. A connection can additionally be pinned to a named set of accounts, so a root token does not have to mean root reach.
- Every cPanel account on the server, with disk, bandwidth and suspension state
- Which account owns a given domain, and what else that account hosts
- DNS zones and their records, plus installed SSL certificates and AutoSSL state
- Service status, server version, IPs and load at a glance
- Hosting packages and reseller allocations
- Create, modify, suspend and terminate accounts, edit DNS, restart services (opt-in, and the irreversible ones each need explicit confirmation)
What people actually ask
Real questions, answered from live WHM (WebHost Manager) data.
“Which accounts on this server are suspended, and how much disk is each one using?”
whm_list_suspended_accountswhm_account_summary“Who owns example.com on this box, and what else is on that account?”
whm_domain_user_datawhm_list_account_domains“Is anything not running right now, and what's the load looking like?”
whm_service_statuswhm_system_load_avg53 WHM (WebHost Manager) tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Accounts
14 tools6 read-only · 8 writeShowing 10 of 10 tools
- whm_account_bandwidthRead-only
Return bandwidth usage for the cPanel accounts on the server for a given month. If this connection has an account allowlist, only allowed accounts are returned.
- whm_account_summaryRead-only
Return the summary for one cPanel account: its owner, package, disk usage, primary domain, suspension state and contact email. Identify the account by username or by one of its domains.
- whm_change_account_packageWrite
Move a cPanel account onto a different hosting package. The account's disk quota, bandwidth limit, domain limits and feature list are all re-applied from the new package, so moving to a smaller package can put an account immediately over quota.
- whm_change_account_passwordWriteDestructive
Set a new password for a cPanel account. This immediately invalidates the password the account holder is currently using -- they are locked out of cPanel, FTP and webmail until they are given the new one, and running this tool again cannot restore the old password because WHM does not store it in a readable form.
- whm_create_accountWrite
Provision a new cPanel account on the server. This creates a live Unix account, home directory, DNS zone and mail configuration, and consumes a licence slot. Nothing existing is lost, but the account is real and billable the moment this returns.
- whm_domain_user_dataRead-only
Map a domain to the cPanel account that owns it, along with that domain's virtual host configuration (document root, server name, IP). This is the way to find out which account a site belongs to.
- whm_list_account_domainsRead-only
List every domain on one cPanel account -- primary, addon, parked and subdomains -- with each domain's type and document root. Use this rather than the account summary when addon and parked domains matter, since the summary reports only the primary domain.
- whm_list_accountsRead-only
List the cPanel accounts on the server, optionally filtered by a search. If this connection has an account allowlist, only allowed accounts are returned.
- whm_list_suspended_accountsRead-only
List the suspended cPanel accounts on the server, with the reason and time recorded for each suspension. If this connection has an account allowlist, only allowed accounts are returned.
- whm_modify_accountWrite
Change settings on an existing cPanel account: its primary domain, contact email, shell, owner, and its resource limits. Only the fields provided are changed. Changing the domain renames the account's primary domain and rewrites its DNS zone; granting a shell gives the account SSH access to the server.
+ 4 more accounts tools — see the full catalogue
Dns
9 tools3 read-only · 6 writeShowing 9 of 9 tools
- whm_add_dns_zoneWrite
Create a new DNS zone for a domain, seeded from a WHM zone template (A records, MX, and PTR). This creates DNS only -- it does not create a cPanel account or a web vhost.
- whm_add_zone_recordWrite
Add a DNS record to an existing zone. Supply the payload fields matching the record type: address (A/AAAA), cname (CNAME), exchange and preference (MX), txtdata (TXT), priority/weight/port/target (SRV), or flag/tag/value (CAA). Adding a record renumbers the lines below it, so any line number read before this call is stale afterwards.
- whm_delete_dns_zoneWriteDestructive
Permanently delete a domain's entire DNS zone and every record in it. The domain stops resolving as soon as the change propagates. This does not remove the cPanel account or its files -- the site simply becomes unreachable by name. There is no undo and no backup taken.
- whm_edit_zone_recordWrite
Replace the DNS record at a given line number. Read the line number from whm_get_dns_zone immediately before calling, and ideally confirm it with whm_get_zone_record first -- line numbers shift whenever any record is added or removed, and this call overwrites whatever currently sits on that line without checking it is the record you meant.
- whm_get_dns_zoneRead-only
Return a domain's full DNS zone as parsed records. Each record carries a `Line` value -- that is the line number the edit and remove tools require, and it is only valid until the next change to the zone.
- whm_get_zone_recordRead-only
Return the single zone record at a given line number. Use this to confirm a line still holds the record you expect before editing or removing it.
- whm_list_dns_zonesRead-only
List every DNS zone the server is authoritative for, across all cPanel accounts.
- whm_remove_zone_recordWriteDestructive
Permanently delete the DNS record at a given line number. Read the line number from whm_get_dns_zone immediately before calling and confirm it with whm_get_zone_record -- line numbers shift whenever any record is added or removed, so a stale number deletes a different record than intended, with no undo. Removing a record can break mail delivery or take a hostname offline.
- whm_reset_dns_zoneWriteDestructive
Discard a zone's customisations and rebuild it from WHM's default template. Valid TXT records are preserved; every other custom record -- added A records, CNAMEs, MX changes, SRV, CAA -- is lost. Intended for repairing a corrupted zone, not for routine edits.
Ssl
7 tools4 read-only · 3 writeShowing 7 of 7 tools
- whm_autossl_checkWrite
Queue an AutoSSL run for one cPanel account, issuing or renewing certificates for its domains. This is a real request to a public certificate authority, not a dry run: it performs domain control validation and consumes issuance quota. Certificate authorities rate-limit per registered domain per week, so repeated calls against the same account can exhaust the quota and block legitimate renewals for days. Run it once and read the outcome with whm_autossl_get_user_status rather than polling by re-running it.
- whm_autossl_get_providersRead-only
List the AutoSSL certificate providers available on this server and which one is currently enabled.
- whm_autossl_get_user_statusRead-only
Report the AutoSSL domain-control-validation problems for one cPanel account -- the domains AutoSSL could not secure and why. An empty result means AutoSSL found nothing wrong, which is the normal healthy state.
- whm_delete_ssl_certificateWriteDestructive
Delete a hostname's SSL virtual host, removing its HTTPS configuration. The site stops serving on port 443 immediately -- visitors on https:// get a connection failure, not a redirect to http://. This does not delete the cPanel account or its files.
- whm_get_ssl_infoRead-only
Inspect an SSL certificate: its covered domains, CA bundle, expiry, and associated IP. Pass a domain to look up what the server holds for it, or pass certificate text to parse a certificate you already have. Note that cPanel reports the certificate it considers AVAILABLE for the domain, which is not always the one currently serving traffic.
- whm_install_ssl_certificateWriteDestructive
Install an SSL certificate and private key on a domain, replacing whatever certificate is currently serving it. The previous certificate and key are overwritten and cannot be recovered through the API, and a mismatched certificate and key will break HTTPS on a live site immediately. Always supply the CA bundle unless the certificate is self-signed -- omitting it leaves an incomplete chain that many clients reject. Pass the PEM text exactly as issued; do not URI-encode it.
- whm_list_ssl_certificatesRead-only
List installed SSL certificates and the domains they cover. Without a username this returns every certificate on the server; pass a username to scope it to one account. If this connection has an allowed-accounts list, a username is required.
Packages
5 tools2 read-only · 3 writeShowing 5 of 5 tools
- whm_create_packageWrite
Create a new hosting package (plan) on the server. Creating a package does not change any existing account -- it only makes a new set of limits available to assign.
- whm_delete_packageWriteDestructive
Permanently delete a hosting package. The package definition is gone and cannot be recovered without recreating it by hand from its exact settings. Accounts currently assigned to the package are not deleted, but they are left referencing a plan that no longer exists, which breaks package-based reporting and blocks any later attempt to re-apply their plan's limits.
- whm_edit_packageWrite
Change the settings on an existing hosting package. Only the fields provided are changed. Note that this reaches beyond the package itself: accounts already assigned to it have the new limits applied, so lowering a quota or bandwidth limit here can put live accounts over their limit immediately.
- whm_get_packageRead-only
Return the full configuration of one hosting package: its disk quota, bandwidth limit, domain and mailbox limits, feature list, and shell and CGI settings.
- whm_list_packagesRead-only
List the hosting packages (plans) available on the server. These are the plan names accepted by whm_create_account and whm_change_account_package.
Resellers
5 tools3 read-only · 2 writeShowing 5 of 5 tools
- whm_account_countsRead-only
Return a reseller's total accounts, suspended accounts, and account creation limit. Omit the user to report on the account the API token belongs to.
- whm_list_resellersRead-only
List the reseller accounts on the server.
- whm_reseller_statsRead-only
Return a reseller's information, including the accounts they own and their usage.
- whm_setup_resellerWrite
Grant a cPanel account reseller privileges. This is a privilege escalation: the account gains the ability to create, suspend and terminate other cPanel accounts, subject to the limits and package permissions set for it afterwards. It does not by itself grant any account quota.
- whm_unsetup_resellerWriteDestructive
Revoke a cPanel account's reseller privileges. The accounts it owns are not deleted, but the account loses its control over them -- anyone relying on that reseller login to manage their customers' accounts will lose access until the status is granted again.
Backups
5 tools3 read-only · 2 writeShowing 5 of 5 tools
- whm_activate_restore_queueWriteDestructive
Start WHM's restoration queue, carrying out every restoration queued by whm_restore_account_backup. This is the call that actually overwrites live account data with backup contents, and it starts the ENTIRE queue -- including any restorations queued outside ServeMCP -- so read the queue in WHM before running it. Anything created since each backup was taken is lost. This cannot be limited to one account.
- whm_get_backup_configRead-only
Return the server's backup configuration -- whether backups are enabled, the schedule, retention, and the configured destinations.
- whm_list_backup_setsRead-only
List the backup files held on the server's local disk for its accounts.
- whm_list_backup_usersRead-only
List the cPanel accounts that have a backup for a given date, on local disk or on an additional backup destination, along with each account's backup status. WHM keys backups by date rather than by account, so a date is required; to find out whether one account is covered, list a date and look for that account.
- whm_restore_account_backupWriteDestructive
Add a cPanel account to WHM's restoration queue, to be restored from the backup taken on a given date. Restoring overwrites the account's current live data -- files, databases and mail -- with the older contents of that backup, and anything created since the backup was taken is lost. This call only QUEUES the restoration; it does not carry it out and it does not report on one. The queue must be started separately from WHM's Backup Restoration interface, so a successful result here means the account is scheduled, not that its data has been replaced.
Server
5 tools5 read-only · 0 writeShowing 5 of 5 tools
- whm_api_function_listRead-only
Return the alphabetical list of WHM API 1 functions available on this server. Useful for confirming what this cPanel version supports and what the token is privileged to call. This does NOT list installed applications or software packages.
- whm_list_ipsRead-only
Return the IP addresses bound to the server.
- whm_server_hostnameRead-only
Return the server's hostname.
- whm_server_versionRead-only
Return the cPanel & WHM version running on the server.
- whm_system_load_avgRead-only
Return the server's 1, 5, and 15 minute load averages.
Services
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- whm_configure_serviceWrite
Enable or disable a service, and turn WHM's monitoring of it on or off. Disabling a service stops it for every account on the server; turning off monitoring means WHM will no longer restart it automatically when it fails. At least one of enabled or monitored must be supplied.
- whm_restart_serviceWriteDestructive
Restart a service on the server. This drops every live connection to that service across every account on the machine -- restarting httpd interrupts in-flight requests to every hosted site, restarting exim interrupts mail delivery for every account, restarting mysql drops every open database connection. The effect is server-wide, not scoped to one account, and it cannot be limited by the connection's allowed-accounts list.
- whm_service_statusRead-only
Return the running state of the server's services -- which are up, which are down, and which are monitored.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Your own credential
You supply your own WHM (WebHost Manager) key, scoped however you like on their side. It is encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect WHM (WebHost Manager) in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect WHM (WebHost Manager).
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}Put WHM (WebHost Manager) in front of your assistant
Free plan, no card required. Connect in minutes.