内容
# 公会战争1 MCP
只读模型上下文协议服务器,用于公会战争1公共来源和选择加入
本地安装库存。
## 来源
- 公会战争维基:`https://wiki.guildwars.com/api.php`
- PvXwiki:`https://gwpvx.fandom.com/api.php`
- GW1 Builds:`https://gw1builds.com/api/builds`
- YouTube官方和创作者频道的公共RSS源
- r/公会战争公共Atom搜索
- 本地公会战争安装或VMware Fusion捆绑包元数据,仅当提供明确的根目录时
## 安装
这是一个stdio MCP服务器,从GitHub分发。替换`<owner>`为
托管此仓库的GitHub所有者或组织。
### Codex
```bash
codex mcp add guildwars1 -- npx -y github:<owner>/guildwars1-mcp
codex mcp list
```
选择加入本地库存:
```bash
codex mcp add guildwars1 \
--env GW1_LOCAL_ROOTS="/path/to/公会战争游戏安装路径/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars1-mcp
```
### Claude Code
```bash
claude mcp add --scope user guildwars1 -- npx -y github:<owner>/guildwars1-mcp
claude mcp list
```
选择加入本地库存:
```bash
claude mcp add --scope user guildwars1 \
-e GW1_LOCAL_ROOTS="/path/to/公会战争游戏安装路径/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars1-mcp
```
### Claude 桌面版
将以下内容合并到 `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"guildwars1": {
"command": "npx",
"args": ["-y", "github:<owner>/guildwars1-mcp"]
}
}
}
```
选择加入本地库存:
```json
{
"mcpServers": {
"guildwars1": {
"command": "npx",
"args": ["-y", "github:<owner>/guildwars1-mcp"],
"env": {
"GW1_LOCAL_ROOTS": "/path/to/公会战争游戏安装路径/or VM.vmwarevm"
}
}
}
}
```
更改文件后重启Claude Desktop。
### Grok
```bash
grok mcp add --scope user guildwars1 -- npx -y github:<owner>/guildwars1-mcp
grok mcp list
grok mcp doctor
```
选择加入本地库存:
```bash
grok mcp add --scope user guildwars1 \
-e GW1_LOCAL_ROOTS="/path/to/公会战争游戏安装路径/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars1-mcp
```
添加服务器后启动新的Codex、Claude或Grok会话。现有的会话可能无法获取新配置的MCP服务器。
从检出:
```bash
npm install
npm run build
node dist/index.js
```
## 工具
- `gw1_sources` - 列出配置的公共和本地源表面。
- `gw1_wiki_search` - 搜索公会战争维基、PvXwiki或两者。
- `gw1_wiki_page` - 获取带有提取的文本、链接、类别和修订版元数据的维基页面。
- `gw1_wiki_recent_changes` - 从维基源读取最近的公共更改。
- `gw1_game_updates` - 从公会战争维基解析最近的公会战争游戏更新部分。
- `gw1_builds_search` - 搜索GW1 Builds公共API和/或PvXwiki。
- `gw1_template_code_analyze` - 验证、解码和合法性检查公会战争模板/构建代码(职业、属性、技能名称、构建规则)。
- `gw1_template_encode` - 从职业、属性和技能名称构建可导入的模板代码,并附上合法性报告(一个精英,三个仅限PvE的最大,单个阵营,200个属性点预算)。
- `gw1_subreddit_search` - 搜索r/公会战争公共Atom结果。
- `gw1_youtube_sources` - 列出精选的官方和创作者YouTube源。
- `gw1_youtube_videos` - 从精选源获取最近的公共YouTube视频。
- `gw1_content_search` - 跨维基、PvXwiki、GW1 Builds、YouTube和r/公会战争搜索。
- `gw1_local_inventory` - 扫描明确的本地根目录以获取公会战争或VMware Fusion元数据。
## 资源
- `gw1://sources` - 公共源注册表。
- `gw1://wiki-sources` - 媒体wiki源注册表。
- `gw1://youtube-sources` - 官方和创作者YouTube源注册表。
## 更新管道
大多数内容在工具调用时从公共API和源动态获取。仓库还包括一个计划的`源烟雾` GitHub Actions工作流,该工作流对公共源表面运行实时检查。它不会提交抓取的数据或发布工件;它会捕获死源、API形状更改和源损坏,以便可以有意更新精选注册表。
## 本地库存
本地库存是选择加入的。服务器永远不会自动扫描默认位置、主目录、VMware文件夹或游戏安装。
使用明确的根目录:
```bash
GW1_LOCAL_ROOTS="/path/to/公会战争游戏安装路径:/path/to/VM.vmwarevm" guildwars1-mcp
```
或将根目录传递给`gw1_local_inventory`工具。
扫描器可以检测:
- `Gw.exe`
- `Gw.dat`元数据
- `.txt`文件中的`模板`文件夹和合理的模板代码
- `.vmwarevm`、`.vmx`和`.vmdk`元数据
它不会挂载虚拟磁盘、解析`Gw.dat`、遵循符号链接逃逸或写入扫描输出。默认情况下路径会被编辑,除非调用者明确选择退出。
## 开发
```bash
npm install
npm run typecheck
npm test
npm run build
npm run smoke:sources
```
## 注意
本项目与ArenaNet、NCSoft、公会战争维基、PvXwiki、GW1 Builds、Reddit或VMware无关。它获取公共的只读数据并返回源URL,以便代理可以将声明归因于原始源。