Token导航 LogoToken导航TokenDH.com
Poe MCP Server logo
金融服务stdio官方级别未说明来源级核验

Poe MCP Server

MCP Server

提供流放之路游戏数据、定价、交易、仓库管理、角色检查、物品过滤和市场分析的API端点,用于AI助手进行游戏构建规划、经济跟踪和自动化。

工具数

31

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude金融数据Claude DesktopClaude

安装说明

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

作者 / 组织

jbharvey1

提供方

jbharvey1

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

python poe_all.py # stdio mode (for .mcp.json)

详细介绍

poe mcp服务器

![Follow on X](https://x.com/boschzilla)

一组MCP(模型上下文协议)服务器,将流放之路游戏数据、定价、交易、藏匿管理、角色检查、物品过滤和市场分析作为工具可调用端点公开。设计用于AI助手(Claude等)进行PoE构建规划、经济跟踪和游戏内自动化。

______________________________________________________________________

建筑

该仓库包含7个Python模块。六台是独立的MCP服务器,每台都有自己的 Server 例子 TOOLS 列表,以及 call_tool 处理程序。第七, poe_all.py,作为 统一网关 动态导入所有六个兄弟服务器(加上外部 pob-vaultpob-brain 服务器),收集其工具定义,并将所有内容重新注册到单个组合MCP上 Server。这意味着您可以在各自的端口上运行单个服务器,也可以运行 poe_all.py 一次将每个工具连接到一个MCP连接下。

poe_all.py如何捆绑子服务器

  1. 添加兄弟目录(c:/src/pobrain, c:/src/buildstuff)to sys.path.
  2. 迭代注册表 (module_name, prefix) 元组和用法 importlib.import_module() 加载每个。
  3. 从每个加载的模块中读取 TOOLS 列出并提取 call_tool 来自子服务器的请求处理程序 app.request_handlers.
  4. 存储以下映射 tool_name -> (handler, original_name, prefix)_tool_registry.
  5. 组合 @combined.call_tool() 处理程序通过构造一个合成函数来分派传入呼叫 CallToolRequest 并将其转发给适当的子服务器处理程序。
  6. pob-brain (从 c:/src/pobrain/server.py)是单独加载的,因为它管理无头构建路径的LuaProcess。

子服务器注册表:

模块前缀独立端口
poe_market坡市场8481
poe_stash坡藏匿处8482
poe_trade坡贸易8483
poe_char8485
poe_pricer波·普里克尔8486
poe_filterpoe滤波器8487
pob_vault_mcppob保险库(外部)
server (pob脑)pob脑(外部)
poe_allpoe全部8490

______________________________________________________________________

模块

poe_all.py

它的作用: 统一的MCP服务器,将所有PoE和PoB工具捆绑到一个端点中。它没有自己的工具——它从子服务器重新导出所有内容。

入口点:

python poe_all.py          # stdio mode (for .mcp.json)
python poe_all.py sse      # HTTPS SSE on port 8490

______________________________________________________________________

poe_char.py

它的作用: 来自PoE API的实时角色数据——装备装备装备、被动树、PoB XML导出和动能引信断点分析。

工具

工具说明
get_character为角色获取装备物品和被动树。
get_character_pob获取字符数据并返回完整的XML构建路径。
scan_stash_tabs为所有名称以开头的藏匿标签定价 _.Rares通过算法评分,uniques通过poe.ninja DB评分。
kf_check通过无头PoB进行动力学Fusionlade断点分析。

get_character

参数类型默认值描述
character_namestring配置默认值要获取的字符名称
include_modsbooleantrue在每个项目上包含隐式/显式/精心制作的模组

退货: JSON格式 character (姓名、等级、级别、联赛), gear (按插槽键入名称、基础、ilvl、稀有性、mods),以及 passives (node_count、mastery_count、节点哈希、掌握效果)。

get_character_pob

参数类型默认值描述
character_namestring配置默认值要获取的字符名称

退货: 完整的PoB XML字符串。与一起使用 load_build(xml=...) 关于脑卒中。

scan_stash_tabs

参数类型默认值描述
min_priceinteger5要包含的最小混沌值
forcebooleantrue绕过存储缓存并从API获取新鲜

退货: JSON格式 scanned_tabs, total_rares, total_uniques, rare_hits (包括名称、位置、价格、分数、明细), unique_hits (注明名称、基数、价格),以及 errors.

kf_检查

参数类型默认值描述
(无)使用配置的字符

退货: JSON格式 status (安全/紧密/堵塞), attack_rate_aps, max_effective_aps, headroom_aps, headroom_pct, skill_duration_s, reduced_duration_pct, projectile_count, full_dps, has_less_duration, has_window_of_opportunity,以及 recommendations 阵列。

值得注意的: 在无头PoB中运行Lua脚本,从中提取KF特定的统计数据 build.calcsTab.mainOutput.检查gem链接是否支持较短持续时间,检查被动树是否支持机会窗口。

______________________________________________________________________

poe_filter.py

它的作用: 读取和编辑PoE .filter 以编程方式创建文件。支持完整的PoE项目过滤器语法(显示/隐藏/继续块)。专为NeverSink风格的过滤器设计,带有评论元数据和 [[xxxx]] 节标题。

默认筛选器路径: C:/Users/jbharvey/OneDrive/Documents/My Games/Path of Exile/Starting.filter

工具

工具说明
get_filter_info筛选器摘要:路径、行数、按类型划分的块数、节标题。
find_blocks按文本搜索块(不区分大小写的全文匹配)。
get_block通过块的起始行号获取块的全文。
add_block在某个位置插入一个新块(顶部/底部/after_line:N/after_pattern:TEXT)。
remove_block按起始行号删除块。
replace_block用新文本完全替换块。
set_basetype_rule便利性:为特定的BaseType添加最高优先级的显示/隐藏规则。

get_filter_info

参数类型默认值描述
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货: JSON格式 path, total_lines, blocks (按显示/隐藏/继续/总计计数), sections (前40 [[xxxx]] 带行号的节标题)。

find_blocks

参数类型默认值描述
query字符串*必需的*要搜索的文本
filter_pathstringDEFAULT_FILTER.FILTER文件的路径
limit整数20最大结果

退货: JSON格式 total_matchesblocks 数组(行、endline、类型、注释、条件、预览)。

get_block

参数类型默认值描述
line整数*必需的*起始行号(从1开始)
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货: JSON格式 line, end_line, text.

add_block

参数类型默认值描述
block_text字符串*必需的*要插入的完整块文本
positionstring“top”插入位置: top, bottom, after_line:N, after_pattern:TEXT
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货: JSON格式 ok, inserted_after_line, new_block.

值得注意的: 插入前验证块——拒绝空块、无条件块(将匹配所有项)和带文字的块 \n/\t 转义序列而不是真正的空格。

remove_block

参数类型默认值描述
line整数*必需的*起始行号(从1开始)
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货: JSON格式 ok, removed_lines, removed_text.

replace_block

参数类型默认值描述
line整数*必需的*起始行号(从1开始)
new_block_text字符串*必需的*替换块文本
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货: JSON格式 ok, replaced_lines, old, new.

set_basetype_rule

参数类型默认值描述
action字符串*必需的*“显示”或“隐藏”
basetypes数组\[字符串\]*必需的*BaseType字符串列表
exact_matchbooleantrue使用 == 精确匹配运算符
commentstring自动生成块头注释
extra_conditionsstring“”其他条件行
filter_pathstringDEFAULT_FILTER.FILTER文件的路径

退货:add_blockreplace_block (替换现有的博世对相同基本类型的覆盖)。

值得注意的: 插入到 [[0100]] 覆盖最高优先级的部分。如果同一基型已经存在标记为“Bosch”的覆盖,它将替换它而不是复制。

______________________________________________________________________

poe_market.py

它的作用: 暴露当地人 price_history.db SQLite数据库(由外部数据库填充 trend_watcher.py 通过MCP抓取poe.ninja的过程。提供价格查询、历史记录、趋势分析(上涨/下跌/上涨)和数据库状态。

工具

工具说明
get_price获取特定商品的最新价格(精确匹配,不区分大小写)。
get_price_history获取一个项目随时间变化的所有价格快照。
search_items按名称子字符串搜索项目
get_risers价格涨幅最大的商品(变化百分比)。
get_fallers价格跌幅最大的商品(变化百分比)。
get_movers绝对价格变动最大的商品(波动性商品)。
snapshot_status数据库信息:快照总数、最新/最旧获取时间、跟踪的项目。

获取价格

参数类型默认值描述
name字符串*必需的*项目名称(完全匹配,不区分大小写)

退货: JSON格式 name, chaos_value, category,以及其他字段 price_db.search_items().

get_price_history

参数类型默认值描述
name字符串*必需的*项目名称(精确匹配,回退到模糊)

退货: 随时间变化的价格快照记录数组。

搜索项目

参数类型默认值描述
query字符串*必需的*搜索词(子字符串匹配)
limit整数20最大结果

退货: 一系列最新价格的商品。

get_risers

参数类型默认值描述
min_snapshotsinteger3可靠趋势所需的最低价格快照
limit整数25最大结果
min_pricenumber0当前最小混乱价格(过滤掉垃圾)

退货: 按价格增长百分比排序的项目数组。

get_callers

参数类型默认值描述
min_snapshotsinteger3所需的最小快照数
limit整数25最大结果

退货: 按降价百分比排序的项目数组。

get_movers

参数类型默认值描述
min_snapshotsinteger3所需的最小快照数
limit整数25最大结果

退货: 按绝对价格变动排序的项目数组。

快照_状态

参数类型默认值描述
(无)

退货: JSON格式 total_snapshots, latest_fetch, oldest_fetch, items_tracked.

______________________________________________________________________

poe_price.py

它的作用: 零网络调用的本地商品定价引擎。魔法/稀有物品使用 rare_scorer 算法。从当地poe.ninja快照数据库中查找独特、宝石、货币和占卜卡。每次通话时从源代码重新加载记分器模块,以便编辑立即生效。

工具

工具说明
price_item从PoE API字典或剪贴板文本中为单个项目定价。
price_items批量处理PoE API项字典数组。
ninja_lookup按名称(精确或模糊)查找poe.ninja价格。

价格_项目

参数类型默认值描述
item_dictobject--PoE API项dict(frameType、typeLine、explicitMods等)
item_textstring--PoE的原始剪贴板文本(Ctrl+C格式)

提供以下之一 item_dictitem_text.

返回值(算法方法): JSON格式 name, ilvl, rarity, method (“某物”), category, price_estimate, total_score, good_mods, junk_mods, breakdown.如果断裂:也 fracturedshould_trade_check.

返回(ninja_db方法): JSON格式 name, ilvl, rarity, method (“ninja_db”), category, price_estimate.

退货(未找到): JSON格式 method (“未找到”), price_estimate (null), note.

价格项目

参数类型默认值描述
items数组\[对象\]*必需的*PoE API项字典数组
min_pricenumber0仅包括此价格或以上的商品
include_unpricedbooleanfalse包括无法定价的项目

退货: JSON格式 total_items, priced_count, total_value_chaos, items (按价格降序排列),可选 should_trade_check (值得在交易中核实的破碎物品的名称)。

ninja_lookup

参数类型默认值描述
name字符串*必需的*项目名称(支持部分匹配)

回报(精确): JSON格式 name, price_chaos, category, match (“准确”)。

返回值(模糊): JSON格式 query, match (“模糊”), results 数组 {name, price_chaos, category}.

______________________________________________________________________

poe_ash.py

它的作用: 通过缓存、项目搜索、罕见评分和标签定价来阻止标签访问。通过使用5分钟缓存 StashCache 以避免过多的API调用。

工具

工具说明
get_tab按名称或索引从收藏选项卡中获取所有项目。
list_tabs列出所有存储选项卡名称和索引。
score_rare从PoE剪贴板文本中得分一个罕见项目。
price_tab在收藏标签中为所有稀有物品打分并定价
find_items按名称、基本类型或mod文本搜索隐藏选项卡中的项目。
cache_status显示隐藏标签的缓存新鲜度。

get_tab

参数类型默认值描述
tab_namestring--选项卡名称(不区分大小写)
tab_indexinteger--制表符索引(从0开始)
forcebooleanfalse强制刷新,绕过缓存

提供以下之一 tab_nametab_index.

退货: JSON格式 countitems 阵列。每个项目包括 name, baseType, rarity, ilvl, category, mods, implicitMods, craftedMods, enchantMods, sockets, requirements,以及网格位置(x, y, w, h)如果存在。

list_tabs

参数类型默认值描述
forcebooleanfalse强制刷新选项卡列表

退货: 一大批 {index, name, type} 对于每个选项卡。

记分牌

参数类型默认值描述
item_text字符串*必需的*PoE中的原始项目文本(Ctrl+C)

退货: JSON格式 name, category, ilvl, price_estimate, total_score, affix_count, good_mods, junk_mods, breakdown.

价格选项卡

参数类型默认值描述
tab_namestring--选项卡名称(不区分大小写)
tab_indexinteger--制表符索引(从0开始)
min_priceinteger1要包含的最小混沌值
forcebooleanfalse强制刷新存储数据

退货: JSON格式 total_rares, priced_items, total_value, items (按分数降序排列,每个都有名称、类别、价格、分数、good_mods、junk_mods、细分)。

值得注意的: 直接从磁盘缓存中读取,而不是访问API。需要事先 get_tablist_tabs 调用以填充缓存。

查找项目

参数类型默认值描述
query字符串*必需的*搜索词(匹配名称、基本类型或mod文本)
tab_namestring--仅搜索此选项卡(如果省略,则搜索前10个选项卡)
forcebooleanfalse强制刷新

退货: JSON格式 matches 数并且 items 阵列。稀有物品包括 price_estimatescore.

cache_status

参数类型默认值描述
(无)

退货: JSON格式 leaguetabs 数组(索引、名称、缓存、年龄秒、新鲜)。显示前15个选项卡。

______________________________________________________________________

poe_trade.py

它的作用: 从官方处搜索并获取 pathofexile.com/api/trade支持任何项目类型的通用贸易API包装。始终强制执行定价/即时买断列表(sale_type: priced).包括HTTP 429速率限制上的自动重试和回退。

工具

工具说明
search_trade使用统计/类别/价格过滤器搜索PoE交易网站。
get_stat_ids按关键字搜索交易统计过滤器ID。
search_by_item_mods通过人类可读的mod文本搜索交易(不需要统计ID)。
fetch_listing从之前的搜索中获取特定列表ID的详细信息。

search_trade

参数类型默认值描述
leaguestring“幻影”联赛名称
categorystring--物品类别(例如,“武器.魔杖”、“盔甲.身体”、“配件.戒指”)
raritystring“任意”“非唯一”、“唯一”或“任意”
namestring--项目名称(用于uniques)
base_typestring--基本类型过滤器(例如“蛋白石棒”)
stats数组--统计过滤器,每个 {id, min, max}
min_price数字--混乱中的最低价格
max_pricenumber--混乱中的最高价格
max_levelinteger--最大级别要求
instant_buyoutbooleantrue(当设置max_price时)仅显示已定价的列表
online_onlybooleantrue仅显示在线卖家
accountstring--按卖家帐户名筛选
min_linksnumber--最小链接套接字
limitinteger10最大结果(上限为20)

退货: JSON格式 total, showing, trade_url (可点击链接到交易网站上的结果), query_id,以及 results 阵列。每个结果包括 id, name, base_type, ilvl, price_amount, price_currency, account, implicit_mods, explicit_mods, crafted_mods, corrupted, level_req, sockets.

get_stat_ids

参数类型默认值描述
query字符串*必需的*要搜索的关键字(例如,“攻击速度”、“耐火性”)
limitinteger10最大结果

退货: 一大批 {id, text, type} 用于匹配统计过滤器ID。

search_by_item_mods

参数类型默认值描述
modsarray--列表 {text, is_local?, min_pct?} 物体。 min_pct 默认值为0.7(轧制值的70%)。
item_categorystring--交易类别(例如,“武器.魔杖”)
unique_namestring--对于唯一性:按名称而不是mods搜索
leaguestring“幻影”联赛名称
limitinteger10最大结果

退货: 格式与 search_trade.

值得注意的: 使用从交易统计API构建的模式匹配索引,自动将人可读的mod文本转换为统计ID。将数字标准化为 # 用于模糊匹配的占位符。单独处理本地武器模组(例如,“增加物理伤害(本地)”)。

fetch_listing

参数类型默认值描述
query_id字符串*必需的*来自先前搜索结果的查询ID
listing_ids字符串*必需的*逗号分隔的列表ID(最多10个)

退货: 已解析的列表对象数组。

______________________________________________________________________

依赖项

共享公用设施

模块位置目的
mcp_server_utils.pyc:/poe/mcp/共享 run_server() 基于CLI参数处理stdio与SSE模式选择的函数

poe_monitor库

全部位于 c:/src/buildstuff/poe_monitor/:

模块目的
poe_lib.pyPoeApi 类(PoE API客户端), load_config() (读 config.jsonpoesessid, account, character), build_pob_xml() (将API数据转换为PoB XML), PobAnalyzer (无头PoB接口)
stash_cache.pyStashCache 类使用5分钟的磁盘缓存来存储标签数据。提供 get_tab(), get_tab_by_name(), get_tab_list(), get_tabs(), cache_age()
rare_scorer.pyscore_item() (对PoE API项dict进行评分), score_item_text() (剪贴板文本的分数), classify_item() (对项目进行分类)。返回结果对象 name, category, ilvl, price_estimate, total_score, good_mod_count, junk_count, breakdown, is_fractured, should_trade_check

价格数据库

模块位置目的
price_db.pyc:/poe/SQLite接口 price_history.db.功能: search_items(), get_history(), get_risers(), get_fallers(), get_movers(), snapshot_count(), get_snapshot_times(), get_all_latest()

数据库(c:/poe/price_history.db)由外部填充 trend_watcher.py 定期抓取poe.ninja的过程。

构建大脑的路径

模块位置目的
server.pyc:/src/pobrain/pob-brain MCP服务器——使用Lua eval构建无头路径、构建加载、状态提取、宝石交换、树分析

______________________________________________________________________

设置

先决条件

  • Python 3.11+
  • mcp Python包(模型上下文协议SDK)
  • PoE会话ID已在中配置 c:/src/buildstuff/poe_monitor/config.json:
{
    "poesessid": "your-poe-session-id",
    "account": "your-account-name",
    "character": "your-character-name",
    "bandit": "None",
    "res_penalty": "Act 10 (-60%)"
}

运行单个服务器

每个模块都可以独立运行:

python poe_market.py       # stdio mode
python poe_market.py sse   # SSE mode on its assigned port

运行组合服务器

python poe_all.py           # stdio mode — all tools under one connection
python poe_all.py sse       # SSE mode on port 8490

______________________________________________________________________

MCP注册

添加到您的 .mcp.json (或Claude Desktop配置)作为使用组合服务器的单个条目:

{
    "mcpServers": {
        "poe-all": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_all.py"],
            "env": {}
        }
    }
}

或者单独注册单个服务器:

{
    "mcpServers": {
        "poe-market": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_market.py"]
        },
        "poe-stash": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_stash.py"]
        },
        "poe-trade": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_trade.py"]
        },
        "poe-char": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_char.py"]
        },
        "poe-pricer": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_pricer.py"]
        },
        "poe-filter": {
            "command": "python",
            "args": ["C:/tmp/poe-mcp-server/poe_filter.py"]
        }
    }
}

目录标签

目录标签

PythonClaude金融数据游戏数据API本地部署交易分析角色管理物品过滤市场监控

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

31

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP