A simple calculator MCP server that performs arithmetic operations
Two simple tools with minimal documentation. Both have valid input schemas with typed parameters and descriptions, but tool descriptions are extremely brief (16-34 chars, well below the 50-200 char baseline for LLM-optimized descriptions). No output schemas documented. No error handling guidance. No parameter constraints (enums, ranges, formats). Naming is acceptable but generic. No composition or chaining support evident.
Add two numbers together.
multiply two numbers together.
Tool descriptions critically short (16-34 chars). 'Add two numbers together.' and 'multiply two numbers together.' lack context for LLM selection. Baseline is 50-200 chars. Add WHEN to use, WHAT it returns, any constraints.
No output schemas documented. LLMs cannot plan downstream calls or validate results. Both tools return integers but this is not formally declared in the tool definition.
No error handling or recovery guidance. If a call fails (e.g., integer overflow, invalid input), the LLM has no actionable error message or next steps.
Generic tool names ('add', 'mul') lack verb_noun clarity. 'add_numbers' and 'multiply_numbers' would be more explicit and align with production baselines (90% of A+ tools start with action verbs).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No parameter constraints. Numeric parameters 'a' and 'b' have no min/max bounds, format hints, or examples. Unbounded integers invite absurd values (e.g., 10^100) that may overflow or timeout.