Token导航 LogoToken导航TokenDH.com
dnd (Zolty Mat) logo
开发工具未说明官方级别未说明来源级核验

dnd (Zolty Mat)

MCP Server

一个通过GitHub Copilot Chat进行的结构化D&D 5e游戏,Copilot作为地下城主,使用MCP服务器进行规则查询和会话间持久记忆。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptVS Code开发工具VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ZoltyMat

提供方

ZoltyMat

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Asverra——以GitHub Copilot为DM的D&D 5e活动

通过GitHub Copilot Chat播放了一个结构完整的D&D 5e活动。Copilot充当地下城大师,使用MCP服务器进行D&D规则查找和跨会话的持久内存。

角色:德拉克塔尔-半兽人圣骑士(复仇誓言),3级\ 世界:Asverra——一个黑暗幻想的自制背景\ 主要任务:追捕并摧毁Garek Shatterbone,在他的仪式打开通往阿喀戎飞机的门户之前。 47天倒计时。

______________________________________________________________________

如何玩

开始会话

  1. 打开一个新 GitHub Copilot 聊天助手 VS Code中的窗口(不是内联聊天——使用聊天面板)
  2. 确保MCP服务器处于活动状态(检查 .vscode/mcp.json)
  3. 复制以下内容 prompts/start-session.md 并将其粘贴到聊天中
  4. DM(Copilot)将读取内存文件,回顾上次会话,并将您带入世界
  5. 用简单的英语描述德拉克萨尔的动作

游戏期间

  • 行动:只需描述你想做什么。DM会告诉你要滚动什么以及DC是什么。
  • 骰子:使用 node scripts/dice-roller.js 1d20+6 对于记录的滚动,或者说“为我滚动”,副驾驶会讲述
  • 规则问题:用字符或类型询问DM [DM mode: question] 走出叙事之外
  • 战斗:粘贴 prompts/combat.md 正确地组织一场战斗
  • 休息:从粘贴相关部分 prompts/rest.md

结束会话

完成后,粘贴以下内容 prompts/end-session.md副驾驶将:

  • 更新所有内存文件
  • 写会话日志
  • 确认世界发生了什么变化

然后使用自动会话管理器:

node scripts/end-session.js

这将验证字符表,检查内存更新,以正确的格式提交,并可选择推送。

或手动: git add -A && git commit -m "Session [N]: [brief description]" && git push

______________________________________________________________________

自动化和脚本

此活动包括用于验证和工作流管理的自动化工具。

会话管理器

node scripts/end-session.js

自动化工作流程:

  • ✅ 验证字符表
  • ✅ 检查内存文件更新
  • ✅ 创建/验证会话日志
  • ✅ 以适当的格式提交
  • ✅ 可选择推送到远程

字符验证器

node scripts/validate-character.js

根据D&D 5e规则验证德拉克萨尔的角色表:

  • 级别/熟练度奖金匹配
  • XP级别正确
  • HP在范围内
  • 法术槽与圣骑士进程匹配

摇骰子

# Basic roll
node scripts/dice-roller.js 2d6+4

# With advantage
node scripts/dice-roller.js 1d20 --advantage

# With context logging
node scripts/dice-roller.js 8d6 --context "Fireball damage"

特征:

  • 加密安全RNG
  • 优势/劣势支持
  • 自动将所有滚动记录到 rolls.jsonl
  • 自然20/1检测

CI/CD

GitHub Actions会在每次提交时自动验证:

  • 字符表规则
  • 会话编号
  • 内存文件存在
  • MCP服务器构建

scripts/README.md 获取完整文档。

______________________________________________________________________

工作区结构

dnd/
├── .github/
│   └── copilot-instructions.md    # DM persona, memory protocol, rules system
├── .vscode/
│   └── mcp.json                   # MCP server configuration
├── characters/
│   └── party/
│       └── drakthar.md            # Full character sheet — update after every session
├── campaign/
│   ├── world/
│   │   ├── lore.md                # World history, pantheon, The Sundering
│   │   ├── geography.md           # Regions, cities, dungeon locations
│   │   └── factions.md            # The four major factions and their goals
│   └── npcs/
│       ├── allies.md              # Potential allies with motivations and secrets
│       └── antagonists.md         # Garek Shatterbone and his lieutenants
├── sessions/
│   ├── session-000-prologue.md    # Opening scene — start here for Session 1
│   └── [session logs added here]
├── memory/
│   ├── recent-events.md           # Rolling log of last ~3 sessions (DM reads at session start)
│   ├── world-state.md             # Current faction status, NPC locations, active threats
│   └── lessons-learned.md         # Drak'Thar's injuries, oaths, relationships, DM continuity notes
├── rules/
│   ├── srd-reference.md           # Key 5e rules cheat sheet
│   ├── paladin-oath-of-vengeance.md  # Full subclass reference for Drak'Thar
│   └── house-rules.md             # Deviations from RAW
├── prompts/
│   ├── start-session.md           # Paste this to begin a session
│   ├── end-session.md             # Paste this to close a session and save memory
│   ├── combat.md                  # Paste this when entering combat
│   ├── rest.md                    # Short/long rest procedures
│   └── level-up.md                # Level 4 and Level 5 instructions
├── mcp-servers/
│   └── dnd-mcp/                   # heffrey78/dnd-mcp — 40+ D&D tools via Open5e API
└── README.md

______________________________________________________________________

MCP服务器

配置了三台MCP服务器 .vscode/mcp.json:

服务器用途
dnd-5e40+工具:法术查找、怪物属性块、遭遇构建器、角色工具。使用Open5e API(无需密钥)。
记忆跨会话的持久NPC、位置和事件记忆的知识图。用途 @modelcontextprotocol/server-memory.
文件系统对所有活动文件的读/写访问权限。用途 @modelcontextprotocol/server-filesystem.

dnd-mcp 服务器预先构建在 mcp-servers/dnd-mcp/dist/index.js。如果需要重建: cd mcp-servers/dnd-mcp && npm install && npm run build

______________________________________________________________________

活动状态

| | | |-|-| | 当前水平 | 3 | | 当前经验值 |900/2700(4级)| | 仪式前的日子 | 47 | | 上次会话 |开场白(尚未播放)| | 主要威胁 |Garek Shatterbone-阿什赫斯特堡|

______________________________________________________________________

知识总结

阿斯维拉 大陆是否仍在从 分离 --200年前的一场大灾难,当时瓦尔德里安帝国试图将阿喀戎神作为动力源。Acheron摧毁了自己,打破了天空( 疤痕),蒸发资本( )并打破了几代人的神圣联系。

德拉克塔尔家族 Skullmoor,三年前被屠杀 铁爪掠夺者,由半恶魔军阀领导 Garek ShatterboneDrak'Sar幸存了下来。他宣读了神圣的复仇誓言。他一直在穿过 阿什菲尔德 从那以后,一直在追捕爪兵。

现在他发现,Garek距离打开通往阿喀戎平面的永久门户还有47天,阿喀戎是一支来自无尽战争维度的无限军队。

数学很简单。停止仪式。杀了Garek。完成誓言。

这一切都不简单。

______________________________________________________________________

Git工作流

每次会议后:

git add -A
git commit -m "Session [N]: [one-line description of what happened]"
git push

由创建的会话日志 prompts/end-session.md 并且将包括所有内存文件更新。

目录标签

目录标签

JavaScriptVS Code开发工具角色扮演游戏本地部署GitHubCopilot自动化游戏D&D5e游戏管理

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP