A simple MCP server demonstrating tool registration with both stdio and HTTP transports
Two tools present with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. add_numbers has better parameter descriptions ('first number', 'second number') vs add which lacks any parameter descriptions. Neither tool documents output schema or return structure. Both descriptions are minimal (10-20 chars) and lack context on when to use each tool. No error handling guidance, no idempotency hints, and duplicate functionality (two addition tools) signals poor composition.
Add two numbers
Add two numbers together
Duplicate tools with overlapping functionality: 'add_numbers' and 'add' both perform addition. LLMs will waste reasoning cycles deciding between them. Consolidate into a single canonical tool.
add tool has NO parameter descriptions. Parameters 'a' and 'b' lack any explanation of what they represent. LLMs cannot infer meaning from bare names.
Output schemas not documented. Neither tool declares what fields the response contains or their types. LLMs cannot plan downstream operations without knowing response structure.
Descriptions are too brief (10-20 chars). 'Add two numbers' and 'Add two numbers together' lack context on when to use each tool, prerequisites, or what the tool returns. Baseline for A+ tools is 50-200 chars.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2025-06-18+ | v2 |
No error handling guidance. If inputs are invalid (non-numeric, NaN, Infinity), responses do not guide LLM recovery. No validation constraints documented.