Dice MCP
Dice MCP
dice-mcp is a local Model Context Protocol (MCP) server for tabletop role-playing dice rolls. It uses Streamable HTTP at http://127.0.0.1:8000/mcp.
Run locally
This project uses uv. From the repository root, start the server with:
uv run dice-mcpThe server listens only on localhost. Leave it running while using it from an MCP host, then stop it with Ctrl+C.
Tool
roll_dice
Roll one or more dice and add a modifier.
Parameter | Type | Description |
| integer | Number of sides on each die. |
| integer | Number of dice to roll. |
| integer | Optional value added to the sum of the rolls; defaults to |
| boolean | Optional; rerolls a die that reaches its maximum value. Defaults to |
The result contains displayable individual rolls, their unmodified sum, the modifier, and the final total. An exploded die is marked with *; for example, an exploding d6 result might be {"rolls": ["6*", "3"], "sum": 9, "modifier": 2, "total": 11}.
Dice formulas
The dice utilities also parse conventional dice notation, ready for a formula-based MCP tool:
from dicemcp.dice import parse_formula, roll_formula
parse_formula("2d20+4")
roll_formula("6W6")Both d/D and the German W/w separator are supported, as are modifiers such as d20-1. An omitted amount means one die.
Prompts
The server provides MCP prompts for common d20 tabletop workflows:
ability_checksaving_throwattack_roll(setadvantage=truefor a D&D attack roll that keeps the higher of2d20)damage_rolladvantage_roll(D&D advantage rolls2d20and keeps the higher die; setdisadvantage=trueto keep the lower die)
They instruct the model to call roll_dice and report the relevant dice and total. They are system-neutral guidance based on familiar d20 conventions.
Add it to LM Studio
Start the server in a terminal first:
uv run dice-mcpThen, in LM Studio, open the Program tab, choose Install, then Edit mcp.json. Add this entry inside mcpServers:
{
"dice-mcp": {
"url": "http://127.0.0.1:8000/mcp"
}
}Save the configuration, enable the server in a chat, and ask a dice-related question such as: “Make a Dexterity check with a +3 modifier.” LM Studio supports local MCP servers from version 0.3.17 and uses Cursor-compatible mcp.json notation; see its MCP server guide for current setup details.