The response keeps rolls, sum, modifier and total apart, which is the difference between a tool a game master can audit and a number that has to be taken on faith. It is a single-purpose server with nothing to configure, so the only real decision is whether you want randomness that came from outside the model.
A small MCP server that takes standard dice notation and returns a real roll. Models are notoriously bad at producing random numbers on demand; this moves the roll out of the model and into code that actually rolls.
- A roll from any standard notation string — `1d20`, `3d6`, `2d8+1` — passed in as a `notation` field
- Both halves of the result: the individual rolls as a list and their sum, with the modifier and the final total kept as separate fields
- A timestamp on every result, so a sequence of rolls stays ordered in a transcript
No account and no key. The package is `mcp-dice` (0.1.2 in pyproject) and the documented launch is `uvx mcp-dice`, so `uv` needs to be on the machine. There is also a Smithery one-liner for Claude Desktop, and a WSL variant of the config for Windows.
One command — uvx mcp-dice
