Policy-governed AgentHub capability discovery and agent manifest retrieval via MCP protocol
AgentHub MCP server exposes 5 tools with mixed quality. Three core tools (search_capabilities, get_agent_manifest, check_compatibility) have clear, action-verb names and reasonable descriptions (80-120 chars). All tools declare input schemas with typed parameters. However, parameter descriptions are sparse or missing context. The two test fixture tools (lookup, oversized_lookup) are generic and appear to be test harnesses, not production tools. No output schemas are documented. Error handling guidance is absent. Tool composition is reasonable (each does one thing), but descriptions lack the LLM-optimization guidance (WHEN to use, prerequisites, next steps) required for A-grade quality.
Check compatibility between agent schemas and generate a compatibility report
Retrieve the manifest for a specific agent, optionally at a specific version
Lookup tool that returns a found result for a query
Lookup tool that returns oversized text content for testing large response handling
Search and discover policy-compliant agent capabilities using semantic discovery
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Parameter descriptions lack actionable context. 'constraints' in search_capabilities is described as 'Optional constraints for filtering discovery results' but does not explain what constraint keys are valid or how to use them.
Test fixture tools (lookup, oversized_lookup) use generic names that do not convey intent. 'lookup' is ambiguous, lookup what? These should not be exposed as production tools or should be renamed to reflect their test purpose.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
No error handling guidance. Descriptions do not explain what errors are possible, when to retry, or what the LLM should do if a call fails (e.g., 'agent not found, try search_capabilities first').
Parameter 'version' in get_agent_manifest is described as 'Optional specific version of the agent manifest' but does not explain version format (semver? git hash? integer?) or what happens if the version does not exist.