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 verbs but lack specificity, 'add' and 'calculate' don't clearly distinguish when to use each. No parameter descriptions beyond type hints. Schemas are visible and properly typed, preventing a lower score, but definition quality is well below production baseline.
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.
No parameter descriptions. Input schema defines types (a: number, b: number, operation: enum) but provides no guidance on valid ranges, units, or constraints. LLMs cannot infer whether 'a' accepts negative numbers, decimals, or has bounds.
No output schema documented. Tool responses return text content but LLMs have no formal schema to understand return structure, field names, or data types. Prevents downstream tool chaining.
Tool naming lacks specificity. 'add' and 'calculate' do not clearly distinguish use cases. Consider 'add_numbers' vs 'perform_arithmetic' or consolidate into single 'calculate' with operation enum.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Error handling only in 'calculate' (divide-by-zero). No error classification (retryable vs fatal).