返回市场
d20-MCP服务器

d20-MCP服务器

作者:saidsurucu2 星标更新:2025-10-22

项目介绍

🎲 d20-mcp

🇹🇷 点击这里查看土耳其语README / Click here for Turkish README

一款强大的用于RPG游戏中掷骰子的MCP(模型上下文协议)服务器。基于FastMCPd20库,此服务器为Claude和其他MCP客户端带来了全面的骰子机制。

适用于D&D、Pathfinder以及任何使用标准骰子记法的桌面RPG游戏!

✨ 特性

  • 🎯 简单掷骰:快速表达式如1d20+5并即时获得结果
  • 📊 详细分析:查看每个骰子投掷,并带有抽象语法树分解
  • ⚡ 批量掷骰:高效地掷多个表达式
  • ✅ 语法验证:在掷骰之前检查表达式
  • 🎮 高级机制:保留/丢弃、重掷、爆炸骰子等
  • 🤖 优化AI理解:全面的工具描述以供AI理解

🚀 快速开始

简易设置(远程MCP)

使用d20-mcp最快的方式——无需安装!

  1. 打开Claude Desktop
  2. 前往设置连接器
  3. 点击添加自定义连接器
  4. 输入URL:https://d20-mcp.fastmcp.app/mcp

注意:远程MCP支持目前处于测试阶段,仅对Claude Pro、Max、Team和Enterprise用户开放。

本地安装(替代方案)

对于使用uvx进行本地安装:

uvx --from git+https://github.com/saidsurucu/d20-mcp d20-mcp

Claude Desktop配置(本地)

在你的claude_desktop_config.json中添加以下内容:

macOS~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "d20-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/saidsurucu/d20-mcp",
        "d20-mcp"
      ]
    }
  }
}

完全重启Claude Desktop(退出并重新打开),然后寻找🔨锤子图标!

📸 截图

d20-mcp运行示例

🎮 使用示例

安装后,尝试以下提示与Claude互动:

基本掷骰

掷1d20+5作为我的攻击

角色创建

掷6组4d6kh3作为能力分数

战斗

掷攻击(1d20+7)和伤害(2d8+4)作为我的大剑

具有优势

掷2d20kh1+5作为我具有优势的感知检定

复杂表达式

掷(1d4+1)*2作为魔法飞弹的伤害

🛠️ 可用工具

roll

快速掷骰返回总和及格式化结果。非常适合标准玩法。

用途:攻击掷骰、能力检定、伤害、豁免掷骰

roll_detailed

全面分解,显示个体骰子值和操作的抽象语法树结构。

用途:角色创建、调试复杂掷骰、透明度

roll_batch

一次操作掷多个不同表达式。

用途:战斗回合、掷出所有能力分数、队伍检定

validate_syntax

验证表达式而不掷骰(无随机性)。

用途:测试复杂表达式、用户输入验证

📝 支持的骰子记法

基础

  • 1d20 - 投掷一个20面骰
  • 3d6 - 投掷三个6面骰
  • d20 - 等同于1d20

保留/丢弃

  • 4d6kh3 - 保留最高3个
  • 4d6kl1 - 保留最低1个
  • 4d6p1 - 丢弃最低1个

重掷

  • 1d20rr<10 - 直到≥10为止重掷
  • 1d20ro1 - 重掷1次1

爆炸骰子

  • 1d6e - 在最大值时爆炸
  • 1d6e6 - 在6时爆炸

最小/最大

  • 1d20mi10 - 最小值为10
  • 1d20ma2_20 - 最大值为20

算术

  • 1d20+5 - 加法
  • 2d6-1 - 减法
  • 3d6*2 - 乘法
  • (1d4+1)*2 - 括号

高级

  • 2d20kh1+5 - D&D中的优势
  • 2d20kl1+2 - 劣势
  • 8d6 [火] - 注释伤害(需启用allow_comments

🎯 常见RPG应用场景

D&D 5e角色创建

掷给我6个能力分数,使用4d6保留最高3个

具有优势的攻击

我对这次攻击具有优势。掷2d20kh1+8

致命一击

我暴击了!掷4d6+2d6+5作为我的潜行攻击伤害

多次豁免

为4个队伍成员掷豁免:1d20+5, 1d20+2, 1d20+7, 1d20+3

🔧 开发

本地测试

# 克隆仓库
git clone https://github.com/saidsurucu/d20-mcp.git
cd d20-mcp

# 使用uv运行
uv run server.py

# 或直接使用Python(安装依赖后)
python server.py

项目结构

d20-mcp/
├── server.py          # 主MCP服务器,含4个工具
├── pyproject.toml     # 项目配置
├── README.md          # 英文文档
├── README.tr.md       # 土耳其语文档
└── LICENSE            # MIT许可证

🤝 贡献

欢迎贡献!您可以自由:

  • 报告错误
  • 提议新功能
  • 提交拉取请求
  • 改进文档

📄 许可证

MIT许可证 - 详情见LICENSE文件。

🙏 致谢

基于以下构建:

  • d20 - 强大的掷骰引擎
  • FastMCP - FastMCP框架
  • MCP - 模型上下文协议

📚 更多学习


为TTRPG社区制作,充满❤️