Labsco
MCP SERVER

MCP Dice

by yamaton

Rolls dice in standard notation and hands back the individual rolls, not just the total — so the model is reading a number it did not invent.

Developer Conversions, Encoding & Test Data
Summary
Returns the rolls, not just the answer.

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.

What it is

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.

What you get
  • 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
Requirements

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.

Setup effort

One command — uvx mcp-dice