D&D骰子滚动MCP服务器

一个通过Claude Code提供D&D骰子滚动准确随机数生成的MCP服务器。

  • by funny-insects
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 funny-insects/mcp-windsurf

使用说明

D&D骰子滚动MCP服务器

一个MCP服务器,通过Claude Code为D&D骰子滚动提供准确的RNG。

特性

  • 支持标准D&D模具尺寸:4、6、8、12、20、100
  • 多次掷骰子(例如3d6)
  • 机械的优缺点
  • 修改器支持
  • 详细的滚动故障
  • 全面的输入验证

安装

MacOS

  1. 安装python3.13
brew install python@3.13
  1. 设置a venv 使用python3.13
/opt/homebrew/bin/python3.13 -m venv .venv && \
source .venv/bin/activate && \
pip install -r requirements.txt
  1. 克隆或下载此存储库

Claude桌面配置

将以下内容添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "dnd-dice-roller": {
      "command": "/Users/YOUR_USERNAME/YOUR_PROJECT_DIRECTORY/.venv/bin/python",
      "args": ["/Users/YOUR_USERNAME/YOUR_PROJECT_DIRECTORY/server.py"],
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}

用法

一旦配置了Claude Desktop,您就可以使用自然语言命令,如:

  • “以优势滚动d20”
  • “滚动3d6+2”
  • “滚动一个d8带劣势和一个-1修饰符”
  • “滚动2d12”

工具接口

服务器提供单一 roll_dice 工具具有以下参数:

  • dice_count (必填):要掷骰子的数量(正整数)
  • sides (必填):每个模具上的边数(4、6、8、12、20或100)
  • modifier (可选):要应用的整数修饰符(默认值:0)
  • advantage_mode (可选):“正常”、“优势”或“劣势”(默认:“正常)

发展

运行测试

python3 -m unittest test_dice_roller.py -v

测试服务器

您可以直接测试服务器:

python3 server.py

项目结构

  • server.py -主MCP服务器实现
  • dice_roller.py -核心骰子滚动逻辑
  • test_dice_roller.py -掷骰子的单元测试
  • requirements.txt -Python依赖关系
  • claude_desktop_config.json -Claude桌面配置示例

许可证

这个项目是为了学习。