Skip to main content
Glama
cPanel/WHM MCP Server

cPanel/WHM MCP Server

by nathjc2

Disk usage by account

whm_disk_usage
Read-onlyIdempotent

List disk and inode usage per cPanel account to find accounts near quota limits or high-usage accounts, with sorting, filtering, and optional fresh quota data.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
userNoOnly return this account.
freshNoBypass WHM's quota cache. This is slower but more accurate.
limitNoMaximum items to return.
offsetNoItems to skip. Use next_offset from the previous response.
sort_byNoSort order, highest first.used
min_percentNoOnly return accounts using at least this percentage of their disk quota.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the read-only and non-destructive annotations, it discloses the non-obvious behavior that unlimited-quota accounts have a null percent_used and are excluded when min_percent is applied. This helps agents interpret and filter results correctly.

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 concise sentences move from purpose to practical invocation patterns and then to an important edge case. Every sentence adds useful information, with no repetition of defaults or schema constraints.

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

Completeness5/5

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

For a read-only listing tool with six optional, fully documented parameters, the description supplies the purpose, principal use cases, and the main result-filtering caveat needed for correct invocation. The annotations and schema cover the remaining safety, pagination, sorting, and cache-freshness details.

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?

Although schema description coverage is 100%, the description adds task-oriented meaning by explaining how min_percent, the default sort, and limit support common investigations. The unlimited-quota edge case also adds filtering semantics not present in the parameter schema.

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?

“List disk and inode usage per account” gives a specific verb, metrics, and account-level scope. This clearly distinguishes it from whm_bandwidth_usage and the broader whm_account_resource_usage without requiring schema inspection.

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 gives two concrete usage patterns: set min_percent to find accounts near quota, or use the default sort with a small limit to find the largest consumers. It does not explicitly explain when to choose a sibling tool instead, but the intended tasks are clear.

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