Just running a sample mcp server
Single tool with basic structure but significant gaps in parameter documentation and output schema clarity. Output schema is present in code but not documented for the LLM. Description is adequate but generic. Overall fits the 'poor to fair' range (D/C boundary).
Rolls dice and returns the result
Parameter 'diceSides' has null description, LLMs cannot infer what values are valid or expected
Input schema uses Zod validation (z.number()) but does not declare numeric range constraints (min/max), LLMs may pass absurd values (0, negative, or extremely large numbers)
Output schema is defined in code but not documented in the tool registration for the LLM, LLMs do not have visibility into the expected response structure (rollResult: number)
Tool description does not specify what range of values is valid (e.g., 'diceSides must be 1-100') or clarify the return type
Tool name 'roll-dice' is acceptable but lacks a clear verb-noun structure; 'roll_dice' or 'roll_d_sides' would be more conventional
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |