项目简介

RANDSUM MCP 服务器是一个专门为大型语言模型(LLM)设计的后端服务,旨在通过标准化的Model Context Protocol (MCP) 接口,提供复杂和灵活的骰子掷投功能。它集成了RANDSUM骰子滚动引擎,支持多种骰子类型、丰富的修改器(如丢弃最高/最低、重掷、爆炸骰、唯一结果、上限设置等)以及数学运算,并提供骰子表达式的实时验证能力。无论是角色扮演游戏、概率模拟还是其他需要随机化的应用,RANDSUM MCP服务器都能为LLM提供精确且可定制的掷投结果。

主要功能点

  • 高级骰子掷投: 支持RANDSUM复杂的骰子表达式,如'4d6L'(掷4个d6,丢弃最低值)、'2d20H'(掷2个d20,保留最高值,用于优势)、'3d6!'(爆炸骰)、'4d6R{1}+3'(掷4个d6,重掷所有1,然后加3)。
  • 综合修改器系统: 提供丢弃、重掷、替换、上限、唯一结果、爆炸骰以及加减算术等多种修改器,满足各类游戏规则和随机化需求。
  • 详细掷投结果: 返回包含初始掷投、修改后掷投、应用日志和最终总和的详细结果,方便LLM理解掷投过程。
  • 骰子表达式验证: 实时验证骰子表达式的语法和有效性,提供解析细节和错误指导,帮助LLM构建正确的掷投指令。
  • 多种传输协议支持: 支持Stdio、HTTP和Server-Sent Events (SSE) 等多种通信方式,方便不同MCP客户端集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/RANDSUM/randsum.git
    cd randsum
  2. 安装依赖:
    bun install
  3. 构建所有包(包括MCP服务器):
    bun moon :build

服务器配置(供MCP客户端参考)

MCP客户端需要以下JSON格式的配置信息,以便启动并连接到RANDSUM MCP服务器。

{
  "server": {
    "name": "RANDSUM",
    "command": "bun",
    "args": [
      "run",
      "packages/mcp/src/index.ts",
      "--transport",
      "stdio"
    ],
    "description": "基于Model Context Protocol (MCP) 的高级骰子掷投服务,提供复杂掷投、修改器和语法验证功能。支持 Stdioserver、HTTP 和 SSE 传输。",
    "supportedTransports": ["stdio", "http", "sse"],
    "notes": "如需使用HTTP或SSE传输,请将 'stdio' 替换为 'http' 或 'sse',并根据需要添加 '--port <端口号>' 参数。例如:'--transport', 'http', '--port', '3000'"
  }
}

基本使用方法

启动MCP服务器后,MCP客户端可以通过JSON-RPC协议调用服务器提供的工具。以下是两种核心工具的调用示例及其说明:

1. 掷投骰子 ('roll')

  • 功能: 执行高级骰子掷投。

  • 参数: 'notation' (字符串) - RANDSUM骰子表达式。

  • 示例 (MCP客户端调用 'tool' 方法):

    {
      "method": "tool",
      "params": {
        "tool": "roll",
        "params": {
          "notation": "4d6L+3"
        }
      },
      "id": "123"
    }
    • 参数注释: 'notation' 骰子表达式字符串,如 "2d20H", "4d6LR{1}!"。

2. 验证骰子表达式 ('validate-notation')

  • 功能: 验证骰子表达式的语法和结构。

  • 参数: 'notation' (字符串) - 待验证的骰子表达式。

  • 示例 (MCP客户端调用 'tool' 方法):

    {
      "method": "tool",
      "params": {
        "tool": "validate-notation",
        "params": {
          "notation": "2d20+1d8"
        }
      },
      "id": "124"
    }
    • 参数注释: 'notation' 待验证的骰子表达式字符串。

信息

分类

AI与计算