Skip to main content

A simple MCP server for rolling dice - perfect for tabletop games, random decisions, and more

Project description

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) and 2d20kl1 (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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_dice_roller-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_dice_roller-0.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file mcp_dice_roller-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_dice_roller-0.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_dice_roller-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c37f103599099c1025de10b0ff13552587de4c41bead8dd4f5bb766e349397ad
MD5 14f48ce312dc1829b14988f73af72d85
BLAKE2b-256 7b3bfe889df81184e95a7faf88c9b9d52a35209562731f4ca31c7f295b7d928c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_dice_roller-0.1.0.tar.gz:

Publisher: publish.yml on vandewilly/mcp-dice-roller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_dice_roller-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_dice_roller-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd57e9d6f22b92b62c02373f662cf2bee05f435bb8b4819f9fa39db45a036ab
MD5 798c6918ba0772c54869051d371750fb
BLAKE2b-256 81a2a48a45d14d8a999ea908cc6f5406d161241ed34da76d7d2966fb133c6c3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_dice_roller-0.1.0-py3-none-any.whl:

Publisher: publish.yml on vandewilly/mcp-dice-roller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page