Token导航 LogoToken导航TokenDH.com
40k MCP Server logo
搜索检索stdio官方级别未说明来源级核验

40k MCP Server

MCP Server

一个提供全面战锤40K第十版规则数据访问的MCP服务器,支持单位查询、策略搜索、单位比较和名单验证等功能。

工具数

5

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude搜索Claude DesktopClaude

安装说明

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

作者 / 组织

Emeier2

提供方

Emeier2

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r scraper/requirements.txt

详细介绍

40k MCP服务器

MCP(模型上下文协议) 允许LLM访问的服务器 所有战锤40000第10版 用于游戏决策和列表构建的派系规则数据。

使用TypeScript、本地向量嵌入和零外部API依赖项构建。

特性

5个MCP工具 对于所有派系的全面40k规则访问:

工具说明
get_unit完整的数据表查找,包括统计数据、武器、能力、积分和关键字。支持模糊名称匹配和可选派系过滤
search_rules使用向量嵌入对所有规则进行语义搜索(RAG)。问一些自然语言的问题,比如“最好的反坦克武器”或“可以深度打击的单位”。按派系或规则类型筛选。
list_stratagems按派系、分离、类型或关键字浏览和过滤策略。
compare_units两个单位在属性、武器、能力和点数效率方面的并排比较。跨派系工作。
validate_list根据点数限制和构造规则(EPIC HERO重复,有效单位大小)验证军队名单。

数据覆盖范围: 1665个单位,1469个策略,776个增强,189个分遣队,6个派系规则,以及24个派系的7个核心规则部分。

支持的派系

帝国混沌Xenos

阿登普塔·索罗里塔斯。混沌守护者。艾尔达。 |《Adeptus Custones》|《混沌骑士》| Drukhari| |机械爱好者|混沌太空海军陆战队|基因窃贼崇拜| |Adeptus Titanicus |死亡守卫|沃坦联盟| |Astra Militarum |皇帝的孩子们| Necrons| |灰骑士|千子| Orks| |帝国特工|世界食客|唐帝国| |帝国骑士团| |太空海军陆战队|

太空海军陆战队包括所有章节特定的内容(黑圣殿骑士、血天使、黑暗天使、死亡守望、太空狼)。

建筑

MCP Client (Claude Desktop / Claude Code)
          |
          | stdio (JSON-RPC)
          v
    MCP Server (TypeScript)
    @modelcontextprotocol/sdk
          |
    +-----+------+
    |             |
Structured    Vector DB
  JSON         (Vectra)
 Lookups    Semantic Search
  • 结构化工具 (get_unit, list_stratagems, compare_units, validate_list)对启动时加载的JSON数据进行精确/过滤查找
  • 语义搜索 (search_rules)将查询嵌入到本地转换器模型中,并搜索预先构建的向量索引
  • 嵌入 使用本地生成 all-MiniLM-L6-v2 通过 @huggingface/transformers -不需要API密钥
  • 矢量存储 用途 维克特拉,一个具有JSON文件存储的轻量级JS原生矢量数据库

多派别数据加载

启动时,服务器进行扫描 data/ 用于派系子目录,并并行加载所有JSON文件。每个派系的数据被合并为一个 GameData 对象,每个项目上都保留了派系元数据。

RAG区块链战略

为了准确检索,游戏数据被拆分为语义上有意义的块。每个块都包括用于过滤的派系元数据:

块类型内容
unit_overview姓名、统计数据、关键字、积分、派系
unit_weapons所有带有关键字的武器配置文件
unit_abilities核心、派系和独特能力
unit_composition型号计数、作战装备选项、领导者信息
stratagem每个策略的完整时间/目标/效果文本
enhancement效果文本、限制、要点
detachment_rule分离能力文本
faction_rule全派系规则
core_rule核心游戏规则(阶段、概念)

每个块都以上下文作为前缀(例如。, [Unit: Fire Dragons] (aeldari) Weapons:)因此嵌入捕获了内容及其来源。

快速开始

先决条件

  • Node.js 18+
  • npm

安装和构建

git clone https://github.com/Emeier2/40k-mcp-server.git
cd 40k-mcp-server
npm install
npm run build

构建矢量索引

必需的 search_rules 工具(首次运行下载嵌入模型,约80MB):

npm run build-index

配置Claude桌面

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "wh40k": {
      "command": "node",
      "args": ["/absolute/path/to/40k-mcp-server/build/index.js"]
    }
  }
}

然后重新启动Claude Desktop。工具将自动显示。

配置Claude代码

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "wh40k": {
      "command": "node",
      "args": ["/absolute/path/to/40k-mcp-server/build/index.js"]
    }
  }
}

交互示例

“中间人擅长什么?”

克劳德打电话来 get_unit("Intercessors", faction="space-marines") 并获取包含统计数据、栓式步枪配置文件和能力的完整数据表。

“死亡守卫在射击阶段可以使用什么策略?”

克劳德打电话来 list_stratagems(faction="death-guard", keyword="shooting") 并得到滤波结果。

“将幽灵卫士与火龙进行反坦克比较”

克劳德打电话来 compare_units("Wraithguard", "Fire Dragons") 为了进行并排比较,那么 search_rules("anti-tank weapons") 以获取更多上下文。

“充电阶段的核心规则是什么?”

克劳德打电话来 search_rules("charge phase", type="core_rule") 找到相关的核心规则。

“这份2000分的名单合法吗?”

克劳德打电话来 validate_list 使用单位列表,检查积分总数,标记任何EPIC HERO重复或无效的单位大小。

项目结构

40k-mcp-server/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── tools/
│   │   ├── get-unit.ts       # Unit datasheet lookup
│   │   ├── search-rules.ts   # RAG semantic search
│   │   ├── list-stratagems.ts# Stratagem filtering
│   │   ├── compare-units.ts  # Unit comparison
│   │   └── validate-list.ts  # Army list validation
│   ├── data/
│   │   ├── loader.ts         # Multi-faction JSON loader
│   │   └── types.ts          # TypeScript interfaces
│   ├── rag/
│   │   ├── embeddings.ts     # Local embedding generation
│   │   ├── vector-store.ts   # Vectra index wrapper
│   │   └── chunker.ts        # Intelligent data chunking
│   └── utils/
│       └── formatting.ts     # LLM-optimized output formatting
├── data/
│   ├── {faction}/            # Per-faction data directories
│   │   ├── units.json        # Unit datasheets
│   │   ├── stratagems.json   # Stratagems
│   │   ├── enhancements.json # Enhancements
│   │   ├── detachments.json  # Detachment rules
│   │   └── faction-rules.json# Faction-wide rules
│   ├── core-rules.json       # Core game rules
│   └── index/                # Vector search index
├── scraper/                  # Python scraping pipeline (offline)
│   ├── scrape_all.py         # Master orchestration (all factions)
│   ├── scrape_datasheets.py  # Unit datasheet scraper
│   ├── scrape_faction_data.py# Stratagems/enhancements/detachments
│   ├── scrape_core_rules.py  # Core rules scraper
│   └── utils.py              # Shared scraping utilities
└── scripts/
    └── build-index.ts        # Vector index builder

报废数据

要重新抓取所有派系数据(需要Python 3.10+及其依赖项):

pip install -r scraper/requirements.txt
python scraper/scrape_all.py

scraper支持恢复——它跳过输出目录已经包含所有5个文件的派系。要强制重新抓取特定派系,请删除其下的目录 data/.

技术栈

技术角色
TypeScript服务器实现
@模型上下文协议/sdkMCP服务器框架
维克特拉本地矢量数据库(JS原生,JSON存储)
@拥抱面/变压器局部嵌入模型(all-MiniLM-L6-v2)
黄道带工具输入模式验证
Python/BeautifulSoup离线数据抓取

数据源

从中抓取游戏数据 瓦哈佩迪亚 并以结构化JSON的形式提交。scraper是一个离线工具——用户不需要Python或网络访问来运行MCP服务器。

战锤40000条规则和军队数据是Games Workshop的知识产权。这个项目是一个粉丝制作的个人使用工具。

许可证

麻省理工学院

目录标签

目录标签

PythonClaude搜索战锤40K本地部署规则查询游戏辅助语义搜索本地向量数据库

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP