Dice Roller

io.github.vandewillyPublished by GitHub account vandewillyv0.1.0Updated Oct 24, 2026

Roll dice using standard notation (2d6, 1d20+5), D&D stats, coin flips, and more!

VerifiedSTDIODesktop only

Overview

AI-generated overview

A local MCP server that lets an assistant roll dice in standard notation, generate D&D stats, flip coins and pick random options.

What you can do
  • Roll dice in standard notation such as 2d6, 1d20+5 or 4d6kh3, with keep-highest and keep-lowest support
  • Repeat the same roll several times and get min, max, sum and average statistics
  • Generate D&D 5e ability scores using the 4d6 drop-lowest method
  • Flip one or more coins and roll percentile d100 dice
  • Pick a random item from a list of options
When to use it
Useful for tabletop role-playing sessions, quick random decisions, or any request where the assistant should produce a fair random result instead of inventing one.
Requirements
Runs as a local process on the user's machine via the PyPI package mcp-dice-roller, installed with pip and started with python -m mcp_dice_roller. No accounts, API keys, environment variables or headers are declared. Desktop client configuration is needed.
Before you install
Results come from the server's random generator and are not auditable or cryptographically secure; do not rely on them for security-sensitive or gambling purposes. It only reads its inputs and returns results, with no declared credentials or write access.

Installation

In SourceWeft

  1. Open Dice Roller in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

bash
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):

json
{  "mcpServers": {    "dice-roller": {      "command": "python",      "args": ["-m", "mcp_dice_roller"]    }  }}

With VS Code

Add to your VS Code MCP settings:

json
{  "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 diceroll_dice("1d20+5")    → Roll d20 and add 5roll_dice("4d6kh3")    → Roll 4d6, keep highest 3roll_dice("2d20kl1")   → Roll 2d20, keep lowest (disadvantage)

Example Response:

json
{  "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:

json
{  "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:

json
{  "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 onceflip_coin(10)    → Flip 10 times

pick_random

Pick randomly from options.

pick_random("pizza, burger, sushi, tacos")

Example Response:

json
{  "options": ["pizza", "burger", "sushi", "tacos"],  "selected": "sushi",  "total_options": 4}

roll_percentile

Roll d100 (percentile dice).

Example Response:

json
{  "tens_die": 7,  "ones_die": 3,  "result": 73}

Development

Setup

bash
# Clone the repositorygit clone https://github.com/vandewilly/mcp-dice-roller.gitcd mcp-dice-roller
# Install dependenciespip install -e ".[dev]"
# Run testspytest

Running Locally

bash
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)

Source: README.md at commit fa05662

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts