项目简介 “骰子滚动MCP服务器”是一个基于Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供真实的、具有加密安全性的随机骰子滚动功能。LLM本身无法进行真正的随机数生成,当被要求“掷骰子”时,它们只是基于训练数据进行文本预测。这个MCP服务器解决了这一问题,为AI助手提供了一个与真实随机数生成器交互的桥梁,使其能够执行各种复杂的骰子指令,如D&D中的优势/劣势、爆炸骰、重掷等。

主要功能点

  • 标准骰子记法支持: 理解并执行如 '1d20+5' (基本滚动)、'3d6' (多个骰子)、'1d%' (百分骰)、'4dF' (Fudge骰) 等标准记法。
  • 高级游戏机制: 支持D&D 5e的优势 ('2d20kh1' - 保留最高)、劣势 ('2d20kl1' - 保留最低)、掉落骰子 ('4d6dl1' - 掉落最低)、爆炸骰 ('3d6!')、重掷特定值 ('4d6r1' - 重掷1) 以及成功计数 ('5d10>7' - 统计大于等于7的成功次数)。
  • 工具集成: 提供 'dice_roll' 工具进行骰子滚动,'dice_validate' 工具验证骰子记法并提供详细解释,以及 'search' 和 'fetch' 工具用于发现和获取骰子相关文档。
  • 文档与指南: 内置丰富的骰子记法指南和游戏示例,帮助用户理解和使用各种骰子规则。
  • 多传输协议支持: 支持STDIO (本地连接,如Claude Desktop) 和 Streamable HTTP (远程连接,如ChatGPT Connector)。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/jimmcq/dice-rolling-mcp.git
    cd dice-rolling-mcp
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
    这将编译TypeScript代码到 'dist' 目录。

服务器配置 MCP客户端(如Claude Desktop, ChatGPT Connector)需要配置MCP服务器的连接信息。以下是针对不同MCP客户端的配置示例:

  • 本地Claude Desktop 配置 ('claude_desktop_config.json'): 在您的 'claude_desktop_config.json' 文件中添加以下条目。请将 '/path/to/dice-rolling-mcp' 替换为实际的项目路径。

    {
      "mcpServers": {
        "dice-roller": {
          "command": "node",
          "args": ["/path/to/dice-rolling-mcp/dist/index.js"],
          "description": "提供高级骰子滚动功能的MCP服务器,支持D&D优势/劣势、爆炸骰等。",
          "icon": "🎲"
        }
      }
    }
    • 'command': 启动MCP服务器的命令。
    • 'args': 传递给命令的参数,指定服务器的入口文件。
    • 'description': 对服务器功能的简要描述。
    • 'icon': 在客户端界面中显示的图标。
  • 远程MCP客户端配置 (如ChatGPT Connector): 对于支持Streamable HTTP的远程MCP客户端,您可以使用以下公开的MCP端点:

    • MCP 端点 URL: 'https://dice-rolling-mcp.vercel.app/mcp'
    • 描述: 一个功能强大的骰子滚动MCP服务器,为AI助手提供真实、安全的随机骰子生成和高级游戏机制。它实现了OpenAI MCP规范,包括 'search' 工具,以实现自动发现可用的骰子操作和文档。

基本使用方法

一旦MCP服务器连接成功,您的AI助手就可以通过调用其提供的工具来执行骰子滚动:

  • 滚动基本骰子: 您: "Roll 3d6+2 for damage" AI助手: (调用 'dice_roll' 工具) "You rolled 3d6+2 for damage: Total: 13, Breakdown: 3d6:[4,2,5] + 2"

  • D&D 优势/劣势: 您: "Roll 2d20kh1+5 for attack with advantage" AI助手: (调用 'dice_roll' 工具) "You rolled 2d20kh1+5 for attack with advantage: Total: 23, Breakdown: 2d20:[12,18] keep highest + 5"

  • 验证骰子记法: 您: "Is '4d6kh3+2d8+5' valid dice notation?" AI助手: (调用 'dice_validate' 工具) "Valid dice notation: 4d6kh3+2d8+5. Breakdown: 4d6 (keep highest 3), 2d8, Modifier: +5"

  • 发现骰子操作: 您: "What dice operations are available?" AI助手: (调用 'search' 工具) "Found dice rolling operations: Basic Dice Notation, D&D Advantage and Disadvantage, Combat Roll Examples, Ability Score Generation..."

信息

分类

桌面与硬件