关于 Dice Roller
Dice Roller 是面向桌面角色扮演游戏和概率查询的 MCP 服务,可按骰子记法掷骰、掷硬币并计算结果分布。它支持带种子的结果复现,并对部分骰池精确枚举概率。
主要功能
- 01解析多种骰子记法并掷骰
- 02重复掷骰并汇总统计
- 03掷最多 1,000 枚硬币
- 04计算结果分布与目标概率
- 05用种子复现随机结果
适用场景
- 01进行桌面角色扮演游戏掷骰
- 02比较优势骰或保留骰的结果
- 03估算掷骰达到指定目标的概率
MCP 相关
向 MCP 客户端提供掷骰、掷硬币和概率计算工具。可通过 Pipeworx 远程端点连接,也可本地运行 stdio MCP 服务。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/dice-roller/mcpclaude mcp add --transport http pipeworx-io-dice-roller https://gateway.pipeworx.io/dice-roller/mcp{"mcpServers":{"pipeworx-io-dice-roller":{"type":"http","url":"https://gateway.pipeworx.io/dice-roller/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-dice-roller":{"type":"http","url":"https://gateway.pipeworx.io/dice-roller/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-dice-roller":{"type":"http","url":"https://gateway.pipeworx.io/dice-roller/mcp"}}}{"mcpServers":{"pipeworx-io-dice-roller":{"serverUrl":"https://gateway.pipeworx.io/dice-roller/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/dice-roller
使用真实且可复现的随机性进行桌面游戏掷骰、抛硬币和精确骰子概率计算:支持任何标准骰子记法(2d6+3、4d6kh3、2d20kl1、3d6!、4dF、d%),最多抛 1,000 枚硬币,或获取一次掷骰的完整概率分布。
属于 Pipeworx — 一个将 AI Agent 连接到 1866+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联、未经其认可,也非由其发布。
工具
roll_dice(notation, times?, seed?)— 按给定记法掷骰,并返回每颗骰子的结果、哪些骰子被保留、每项的小计、总和以及易读的明细。times(最多 100)可重复掷骰,并统计重复结果中的最小值/最大值/平均值。可回答“掷 4d6 并去掉最低点数”“掷骰并取优势”“掷 2d6+3 六次”等请求。flip_coins(count?, seed?)— 最多抛 1,000 枚公平硬币;返回正/反面序列、正面和反面次数以及最长连续序列。dice_odds(notation, target?, comparison?, seed?)— 返回最小值、最大值、平均值、标准差、众数、中位数以及每个总和的概率;指定target后,还会计算总和达到>=(默认)、>、<=、<或==该值的概率。对于普通求和以及最多 1,000,000 种结果的保留/丢弃骰池,通过枚举精确计算;对于其他情况(以及所有爆炸骰),则使用蒙特卡罗估算,并标注method: "monte_carlo"及其样本数。可回答“3d6 掷出 15+ 的概率是多少”“优势检定对抗 DC 15 有多大帮助”等请求。
每个响应都包含 seed 和 meta 信封(seed、procedure、deck、source)。省略 seed 可获得新的随机结果;使用相同参数传回返回的种子,即可精确复现结果。结果是随机结果,并非建议;其含义由调用方 Agent 决定。
记法
由 + 或 - 连接的 NdS 项,以及整数常数(1d20+5、2d6+1d4-1)。N 默认为 1。S 可以是数字、%(= 100)或 F(fudge/Fate:-1、0、+1)。修饰符按以下顺序置于骰子之后:!(爆炸:掷出最大面时再掷一颗骰子),然后是 kh/kl/dh/dl,后面可带数量(保留最高、保留最低、丢弃最高、丢弃最低;单独使用 k 表示 kh1)。限制:每种记法最多 1,000 颗骰子,每颗骰子最多 10,000 面,每条爆炸链最多额外掷 100 颗骰子。格式错误或超出限制时,系统会拒绝请求并说明原因和语法。
身份验证
无需密钥。无上游服务,也无出站调用。
数据源
- Pipeworx dice engine v1(本仓库共享的概率引擎):采用以种子字符串的 cyrb128 哈希值作为种子的 sfc32 伪随机数生成器。不带种子调用时,会从平台的加密随机源获取 128 位种子并返回。骰子点数通过拒绝采样生成,因此无论骰子有多少面,都不会偏向任何点数。
单元测试会固定给定种子对应的生成序列。如果引擎变更导致种子结果发生变化,该测试就会失败,因为有人可能引用过这些结果。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"dice-roller": {
"url": "https://gateway.pipeworx.io/dice-roller/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/dice-roller/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和其余网关级工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点会列出大约 30 个共享工具,以及该工具包自身的工具。连接的 initialize 响应会说明其确切范围,也是当天情况的权威依据。
这是有意为之,并非意外的多路复用。元工具可以让限定范围的连接回答本工具包未涵盖的问题——通过可跨整个目录路由的
ask_pipeworx——无需再添加第二个 MCP 服务。目前无法挂载不包含这些工具的工具包端点;如果额外的架构定义占用的上下文比路由功能带来的价值更多,请只连接一次完整网关,而不要连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1866+ 个数据源。唯一的区别是直接列出哪些工具包的工具;无论连接哪个端点,ask_pipeworx 都可以访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/roll_dice \
-H 'Content-Type: application/json' \
-d '{"notation":"4d6kh3","times":6}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/roll_dice。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经由网关往返:
{
"mcpServers": {
"dice-roller": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-dice-roller"]
}
}
}
或者直接运行它,确认服务能够启动:
npx -y @pipeworx/mcp-dice-roller
它通过 stdin/stdout 使用 MCP,并针对仅限此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接添加的任何共享元工具。源码相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
除了直接调用工具,你还可以用通俗易懂的英语提问——上述工具包端点和完整网关都支持此功能:
ask_pipeworx({ question: "your question about Dice Roller data" })
网关会自动选择合适的工具并填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。