A simple MCP server that provides basic mathematical and echo tools via SSE transport
Three simple tools with complete schemas and basic descriptions. All tools have proper JSON Schema with typed parameters and descriptions. However, descriptions are minimal (10-34 chars, well below the 194-char baseline), lack context on WHEN to use each tool, and provide no error guidance. No output schemas documented. Tools lack verb-noun naming clarity (echo, add, multiply are acceptable but generic). No parameter constraints (enums, ranges). Error handling is absent, the code raises ValueError but provides no recovery guidance. This is a functional but minimal implementation typical of tutorial/demo servers.
Adds two numbers together
Echoes back the input message
Multiplies two numbers
Descriptions are too brief (10-34 chars vs 194-char baseline). 'Echoes back the input message' lacks context on when to use echo vs other tools, what it returns, or any prerequisites.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. Responses are free-text TextContent, not typed objects.
No error handling or recovery guidance. ValueError('Unknown tool') provides no actionable next step for the LLM. Missing pattern:recovery-guide.
Numeric parameters (a, b in add/multiply) lack constraints. No min/max bounds, no validation. LLMs could pass absurd values (1e308, negative infinity) without guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Tool names are generic. 'echo' could mean echo to stdout, echo to user, or echo to a service. 'add' and 'multiply' lack context (add what? numbers? strings?). Verb-noun naming (e.g., 'compute_sum', 'compute_product') would clarify intent.