Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dice Roller MCP Serverroll 2d6 + 4 for my weapon damage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dice Roller MCP Server
A Model Context Protocol (MCP) server that provides dice rolling, coin flipping, and full DnD/tabletop RPG mechanics for AI assistants.
Purpose
This MCP server gives Claude (or any MCP-compatible AI) the ability to roll dice, flip coins, and run tabletop RPG mechanics in real-time with true randomness.
Features
flip_coin- Flip one or more coins, get Heads/Tails resultsroll_dice- Roll using standard NdM+K notation (e.g. 2d6, 1d20+5, 4d8-2)roll_advantage- Roll with advantage (2x, take higher) for DnD 5eroll_disadvantage- Roll with disadvantage (2x, take lower) for DnD 5eroll_stats- Generate a full DnD character stat block (4d6 drop lowest x6)roll_initiative- Roll initiative (1d20 + modifier) for DnD combatroll_custom- Roll any count/sides/modifier combo with an optional labelroll_percentile- Roll a percentile die (d100)roll_drop_lowest- Roll NdM and drop the lowest result
Prerequisites
Docker Desktop with MCP Toolkit enabled
Docker MCP CLI plugin (
docker mcpcommand)
Installation
See INSTALLATION section at the bottom of this file, or follow the numbered steps provided when you received these files.
Usage Examples
In Claude Desktop, you can ask:
"Roll a d20 with +5 modifier"
"Flip 3 coins"
"Roll 2d6+3 for damage"
"Roll my DnD character stats"
"Roll initiative with +2 dex"
"Roll with advantage on a d20"
"Roll 4d6 drop lowest for strength"
"Roll a percentile die"
"Roll 3d8 for my fireball damage, label it Fireball"
Architecture
No external API or secrets needed. Pure Python random module.
Development
Local Testing
Adding New Tools
Add an async function to dice_roller_server.py
Decorate with @mcp.tool()
Single-line docstring only
All params default to empty string ""
Return a formatted string
Add tool name to custom.yaml catalog
Rebuild Docker image: docker build -t dice-roller-mcp-server .
Troubleshooting
Tools not appearing? Verify Docker image built, check catalog/registry files, restart Claude Desktop.
Gateway panic? Ensure all docstrings are single-line only.
Wrong results? All randomness uses Python's secrets-seeded random — it's fair!
Security
No API keys required
Running as non-root user in Docker
No network access needed
License
MIT License