Unified MCP Hub for managing multiple Model Context Protocol servers
This is a test fixture server with 5 minimal tools that lack production-grade documentation and schema completeness. All tools have trivial descriptions (under 20 chars), mostly absent parameter descriptions, and no structured output schemas documented. The tools are test utilities (echo, stream_echo, slow, fail) rather than domain-oriented features. While parameter schemas are present in JSON Schema format, they lack descriptions for most parameters, and tool descriptions provide zero guidance on when/why to use each tool. No error handling guidance, no output schema documentation, and no tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Echo the input text
Echo the input as JSON
Always fails
Respond slowly
Stream multiple chunks
Tool descriptions are all under 20 characters (e.g., 'Echo the input text', 'Echo the input as JSON'). These provide zero context on when/why to use each tool or what they return.
echo_object has empty parameter schema (no properties defined), violating the JSON Schema requirement for self-documentation. This tool's schema cannot be validated by agents.
Parameter descriptions are missing or trivial across all tools. 'count', 'text', 'delay', 'message' parameters have descriptions in the input schema, but lack guidance on ranges, formats, or constraints. E.g., 'count' has no mention of valid range (1-1000?), 'delay' in milliseconds but no bounds (0-300000?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | 2025-06-18+ | v1 |
No output schemas documented anywhere. Agents cannot know what fields to expect from responses, forcing them to guess or reason about unstructured output. Pattern baseline: 100% of A+ tools have documented return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 5 tools are marked Risk: READ_ONLY in metadata, but the MCP spec-compliant way to signal this is via toolAnnotations. Agents rely on these hints to plan safely.
No error handling guidance. The 'fail' tool explicitly 'Always fails', but there is no documentation of what error it returns, whether it is retryable, or how to recover. Pattern baseline: errors must tell the LLM what to do next.
Naming lacks clarity. 'echo' and 'echo_object' are confusingly similar and do not clearly distinguish their behavior. 'echo_object' suggests it echoes something related to objects, but the empty schema makes intent unclear. 'stream_echo' is clearer but 'slow' and 'fail' are generic utilities without context.