章节 01
导读 / 主楼:gw2-mcp:将《激战2》数据接入AI助手的开源MCP服务器
一个用Rust编写的Model Context Protocol服务器,让Claude、Cursor等AI助手能够实时查询《激战2》游戏数据、角色状态、攻略配置和导航信息。
正文
一个用Rust编写的Model Context Protocol服务器,让Claude、Cursor等AI助手能够实时查询《激战2》游戏数据、角色状态、攻略配置和导航信息。
章节 01
一个用Rust编写的Model Context Protocol服务器,让Claude、Cursor等AI助手能够实时查询《激战2》游戏数据、角色状态、攻略配置和导航信息。
章节 02
《激战2》(Guild Wars 2)是一款拥有庞大世界观和复杂机制的大型多人在线角色扮演游戏。对于玩家而言,查询游戏数据、优化角色配置、了解任务进度往往需要频繁切换多个信息源——官方Wiki、攻略网站、游戏内界面等。
gw2-mcp 的出现正是为了解决这一痛点。这是一个基于Rust开发的Model Context Protocol(MCP)服务器,它充当了AI助手与《激战2》数据之间的桥梁,让玩家可以直接在Claude Desktop、Claude Code、Cursor等支持MCP的AI客户端中,通过自然语言对话获取游戏信息。
章节 03
服务器整合了ArenaNet官方提供的/v2 API,支持查询以下内容:
章节 04
项目内置了三个主流攻略站点的数据接口,并实现了TTL缓存机制:
玩家可以直接询问"当前版本最强的症状战士配置是什么",AI助手会从这些权威来源获取最新数据。
章节 05
《激战2》玩家常用[&...]格式的配置代码分享build。gw2-mcp内置了解码器,可以将这些代码转换为结构化的JSON数据,包含技能ID和特性点分配,方便AI理解和解释。
章节 06
基于SQLite/FTS5构建的本地搜索索引,覆盖技能、特性、专精、成就等数据,支持带变音符号的模糊匹配。这意味着即使玩家记不清准确的技能名称,也能通过近似描述找到相关信息。
章节 07
当服务器与游戏客户端运行在同一台机器上时,可以读取共享内存区域中的实时数据,提供:
对于macOS用户,项目还特别支持CrossOver和Whisky容器的自动发现与配置。
章节 08
项目采用了清晰的六边形架构(Hexagonal Architecture),将业务逻辑与外部依赖解耦:
src/
domain/ 纯类型定义与验证(无IO操作)
ports.rs 接口定义:缓存、时钟、API、Wiki、MumbleLink等
service.rs 业务编排,依赖抽象接口而非具体实现
adapters/ 具体实现:HTTP客户端、SQLite缓存、系统时钟、Mumble Link读取器
main.rs CLI组装层,唯一负责选择适配器的地方
这种设计的优势在于极高的可扩展性——添加新的传输协议(如HTTP/SSE)或运行模式(守护进程)只需在adapters/目录下新增一个文件即可。