Progressive disclosure for large MCP tool catalogs: 3 stable meta-tools instead of one tool per endpoint.
Three meta-tools with clear naming (search_, get_, execute_) and documented schemas. However, descriptions lack depth and parameter documentation is minimal. search_capabilities and get_capability_schema have adequate descriptions (100+ chars), but execute_capability's description is terse (60 chars). No parameter descriptions visible for 'input' in execute_capability. Output schemas are not documented. Error handling and recovery guidance are absent. The design is clever (progressive disclosure pattern) but tool definitions themselves lack the rigor expected for production use.
Execute a capability by key, with input matching its schema.
Get the input schema for a capability key returned by search_capabilities().
Search the capability catalog by keyword or natural language. Always call this first. Capability keys are not guessable and are not listed anywhere else — this is the only way to discover them. Returns short summaries; call get_capability_schema() on a result before calling execute_capability().
execute_capability 'input' parameter lacks description. LLMs cannot infer that it must match the schema returned by get_capability_schema(). This forces guessing and increases error rates.
No output schemas documented for any tool. LLMs need to know what fields search_capabilities returns (e.g., does it include 'key', 'description', 'tags'?). Without this, agents cannot plan downstream calls.
No error handling guidance. If execute_capability fails (invalid key, schema mismatch, executor error), the description does not tell the LLM what to do next. Should guide: 'If key not found, call search_capabilities() again.'
execute_capability description (60 chars) is below the 100-char minimum for clarity. Expand to explain: what happens on success, what errors are possible, when to use get_capability_schema first.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
get_capability_schema description does not explain what fields the returned schema contains or how to use it with execute_capability. Dependency hints are missing.