A basic MCP server with math tools
This server has 2 tools with basic definitions but significant quality gaps. Both tools have descriptions (good), but parameter descriptions are minimal and inconsistent with production baselines. Output schemas are not documented. No error handling guidance. The 'roll_dice' tool has a weak description that doesn't explain when to use it vs other tools. The 'add_numbers' tool is trivial and lacks context about edge cases (e.g., integer overflow). Neither tool provides structured output documentation. There is 1 resource ('info://server') that returns JSON info, but tool focus is the evaluation. Overall, this resembles a learning project rather than production-grade tooling.
Adds two integers together.
Rolls a specified number of dice (1-6) and returns the results.
Output schemas not documented. LLMs cannot reason about return types. 'roll_dice' returns a string; 'add_numbers' returns an int. Neither tool documents the exact format or structure of the response.
Parameter descriptions are minimal. 'num_dice' says 'number of dice to roll' but does not specify the valid range (e.g., 1 - 100). LLMs may pass invalid values like 0, -5, or 1000000. Missing constraints invite hallucinated inputs.
No error handling guidance. What happens if num_dice is negative or exceeds a limit? Does the tool fail silently or throw? The description and schema provide no recovery instructions. Pattern: recovery-guide.
Tool names lack semantic clarity. 'roll_dice' is clear, but 'add_numbers' is generic. The verb 'add' is specific, but there's no indication this is arithmetic only, could an LLM confuse it with concatenation or combining lists? Compare to 'sum_integers' or 'compute_integer_sum'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
Minimal parameter descriptions. Parameters 'a' and 'b' are documented as 'first integer' and 'second integer', but lack practical context: range constraints, handling of very large numbers, or whether overflow is possible. Baseline: 100% of A+ tools have detailed param descriptions.
Tool descriptions are below production baseline length. 'Rolls a specified number of dice (1-6) and returns the results' (58 chars) and 'Adds two integers together' (26 chars). Baseline for A+ tools: 50 - 200 chars with WHEN guidance. add_numbers especially is too terse; it should state when to use it vs other calculation tools.