Skip to main content
Glama
cPanel/WHM MCP Server

cPanel/WHM MCP Server

by nathjc2

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WHM_HOSTYesThe WHM server hostname. HTTPS only; http:// is refused.
WHM_PORTNoWHM's HTTPS port.2087
WHM_USERNAMENoThe user that owns the token (root or a reseller).root
WHM_API_TOKENYesThe WHM API token.
WHM_AUDIT_LOGNoWhere write actions are logged.~/.whm-mcp/audit.log
WHM_TIMEOUT_MSNoTimeout for each API request.30000
WHM_TLS_INSECURENoSkips certificate checks. Anyone able to intercept the connection could capture your token, so use this only on a network you trust, and prefer giving the server a valid certificate.false
WHM_WRITE_CATEGORIESNoWrite tools to enable: any of accounts, dns, email, or all. Empty means read-only.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
whm_list_accountsB

List cPanel accounts with their main domain, plan, owner, disk usage and suspension status. Sorted by username.

whm_get_accountB

Get the full summary of one cPanel account, including its limits and suspension details.

whm_disk_usageA

List disk and inode usage per account. Use min_percent to find accounts near their quota, or the default sort with a small limit to find the biggest consumers. Accounts with an unlimited quota have a null percent_used and are left out when min_percent is set.

whm_bandwidth_usageA

List bandwidth usage per account for one month, highest first. Defaults to the current month. Use a small limit to find the biggest consumers.

whm_list_domainsA

List domains and subdomains with their owning account, type, document root and PHP version. Use the domain filter to find which account owns a domain.

whm_list_dns_zonesB

List the DNS zones on this server.

whm_get_dns_zoneA

Get a zone's records and current serial. To change the zone, pass this serial and these line_index values to whm_edit_dns_zone.

whm_ssl_certificatesA

List the SSL certificate installed on each virtual host, soonest expiry first. Use expiring_within_days to find certificates that need attention. A negative days_remaining means the certificate has already expired.

whm_autossl_problemsA

List the latest AutoSSL domain validation (DCV) problems for one account, which usually explain why a certificate isn't renewing.

whm_list_email_accountsA

List an account's mailboxes with their disk usage, quota and suspension status.

whm_list_email_forwardersC

List the email forwarders on one domain.

whm_email_delivery_searchA

Search the server's mail delivery records, newest first, to work out why a message did not arrive. By default it returns failed and deferred deliveries from the last 24 hours.

whm_list_databasesB

List an account's MySQL databases with their size and assigned users.

whm_list_database_usersA

List an account's MySQL users and the databases each one can access.

whm_php_versionsA

List the PHP version of every virtual host. Use exact_version or older_than to find sites on an outdated version. unresolved_count is the number of sites whose version couldn't be worked out. Those sites are left out when you filter, so check them separately before calling a server clean.

whm_get_error_logA

Get recent error log lines for a domain. php reads the error_log file in the domain's document root. apache_error and apache_suexec read the Apache logs for that domain. If php returns nothing, the site may log PHP errors elsewhere, so try apache_error.

whm_account_resource_usageA

Get one account's usage against its limits, including disk, bandwidth, databases, email accounts and domains. A null maximum means unlimited.

whm_server_statusA

Get the server's load averages and this MCP server's safety settings, including which categories of write tools are enabled. If a write tool seems to be missing, check here first.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 18 tools

Disambiguation4/5

Most tools target a clearly distinct resource (accounts, DNS, SSL, email, databases, PHP, logs), and descriptions add useful cross-references (e.g. get_dns_zone pointing to edit_dns_zone, error-log source hints). Minor overlap: whm_list_accounts vs whm_get_account, and whm_disk_usage/whm_bandwidth_usage/whm_account_resource_usage all report usage from different angles, so an agent must read descriptions to pick correctly.

Naming Consistency3/5

All names share a consistent whm_ prefix, but the conventions below that are mixed: verb_noun (whm_get_account, whm_list_accounts, whm_get_error_log) versus plain noun phrases (whm_disk_usage, whm_ssl_certificates, whm_php_versions, whm_server_status) and one noun_verb oddity (whm_email_delivery_search). It stays readable, but the pattern is not predictable from name alone.

Tool Count4/5

18 tools is on the high side, but each maps to a distinct facet of server administration (accounts, DNS, SSL/AutoSSL, mail, databases, PHP, logs, server health), so none feel redundant. Slightly heavy but reasonable for a WHM-wide inspection surface.

Completeness3/5

The read/diagnostic surface is broad and coherent, but it is almost entirely read-only: no write/edit/delete operations appear, and whm_get_dns_zone explicitly instructs passing the serial to whm_edit_dns_zone, a tool that does not exist in this set. whm_server_status hints write tools may be gated, but from the agent's view these are dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues