关于 warhammer-oracle
warhammer-oracle 是为 AI 助手提供规则资料和流程指引的 MCP 服务,涵盖 Warhammer 40,000、Combat Patrol 和 Kill Team。它支持第 10 与第 11 版 40K 查询、单位比较和伤害计算,数据内置且运行时无需联网。
主要功能
- 01查询单位、规则、阶段和游戏流程
- 02搜索并比较单位与战术策略
- 03查阅分遣队、强化物和 Kill Team 战术
- 04计算攻击的预期伤害
- 05支持第 10 与第 11 版 40K 数据
- 06使用内置数据,无需运行时网络调用
适用场景
- 01对局中查看单位数据表
- 02按派系或能力搜索并比较单位
- 03查看阶段流程或战术策略效果
- 04根据目标属性估算伤害
MCP 相关
向 MCP 客户端提供 Warhammer 规则、单位数据、游戏流程指引、搜索、比较和伤害计算工具,涵盖 Warhammer 40,000、Combat Patrol 与 Kill Team。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| faction | string | 否 | 用于缩小结果范围的可选阵营名称(例如 'Chaos Space Marines'、'Astartes') |
| game_mode | enum | 否 | 游戏模式:'40k'(默认)搜索 40K 单位,'kill_team' 搜索 Kill Team 特遣队员40k | combat_patrol | kill_team |
| unit_name | string | 是 | 要搜索的单位名称或部分名称 |
详细介绍
Warhammer Oracle
Warhammer 40K 规则、单位属性和游戏流程。一个 MCP 服务。
向 AI 助手询问数据表、战略、分遣队、强化、关键词、阶段顺序、伤害计算等内容。涵盖 Warhammer 40,000(第 10 和第 11 版)、战斗巡逻队和 Kill Team。
版本:40K 单位、分遣队和强化查询默认使用第 11 版。如需查询第 10 版数据,可向任意工具传入 game_mode: "40k_10e"——第 10 版支持不会取消。回合顺序、阶段、核心关键词和核心战略均由人工整理自《第 11 版核心规则》。分遣队专属战略按派系人工整理,并按照桌面游戏规则的层级方式叠加:第 11 版派系包中完整说明的分遣队会覆盖基础 Codex 中的对应内容,其他情况则采用未修订的 Codex 基准内容。
安装
npx warhammer-oracle
也可以全局安装:
npm install -g warhammer-oracle
配置
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"warhammer-oracle": {
"command": "npx",
"args": ["-y", "warhammer-oracle"]
}
}
}
Claude Code
claude mcp add warhammer-oracle -- npx -y warhammer-oracle
工具
lookup_unit
按名称查询单位数据表。返回属性配置、单位规模(模型数量)、远程武器和近战武器、能力及关键词。
"Look up the Intercessor Squad datasheet"
"What are the stats for a Leman Russ Battle Tank?"
如果某个名称对应不同的数据表,工具会列出匹配的派系。如果同一名称和派系仍对应多份数据表,也会列出它们的 ID;传入派系和一个 datasheet_id 即可选择对应数据表。
参数:unit_name(必填)、faction(可选)、datasheet_id(可选,同一派系中不同数据表对应的确切 ID)、game_mode(可选:40k/40k_11e(默认,第 11 版)、40k_10e、combat_patrol、kill_team)
lookup_keyword
查询关键词或规则。返回官方定义、通俗易懂的解释、示例,以及适用的游戏模式。
"What does Devastating Wounds do?"
"Explain the Feel No Pain keyword"
参数:keyword(必填)、game_mode(可选)
lookup_phase
按名称查询游戏阶段。返回分步说明和提示。
"Walk me through the Shooting phase"
"How does the Firefight phase work in Kill Team?"
参数:phase_name(必填)、game_mode(可选,默认值:40k)
search_units
按名称、派系、关键词或能力文本搜索单位。返回精简列表(最多 10 条结果),包含派系、点数和关键词。
"Find all Necron units under 100 points"
"Search for units with the Fly keyword"
"Show me units with Deep Strike"
参数:query(必填)、faction(可选)、ability(可选)、max_points(可选)、game_mode(可选:40k/40k_11e(默认)、40k_10e、combat_patrol、kill_team)
compare_units
并排比较 2-4 个单位。在单个响应中显示每个单位的完整数据表。
"Compare Intercessors vs Tactical Marines"
"Compare the Leman Russ, Predator, and Hammerhead side by side"
参数: units(必填,包含 2-4 个单位名称的数组),game_mode(可选:40k/40k_11e(默认)、40k_10e、combat_patrol、kill_team)
game_flow
显示某个游戏模式的完整回合顺序,或指出当前所处的回合阶段以及接下来要进行的阶段。
"Show me the 40K turn sequence"
"I'm in the Shooting phase — what's next?"
"Show the Kill Team turn sequence"
参数: current_phase(可选),game_mode(可选,默认:40k)
lookup_stratagem
按名称查询 Warhammer 40,000 战略战术。返回 CP 消耗、阶段时机、目标和效果。
"What does Fire Overwatch do?"
"Show me the Command Re-roll stratagem"
参数: name(必填),faction(可选),phase(可选),detachment(可选)
search_stratagems
按名称、派系、阶段或分遣队搜索战略战术。返回精简列表(最多 10 项)。
"What stratagems can I use in the Fight phase?"
"Show me Gladius Task Force stratagems"
参数: query(必填),faction(可选),phase(可选),detachment(可选)
lookup_detachment
按名称查询分遣队。返回分遣队能力、可用强化以及关联的战略战术。
"Show me the Gladius Task Force detachment"
"What does the Warhost detachment do for Aeldari?"
参数: name(必填),faction(可选),game_mode(可选:40k/40k_11e(默认)、40k_10e)
lookup_enhancement
按名称查询角色强化。返回点数消耗、分遣队和效果。
"What does Adept of the Codex do?"
"Show me Aeldari enhancements"
参数: name(必填),faction(可选),detachment(可选),game_mode(可选:40k/40k_11e(默认)、40k_10e)
lookup_ploy
按名称查询 Kill Team 诡计。返回类型(战略/战术)、CP 消耗、时机和效果。
"What does the Bolster ploy do in Kill Team?"
"Show me Legionaries ploys"
参数: name(必填),faction(可选),type(可选:strategic、tactical)
wound_calculator
计算攻击配置对目标造成的预期伤害。支持重掷、武器关键词(致命命中、毁灭性伤口、持续命中、洪流)、无敌豁免和痛苦无惧。
"Calculate damage: 10 attacks, BS3+, S5 AP-1 D2 vs T4 Sv3+"
"How much damage does a lascannon do to a Leman Russ?"
参数: attacks、hit_skill、strength、toughness、armour_save、damage(均为必填);armour_penetration、invulnerable_save、feel_no_pain、reroll_hits、reroll_wounds、weapon_keywords、wounds_per_model、game_mode(均为可选)
determine_primary_mission
根据双方的军力部署确定每位玩家的主要任务(第 11 版匹配对战)。每位玩家的任务根据对手的军力部署查询——在双方军队不同的对局中,两位玩家会获得不同的任务。仅返回任务名称,不返回完整的得分/目标文本。
"I picked Take and Hold, my opponent picked Purge the Foe — what are our missions?"
"What's my Primary Mission if I'm Reconnaissance and they're Priority Assets?"
参数: your_disposition、opponent_disposition(均为必填,取值之一:Take and Hold、Purge the Foe、Reconnaissance、Priority Assets、Disruption)
lookup_crusade
查询远征战役内容(叙事对战)。返回远征战役规则、圣物、战斗特质和升级。
"What Crusade relics can Space Marines take?"
"Show me the Crusade battle traits"
参数: query(必填),faction(可选)
数据
所有数据均在构建时嵌入,运行时不会进行网络调用。数据每天通过 GitHub Actions 从 BSData 同步。
| 类别 | 数量 | 来源 |
|---|---|---|
| 40K 单位数据表(第 11 版,默认) | 2,695 | BSData/wh40k-11e |
| 40K 单位数据表(第 10 版) | 2,666 | BSData/wh40k-10e |
| Kill Team 特遣队员 | 519 | BSData/wh40k-killteam |
| 分遣队(第 11 版 / 第 10 版) | 259 / 208 | BSData(自动提取) |
| 强化(第 11 版 / 第 10 版) | 895 / 827 | BSData(自动提取) |
| 战略点 | 1,316 | 人工整理(核心规则 + 各派系专属分遣队) |
| Kill Team 战术 | 14 | 人工整理(通用 + 热门派系) |
| 通用规则(第 11 版 / 第 10 版) | 35 / 33 | BSData |
| 通用规则(Kill Team) | 22 | BSData |
| 精选关键词 | 25 | 人工编写,通俗易懂,第 11 版核心规则 |
| 游戏模式流程 | 3 | 人工整理(40K、Combat Patrol、Kill Team) |
| 力量部署任务对阵 | 15 | 人工整理(5 种部署,完整对阵表) |
游戏模式
- Warhammer 40,000(
40k/40k_11e,默认)——全面战斗,采用第 11 版规则 - Warhammer 40,000, 10th Edition(
40k_10e)——全面战斗,采用第 10 版规则(永久支持) - Combat Patrol(
combat_patrol)——规模较小、适合入门的模式 - Kill Team(
kill_team)——小队级遭遇战游戏
新增版本后,第 10 版支持不会停止;每个已添加的 game_mode 值都会继续有效。
开发
npm install
npm run build
npm test
从 BSData 刷新单位数据:
npm run fetch-data
npm run build
许可证
MIT(适用于 MCP 服务代码)。
单位数据来源于 BSData 社区项目——wh40k-10e、wh40k-11e 和 wh40k-killteam。游戏规则和军队规则是 Games Workshop 的知识产权。本工具提供参考数据,供个人在游戏过程中使用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。