A Model Context Protocol server that implements a simple notes system with tools for adding numbers
Single tool 'add_numbers' has a clear, verb-based name and properly structured input schema with type constraints and descriptions for both parameters. However, the tool description is minimal (27 characters), and the server lacks output schema documentation, error handling guidance, and composition patterns. The implementation shows basic competency but falls short of production-grade quality standards. No critical security issues detected, but missing documentation and error recovery guidance are significant gaps.
Adds two numbers together
Tool description is only 27 characters ('Adds two numbers together'). Current description lacks context on WHEN to use this tool, what cases it handles (integers vs floats, overflow behavior), and how it fits into agent workflows.
No output schema documentation. The tool returns a text response, but there is no documented structure explaining what fields the LLM can extract. Per pattern, 100% of A+ tools document return types. Without this, agents cannot reliably parse results or chain to other tools.
Error handling is minimal. The tool validates that inputs are numbers (isNaN check) but provides no recovery guidance. Per pattern, errors should tell the LLM what to do next, not just fail. Current error 'Both num1 and num2 must be numbers' lacks actionable context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 42 | - | v1 |
No parameter constraints documented. 'num1' and 'num2' accept any number type, but no min/max bounds are specified. Unbounded numeric inputs invite invalid or absurd values (infinity, NaN post-coercion, extremely large numbers).
No idempotency guarantee stated. Repeated calls with the same input should produce identical output, but this is not documented. Agents retry on ambiguous failures, lack of idempotency clarity could lead to confusion about whether this operation is safe to retry.
Tool serves only arithmetic addition. For a real agent, this is an extremely narrow use case. Consider whether this tool should be bundled with subtract_numbers, multiply_numbers, etc., or if a broader 'calculate' tool with an operation enum would be more composable.