MCP server with OAuth authentication and basic arithmetic tools
Both tools have minimal descriptions and lack parameter descriptions entirely. The 'add' tool has no descriptions for parameters 'a' and 'b' (null values). The 'subtract' tool has parameter descriptions via Zod .describe(), but the tools themselves lack descriptions explaining when/why to use them. No output schemas documented. No error handling guidance. This is a bare-bones demo server with significant gaps against production patterns.
Missing tool descriptions. Neither 'add' nor 'subtract' has a description explaining what the tool does, when to use it, or what it returns. LLMs cannot determine tool selection without descriptions.
Missing parameter descriptions for 'add' tool. Parameters 'a' and 'b' have null descriptions. The 'subtract' tool has descriptions via Zod, but 'add' does not. All parameters must have non-empty descriptions explaining their purpose and constraints.
No output schema documentation. Neither tool documents what fields are returned or their types. LLMs need to know the response structure to plan downstream calls and extract data correctly.
No error handling or recovery guidance. Tools do not document what errors can occur, how to classify them (retryable vs fatal), or what the LLM should do next. A division-by-zero or type mismatch will fail silently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Parameter naming lacks type suffixes. Parameters 'a' and 'b' are generic and do not indicate they are numbers. Use 'operand_a' and 'operand_b' or similar to improve clarity. The 'subtract' tool uses 'minuend' and 'subtrahend', which are mathematically precise but less intuitive for LLMs.