返回市场
骰子滚动服务器

骰子滚动服务器

作者:lpbayliss2 星标更新:2025-11-21

项目介绍

server-dice-roll

一个用于模拟骰子投掷的模型上下文协议(MCP)服务器,支持标准骰子记法和Fate/Fudge骰子。

功能

  • 骰子记法解析:解析标准骰子记法字符串,如 2d61d20+54dF
  • 多种骰子类型:支持标准骰子和 Fate/Fudge 骰子
  • 随机投掷:生成具有准确概率分布的真实随机骰子投掷结果
  • 验证:使用 Zod 模式进行完整的输入和输出验证
  • MCP 集成:无缝集成到任何兼容 MCP 的客户端,如 Claude Desktop

使用方法

此 MCP 服务器提供了两个主要工具:

1. 解析骰子记法

解析骰子记法字符串并返回结构化的表示形式。

parse_dice_roll_notation
  input: { notation: "3d6+4" }
  output: { type: "standard", count: 3, sides: 6, modifier: 4 }

2. 投掷骰子

根据骰子投掷配置投掷骰子并返回结果。

dice_roll
  input: { type: "standard", count: 3, sides: 6, modifier: 4 }
  output: { rolls: [5, 2, 6], total: 17, original: "3d6+4" }

安装与设置

与 Claude Desktop 一起使用

在你的 Claude Desktop 配置中添加此服务器:

{
  "mcpServers": {
    "dice": {
      "command": "npx",
      "args": ["-y", "server-dice-roll"]
    }
  }
}

使用 npm/npx

# 全局安装
npm install -g server-dice-roll

# 运行服务器
mcp-server-dice-roll

# 或者直接使用 npx 运行
npx server-dice-roll

理解骰子记法

骰子记法是一种在桌面角色扮演游戏用来表示不同骰子投掷的系统。

标准记法

标准格式是 NdS+M,其中:

  • N 是要投掷的骰子数量(可选,默认值为 1)
  • d 表示骰子投掷
  • S 是每个骰子的面数
  • +M 是加到总和上的修正值(可选)

示例:

  • d6 - 投掷一个六面骰子
  • 2d10 - 投掷两个十面骰子并将结果相加
  • 3d8+5 - 投掷三个八面骰子,将结果相加,并加上 5

Fate/Fudge 骰子

Fate 骰子(也称为 Fudge 骰子)是特殊的六面骰子,其值分别为 -1、0 和 +1(每种值各两面)。

格式:NdF,其中:

  • N 是要投掷的骰子数量
  • dF 表示 Fate 骰子

示例:

  • 4dF - 投掷四个 Fate 骰子(结果在 -4 到 +4 之间)

许可证

本项目采用 MIT 许可证 - 详情见 LICENSE.md 文件。

作者

由 Luke Bayliss 创建 hello@lukebayliss.com

发布流程

本项目使用单一集成工作流进行版本控制、发布和分发:

  1. 版本标签:主分支中的每个 PR 应该包含一个且仅一个版本标签:

    • patch - 对于向后兼容的错误修复
    • minor - 对于向后兼容的新特性
    • major - 对于破坏性变更
    • 如果未指定标签,则默认应用 patch
  2. 顺序工作流:集成的发布和分发工作流包括三个顺序任务:

    • 任务 1:版本更新 - 更新 package.json 中的版本并创建 git 标签
    • 任务 2:创建发布 - 创建带有更改日志的 GitHub 发布
    • 任务 3:分发 - 将包发布到 npm
  3. 自动触发:工作流在以下情况下自动运行:

    • 当 PR 合并到主分支时(使用 PR 的版本标签)
    • 当更改直接推送到主分支时(使用补丁版本)
    • 通过 GitHub Actions 手动触发
    • 当手动推送标签时(跳过版本更新,仅创建发布和分发)

所有这些步骤都在协调的工作流中运行,确保可靠性。

PR 要求

所有 PR 应该包含一个且仅一个版本标签(patchminormajor)。如果未指定标签,系统将自动添加 patch 标签作为默认值。包含多个版本标签的 PR 将被阻止合并。

手动版本控制

要在不创建 PR 的情况下手动触发版本更新:

  1. 前往 Actions > 版本更新工作流
  2. 点击“运行工作流”
  3. 选择分支和更新类型(补丁、次要、主要)
  4. 点击“运行工作流”

其余过程(创建发布和分发)将自动完成。