A simple MCP server providing calculator tools without authentication
Two tools with basic schemas and minimal descriptions. Both tools have input schemas with proper types (number, string enum), but descriptions are extremely short (10-40 chars) and lack context for LLM selection. No output schema documentation. Error handling present in 'calculate' (divide-by-zero) but not generalized. Tool names are action-oriented ('add', 'calculate') but lack verb_noun clarity. No parameter descriptions beyond type hints. Schemas visible in code but descriptions fall well below the 50-200 char baseline for A+ tools.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection. Baseline is 50-200 chars; these are 1/5 the minimum.
No parameter descriptions. Parameters 'a', 'b', 'operation' have types but no guidance on meaning, constraints, or use. LLMs cannot infer whether 'a' is a count, price, or ID.
No output schema documented. Callers cannot plan downstream tool calls or extract structured data. Tool returns text content but no field names or types are declared.
Tool names lack verb_noun clarity. 'add' and 'calculate' are generic; 'add_numbers' and 'perform_arithmetic' would be more explicit. Current names risk conflation with other tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Error handling only in 'calculate' (divide-by-zero). No recovery guidance. Error message 'Cannot divide by zero' is user-friendly but does not guide LLM on retry or alternative actions.