A calculator MCP server that supports basic arithmetic operations
Single tool 'mcpCalculator' has a basic description (67 chars) but critical gaps in parameter documentation and output schema. Parameters 'a', 'b', 'operation' lack detailed descriptions (e.g., no format specs, no enum for operation). Output is returned as a string rather than structured JSON, violating pattern:response-shaper. No error handling guidance for LLM recovery. Tool name lacks action verb prefix (should be 'calculate' or 'perform_calculation'). Naming and schema issues are severe; description is minimal but present.
Get a result from a calculator. Supports +, -, *, /, %, //, **.
Tool name 'mcpCalculator' does not start with action verb. Should be 'calculate' or 'perform_calculation' to signal intent clearly to LLMs.
Parameter 'operation' lacks enum constraint. Description says 'must valid operation' but does not declare enum values formally. LLMs will hallucinate invalid operations.
Output schema not documented. Tool returns string instead of structured JSON with 'result' and 'error' fields. LLMs cannot reliably parse free-text responses.
Parameter descriptions are minimal (e.g., 'must be a number'). No format guidance, range constraints, or type clarification. Parameters 'a' and 'b' should specify numeric range and precision.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Error handling does not guide LLM recovery. Errors like 'Division by zero' are returned but lack actionable next steps or error classification (retryable vs fatal).