使用说明
流放之路2构建优化器MCP
社区项目免责声明
这是一个独立的、粉丝制作的社区项目,建立在对《流放之路2》的热爱之上。它是 与Grinding Gear Games没有附属关系、认可或正式联系 无论如何。《流放之路》是Grinding Gear Games的商标。所有游戏数据和资产仍然是其各自所有者的财产。
用于流亡之路2字符分析和优化的模型上下文协议(MCP)服务器。提供38个MCP工具,用于AI驱动的构建分析、被动树分析、项目模型验证、支持gem验证和构建路径集成(包括一个运行PoB实例的实时桥)。
这是什么?
这是一个 MCP服务器 -后端服务,使AI助手(如Claude、ChatGPT、Cursor等)能够分析您的流放之路2字符并提供优化建议。
它的作用:
- 从poe.ninja获取您的角色数据
- 分析防御数据、技能、装备和被动树
- 验证支持gem组合(防止无效建议)
- 检查拼写和支持宝石数据
- 建筑规范的进出口路径
- 将您的构建与顶级阶梯玩家进行比较
- 解释PoE2游戏机制
您需要什么:
- 支持MCP(克劳德桌面、ChatGPT桌面、光标、Windsurf等)的AI助手
- 已安装Python 3.9+
- 您在poe.ninja上的PoE2角色(公开资料)
快速开始
1.安装
选项A:PyPI(推荐)
pip install poe2-mcp
选项B:来源
git clone https://github.com/HivemindOverlord/poe2-mcp.git
cd poe2-mcp
pip install -e .
2.连接到您的AI助手
请在下面选择您的平台:
Claude桌面集成
选项A:手动配置(建议用于开发)
编辑您的Claude Desktop配置文件:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
正确的配置取决于您的安装方式。挑一个。
A1.如果你跑了 pip install poe2-mcp (推荐)
使用 poe2-mcp 控制台脚本。它在你的路径之后 pip install 适用于所有平台,无需绝对路径:
{
"mcpServers": {
"poe2-optimizer": {
"command": "poe2-mcp",
"env": {}
}
}
}
如果Claude Desktop报告找不到 poe2-mcp,你的 pip 安装目录不在Claude Desktop的PATH中。要么跑 which poe2-mcp (where poe2-mcp 在Windows上)并使用绝对路径,或回退到 python -m:
{
"mcpServers": {
"poe2-optimizer": {
"command": "python",
"args": ["-m", "src.mcp_server"],
"env": {}
}
}
}
A2.如果你克隆了+ pip install -e . 来自源头
指向 launch.py 直接。它执行一些裸控制台脚本跳过的Windows特定UTF-8设置:
窗户:
{
"mcpServers": {
"poe2-optimizer": {
"command": "python",
"args": ["C:\\Users\\YourName\\poe2-mcp\\launch.py"],
"env": {}
}
}
}
macOS/Linux:
{
"mcpServers": {
"poe2-optimizer": {
"command": "python3",
"args": ["/Users/YourName/poe2-mcp/launch.py"],
"env": {}
}
}
}
编辑配置后重新启动Claude Desktop。服务器将出现在您的MCP工具中。
选项B:下载.mcpb捆绑包(一键安装)
预构建的MCP捆绑包可在Claude Desktop中一键安装:
- 下载
poe2-mcp-1.0.0.mcpb从 GitHub 发布 - 在克劳德桌面:设置>扩展>安装扩展
- 选择已下载的
.mcpb文件
注: 该捆绑包包含所有游戏数据文件,大小约为109MB。Python 3.9+必须安装在您的系统上。
建议: 对于开发或想要自动更新,请使用选项A(手动配置)
pip install poe2-mcp.
其他AI平台
MCP是一个由多个AI平台支持的开放标准:
OpenAI ChatGPT桌面
ChatGPT桌面应用程序支持MCP服务器。配置因版本而异-请查看OpenAI的文档以获取当前的设置说明。
光标AI
Cursor通过SSE协议支持MCP。添加到光标设置中:
{
"mcp": {
"servers": {
"poe2-optimizer": {
"command": "python",
"args": ["/path/to/poe2-mcp/launch.py"]
}
}
}
}
帆板运动
Windsurf有一个内置的MCP插件商店。您可以:
- 在插件商店中搜索“poe2”(如果已发布)
- 在设置中手动添加服务器路径
克劳德代码(CLI)
# In your project directory
claude mcp add poe2-optimizer python /path/to/poe2-mcp/launch.py
其他兼容客户端
- Zed编辑
- 雷普利特
- 科迪姆
- 源代码图
- 微软语义内核
- Salesforce代理平台
检查每个平台的MCP服务器配置文档。
可用工具(已注册38个)
连接后,您可以让您的AI助手使用这些工具。这
权威列表是 _register_tools() 在 src/mcp_server.py --验证
实时计数:
python -c "import re; print(len(re.findall(r'types\.Tool\(\s*name=', open('src/mcp_server.py').read())))"
人物分析
| 工具 | 说明 |
|---|---|
analyze_character |
全面的性格分析(防御、技能、装备、被动);暴露原始 passive_node_ids |
import_poe_ninja_url |
从poe.ninja个人资料URL导入角色(联赛分段感知) |
compare_to_top_players |
将您的构建与梯形图领导者进行比较(protobuf构建API) |
analyze_passive_tree |
使用寻路功能分析分配的被动节点 |
calculate_character_dps |
服务器端法术DPS,包括可选的DoT层(点火/中毒/出血+技能DoT) |
get_live_game_state |
读取正在运行的PoE2客户端的client.txt(字符、区域、死亡)——本地,无网络 |
get_game_config |
读取本地游戏配置INI(网关、输入模式、渲染器) |
验证和检查
| 工具 | 说明 |
|---|---|
validate_support_combination |
检查支持宝石是否协同工作(硬+语义冲突) |
validate_build_constraints |
根据游戏规则验证构建(平面/嵌套/遗留阻力模式,容错) |
reconcile_defensive_stats |
区分本地EHP/防御计算与poe.ninja的计算统计 |
inspect_support_gem |
查看完整的支持宝石数据(包括灵魂保留) |
inspect_spell_gem |
查看完整的法术宝石数据(每级成本/预订) |
list_all_supports |
列出所有可用的支持宝石 |
list_all_spells |
列出所有可用的法术宝石 |
被动树数据
| 工具 | 说明 |
|---|---|
list_all_keystones |
列出所有按键及其完整统计信息 |
inspect_keystone |
按名称获取完整的梯形图细节 |
list_all_notables |
列出所有值得注意的被动语态及其统计数据 |
inspect_passive_node |
获取任何被动节点的详细信息 |
check_tree_freshness |
报告被动树数据修订与poe.ninja |
基本项目数据
| 工具 | 说明 |
|---|---|
list_all_base_items |
列出所有基本项目类型 |
inspect_base_item |
获取特定基础项目的详细信息 |
项目型号数据
| 工具 | 说明 |
|---|---|
inspect_mod |
按ID获取特定模组的完整详细信息 |
list_all_mods |
列出按类型过滤的模组(PREFIX/SUFFIX/IIMPLICT) |
search_mods_by_stat |
按关键字搜索模组(例如,“火”、“生命”) |
get_mod_tiers |
显示模组系列的所有层级变体 |
validate_item_mods |
检查模组是否可以合法地一起存在于物品上 |
get_available_mods |
列出一代类型的所有可用模组 |
知识与发现
| 工具 | 说明 |
|---|---|
explain_mechanic |
解释PoE2机制/状态ID;分层精确→ 子字符串→ BM25词汇; cluster: true 转储机械师的完整统计id+源web |
find_stat_sources |
反向查找:哪些技能/被动/优势节点/模组授予属性 |
get_formula |
获取计算公式 |
建筑路径(基于文件)
| 工具 | 说明 |
|---|---|
import_pob |
导入PoB构建--从 pob_file_path,生 pob_xml,或内联 pob_code |
export_pob |
将构建导出为PoB格式 |
get_pob_code |
通过poe.ninja配置文件API获取角色的PoB导出 |
贸易与商品
| 工具 | 说明 |
|---|---|
search_items |
搜索本地项目数据库 |
search_trade_items |
搜索官方交易网站(需要身份验证) |
setup_trade_auth |
设置交易网站身份验证 |
效用
| 工具 | 说明 |
|---|---|
health_check |
检查服务器状态 |
clear_cache |
清除缓存数据 |
桥梁施工现场路径:
src/pob/client.py+thepob_addon/Lua插件实现了一个到正在运行的PoB的TCP桥(127.0.0.1:49085) 例子网桥客户端存在,但pob_*操作是 不 当前注册为MCP工具 --它们在内部/通过 集成测试套件。他们不在上述38人之列。未注册: DPS/EHP独立计算器、优化器和 生活
pob_*桥操作系统有处理程序/客户端,但还没有工具注册。
示例用法
配置后,只需自然地与您的AI对话:
“从Tomawar的账户分析我的角色Tomawar TheFourth”
“导入此poe.ninja URL:https://poe.ninja/poe2/builds/char/..."
“我可以同时使用更快的弹丸和更慢的弹丸吗?”(使用
validate_support_combination)
“显示所有适用于投射物的支持宝石”(使用
list_all_supports)
“生命构建有哪些基石?”(使用
list_all_keystones)
“告诉我混沌接种”(使用
inspect_keystone)
“将我的版本与顶级Witchhunter玩家进行比较”
“解释装甲在PoE2中的工作原理”
“哪些前缀可以滚动到项目上?”(使用
get_available_mods)
“显示力量模组的所有层级”(使用
get_mod_tiers)
“Strength1和Strength2可以存在于同一个项目上吗?”(使用
validate_item_mods)
“搜索防火模组”(用途
search_mods_by_stat)
AI将自动使用适当的工具。
贸易API认证(可选)
为了 search_trade_items 要工作,您需要通过pathofexile.com进行身份验证:
pip install playwright
playwright install chromium
python scripts/setup_trade_auth.py
这将打开一个浏览器供您登录,然后保存您的会话cookie。
本地游戏数据库
服务器包括一个本地数据库,其中包含:
- 4975+个被动树节点
- 335+优势节点(99%覆盖率)
- 14269个项目修饰符(2252个前缀,2037个后缀,8930个隐含)
- 来自建筑之路的完整技能宝石数据
- 支持宝石效果和交互
- 基础项目和独特项目
数据从以下位置加载 data/ 启动时的目录。
集中式游戏数据分发(1.0.2中的新功能)
您不再需要提取 .datc64 您自己的PoE2安装中的文件。MCP在首次运行时和每个补丁后自动从该仓库的GitHub Release下载维护的游戏数据包(解析 #53).
它是如何工作的:
launch.py电话src/data/data_distributor.ensure_data_current()启动期间- 它比较
data/version.json(本地)与标记的最新版本相对data-v* - 如果有更新的数据可用,它会下载
poe2-data.zip然后拉开拉链data/ - MCP从当前数据开始
选择退出 (改为运行您自己的本地提取):
export POE2_MCP_NO_DATA_FETCH=1 # macOS/Linux
$env:POE2_MCP_NO_DATA_FETCH=1 # PowerShell
然后通过以下方式提取 scripts/extract_poe2_data.py 根据您自己的许可PoE2安装。
手动刷新:
python -m src.data.data_distributor
数据政策: 该捆绑包仅通过仓库内提取脚本从维护者的许可PoE2安装中提取。没有捆绑第三方wiki/抓取的数据。看 CLAUDE.md 有关详细信息,请参阅“数据源策略”。
数据流通和漂移保护: 提取装运的数据集
来自完整的补丁0.5表集(1019规范 .datc64 平衡表
通过 scripts/extract_balance_tables_v1.py),版本在
data/game/version.json (data-v0.5.0-r12). data/game/schema_fingerprints.json
记录每个表的行数/行大小/哈希值;再提取与它的区别
因此,未来添加、移动或调整列大小的补丁会大声失败
默默地提供错误的数据。看 docs/GAME_DATA_RESEARCH.md 为了
逆向工程文件格式和提取方法。
建筑
poe2-mcp/
├── launch.py # Entry point
├── src/
│ ├── mcp_server.py # Main MCP server (38 tools registered)
│ ├── api/ # External API clients
│ │ ├── poe_ninja_api.py
│ │ ├── character_fetcher.py
│ │ └── rate_limiter.py
│ ├── analyzer/ # Analysis components
│ │ ├── character_analyzer.py
│ │ └── weakness_detector.py
│ ├── calculator/ # Numeric calculations
│ │ ├── ehp_calculator.py
│ │ ├── spirit_calculator.py
│ │ └── stun_calculator.py
│ ├── data/ # Data providers
│ │ ├── mod_data_provider.py
│ │ └── fresh_data_provider.py
│ ├── optimizer/ # Optimization engines
│ │ ├── gear_optimizer.py
│ │ └── gem_synergy_calculator.py
│ ├── parsers/ # Data parsers
│ │ ├── passive_tree_resolver.py
│ │ └── specifications/ # Datc64 format specifications
│ ├── knowledge/ # Game mechanics knowledge base
│ │ └── poe2_mechanics.py
│ └── database/ # SQLite database
│ ├── models.py
│ └── manager.py
├── data/ # Game data files
│ ├── psg_passive_nodes.json
│ ├── poe2_support_gems_database.json
│ └── poe2_mods_extracted.json
└── tests/ # Test suite
发展
运行测试
pytest tests/ -v
直接运行服务器
# If installed via pip
poe2-mcp
# From source
python launch.py
关键文件
src/mcp_server.py-带有38个注册工具的MCP服务器src/data/mod_data_provider.py-项目模块数据访问层src/calculator/ehp_calculator.py-EHP计算src/optimizer/gem_synergy_calculator.py-支持gem逻辑data/psg_passive_nodes.json-被动树数据库data/poe2_mods_extracted.json-项目修改器数据库(14269 mods)
故障排除
在Claude Desktop中“找不到服务器”
- 检查配置中的路径是绝对的(不是相对的)
- 确保Python在你的PATH中
- 试着跑步
python launch.py手动查看错误
“未找到字符”
- 你的角色必须在poe.ninja(公共阶梯)上
- 字符名称区分大小写
- 尝试使用完整的poe.ninja URL
import_poe_ninja_url
工具返回空结果
- 数据库可能需要初始化:
python launch.py处理这个 - 检查
data/目录中存在JSON文件
积分
数据来源:
- poe.ninja -角色数据和构建
- 建筑路径(PoE2) -技能数据
- 磨削路径 -被动树数据
MCP协议:
许可证
MIT许可证-请参阅 许可证 了解详情。
这是一个社区项目。不隶属于Grinding Gear Games。