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 only for divide-by-zero in 'calculate'. Tool names lack action verbs (should be 'perform_addition', 'perform_calculation'). Parameters have types but descriptions are sparse. No guidance on when to use one tool vs. the other.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection, expected output format, or when to use each tool. Baseline for A+ tools is 50-200 chars.
Tool names lack action verbs. 'add' and 'calculate' are generic and do not follow verb_noun convention (e.g., 'perform_addition', 'perform_calculation'). LLMs rely on names to infer intent before reading descriptions.
No output schema documented. Tool descriptions do not specify what fields or structure the response contains. LLMs cannot plan downstream calls or extract data without knowing the output shape.
Parameter descriptions are missing or trivial. 'First number to add' and 'First operand' are minimal. No guidance on valid ranges, formats, or constraints. Baseline for A+ tools is 50-100 chars per parameter.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No distinction between tools. Both 'add' and 'calculate' perform arithmetic. The description does not explain when to use 'add' (simple two-number addition) vs 'calculate' (multiple operations). LLMs will waste reasoning cycles choosing between them.