项目简介
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客户端集成。
安装步骤
- 克隆仓库:
git clone https://github.com/RANDSUM/randsum.git cd randsum - 安装依赖:
bun install - 构建所有包(包括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与计算