A minimal MCP proxy that merges multiple backend servers behind one endpoint.
Four tools with minimal descriptions (10-30 chars) and no parameter descriptions. All tools have basic schemas with required fields but lack depth. No error handling guidance, no output schema documentation, and no tool annotations. Naming is acceptable (verb_noun pattern) but descriptions are far below the 194-char baseline for production tools. No evidence of idempotency hints, permission gates, or recovery guidance.
Add two numbers
Multiply two numbers
Echo a message back with server name prefix
Return the server name
All tool descriptions are under 50 characters and lack context for LLM selection. 'Echo a message back with server name prefix' (47 chars) and 'Return the server name' (22 chars) do not explain WHEN to use these tools or what they return.
No parameter descriptions for any tool. 'message', 'a', 'b' parameters lack explanations of expected format, range, or constraints. LLMs cannot infer that 'a' and 'b' are integers without descriptions.
No output schemas documented. Tools return strings or integers but LLMs have no formal specification of return types, structure, or fields. Prevents downstream tool chaining and context planning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
No error handling or recovery guidance. If 'add' receives non-integer input or 'ping' fails, no actionable error message tells the LLM what to do next.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY in metadata but this is not reflected in tool definitions, leaving LLMs uncertain about side effects.