A remote MCP server providing basic calculator functionality without authentication
Two calculator tools with explicit Zod schemas and basic descriptions. Schemas are present but minimal. Descriptions are too short to guide LLM selection effectively. Error handling exists for divide-by-zero but lacks recovery guidance. Tool naming is generic ('calculate') rather than action-verb focused. No output schema documentation. Parameter descriptions are present but terse.
Simple addition tool
Calculator tool with multiple operations
Tool names lack action verbs. 'add' and 'calculate' are generic and don't clearly distinguish when to use one vs. the other. Should be 'add_numbers', 'perform_calculation', or 'arithmetic_operation'.
Descriptions are below the 10-1024 character baseline and lack context for LLM selection. 'Simple addition tool' (20 chars) and 'Calculator tool with multiple operations' (40 chars) do not explain WHEN to use each tool or WHY they are separate.
Redundant tools. Both 'add' and 'calculate' can perform addition, one with a=5,b=3 and the other with operation='add',a=5,b=3. The LLM will struggle to choose between them. Consolidate into a single 'perform_calculation' tool.
Output schemas are not documented. Tools return {content: [{type: 'text', text: String}]} but LLMs don't know the structure of the response or what fields to expect for downstream use.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 6 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Error handling for 'calculate' only covers divide-by-zero but lacks recovery guidance. Error message 'Cannot divide by zero' does not tell the LLM what to do next or how to proceed.
Parameter descriptions are minimal. 'First number', 'Second number', 'First operand', 'Second operand' lack context about valid ranges, constraints, or units. The baseline for param descriptions is 72 chars; these are 12-17 chars.