MCP Dice Roller 🎲
A simple MCP (Model Context Protocol) server for rolling dice. Perfect for tabletop games, random decisions, and more!
Features
- Standard Dice Notation - Roll any dice using notation like
2d6,1d20+5,3d8-2 - Keep Highest/Lowest - Support for
4d6kh3(keep highest 3) and2d20kl1(keep lowest) - D&D Stat Rolling - Quick character stat generation using 4d6 drop lowest
- Coin Flips - Simple heads or tails
- Random Picker - Choose randomly from a list of options
- Percentile Dice - Roll d100 with tens and ones dice
Installation
pip install mcp-dice-roller
Usage
With Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"dice-roller": {
"command": "python",
"args": ["-m", "mcp_dice_roller"]
}
}
}
With VS Code
Add to your VS Code MCP settings:
{
"mcp.servers": {
"dice-roller": {
"command": "python",
"args": ["-m", "mcp_dice_roller"]
}
}
}
Tools
roll_dice
Roll dice using standard notation.
roll_dice("2d6") → Roll two 6-sided dice
roll_dice("1d20+5") → Roll d20 and add 5
roll_dice("4d6kh3") → Roll 4d6, keep highest 3
roll_dice("2d20kl1") → Roll 2d20, keep lowest (disadvantage)
Example Response:
{
"notation": "2d6+3",
"rolls": [4, 6],
"kept": [4, 6],
"subtotal": 10,
"modifier": 3,
"total": 13
}
roll_multiple
Roll the same dice multiple times with statistics.
roll_multiple("1d20", 5) → Roll d20 five times
Example Response:
{
"notation": "1d20",
"times": 5,
"totals": [15, 8, 20, 3, 12],
"statistics": {
"min": 3,
"max": 20,
"sum": 58,
"average": 11.6
}
}
roll_dnd_stats
Generate D&D 5e character ability scores.
Example Response:
{
"method": "4d6 drop lowest",
"stats": [
{"rolls": [4, 3, 5, 6], "kept": [4, 5, 6], "total": 15},
{"rolls": [2, 4, 4, 3], "kept": [3, 4, 4], "total": 11},
...
],
"totals": [15, 11, 14, 13, 10, 16],
"sum": 79
}
flip_coin
Flip a coin.
flip_coin() → Flip once
flip_coin(10) → Flip 10 times
pick_random
Pick randomly from options.
pick_random("pizza, burger, sushi, tacos")
Example Response:
{
"options": ["pizza", "burger", "sushi", "tacos"],
"selected": "sushi",
"total_options": 4
}
roll_percentile
Roll d100 (percentile dice).
Example Response:
{
"tens_die": 7,
"ones_die": 3,
"result": 73
}
Development
Setup
# Clone the repository
git clone https://github.com/vandewilly/mcp-dice-roller.git
cd mcp-dice-roller
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
Running Locally
python -m mcp_dice_roller
MCP Registry
MCP Name: io.github.vandewilly/dice-roller
This server is published to the MCP Registry.
License
MIT License - see LICENSE for details.
Author
Vandewilly Silva (@vandewilly)
Metadata
Release files for mcp-dice-roller 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_dice_roller-0.1.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_dice_roller-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / mcp_dice_roller-0.1.0.tar.gz
| Download URL | mcp_dice_roller-0.1.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c37f103599099c1025de10b0ff13552587de4c41bead8dd4f5bb766e349397ad
|
|
BLAKE2b-256 checksum How to use checksums |
7b3bfe889df81184e95a7faf88c9b9d52a35209562731f4ca31c7f295b7d928c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 10, 2025.
Transparency logRelease files / mcp_dice_roller-0.1.0-py3-none-any.whl
| Download URL | mcp_dice_roller-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8dd57e9d6f22b92b62c02373f662cf2bee05f435bb8b4819f9fa39db45a036ab
|
|
BLAKE2b-256 checksum How to use checksums |
81a2a48a45d14d8a999ea908cc6f5406d161241ed34da76d7d2966fb133c6c3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 10, 2025.
Transparency log