A Model Context Protocol server for rolling dice with advanced notation support, including keep/drop, exploding dice, reroll mechanics, and mathematical expressions. Runs on Cloudflare Workers with HTTP and SSE transport options.
The 'roll' tool has a well-structured schema with clear parameter types and detailed descriptions of supported dice notation. However, the tool definition lacks critical information: no output schema documentation, no error handling guidance, and the description, while informative, could be more action-oriented for LLM selection. The server properly implements JSON Schema with type constraints and a comprehensive notation guide, but falls short of production-grade quality by not documenting what the agent should expect in responses or how to handle parsing failures gracefully.
Roll dice using advanced notation. Supports complex expressions, modifiers, and mathematical operations.
Output schema is not documented. Tool response structure is inferred from code (text content with markdown formatting), but not formally declared for LLM understanding. Pattern 'tool' requires documented output schemas so agents know what fields to expect.
Error handling returns unhelpful generic messages. When parsing fails, the tool returns formatted example syntax but does not tell the LLM *why* the expression failed or what specific constraint was violated. Pattern 'recovery-guide' requires actionable error messages.
Description reads like a feature list rather than a LLM selection guide. It states WHAT the tool does (supports notation, modifiers, operations) but lacks WHEN to use it or WHAT problem it solves. Baseline A+ tools use 50-200 char descriptions optimized for LLM prompt-engineering.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 7 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 52 | 2024-11-05+ | v1 |
The 'description' parameter is optional but its purpose is unclear. Does it affect computation? Is it purely metadata? Descriptions for parameters must explain what they control and why an LLM should provide them.