Skip to main content
Glama
cPanel/WHM MCP Server

cPanel/WHM MCP Server

by nathjc2

PHP versions by site

whm_php_versions
Read-onlyIdempotent

Lists each virtual host's PHP version and filters sites by exact version or those older than a target. Check unresolved_count separately, as filtered results exclude unresolved sites.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
userNoOnly return this account's sites.
limitNoMaximum items to return.
offsetNoItems to skip. Use next_offset from the previous response.
older_thanNoOnly return sites below this PHP version, such as 8.1.
exact_versionNoOnly return sites on this PHP version, such as 7.4.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description contributes real behavioral detail beyond that: sites with unresolved versions are reported via unresolved_count and are silently excluded from filtering, which is exactly the kind of trap an agent needs flagged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, then filters, then the caveat. No filler or restated schema text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five fully documented parameters and no output schema, the description covers the main risk areas: filter semantics and the unresolved-version blind spot. A brief note on response shape or pagination would close the remaining gap, though the schema already references next_offset.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description earns above baseline by clarifying the direction of older_than ("below this version") and by explaining that filter results omit unresolved hosts, which amplifies how the filter parameters should be interpreted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a precise verb and resource: list the PHP version of every virtual host. No sibling tool in the set covers PHP versioning, so the tool is distinguishable without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the concrete use case for both filter parameters (find sites on an outdated version) and adds a caveat about checking unresolved sites separately. It stops short of naming a downstream action or alternative tool to consult, but the context given is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.