AI-powered Path of Exile 2 build optimization MCP server providing build recommendations, character analysis, gear optimization, and passive tree analysis through the Model Context Protocol
This server has 27 tools with READ_ONLY semantics, but definition quality is significantly hindered by MISSING INPUT SCHEMAS and INCOMPLETE DESCRIPTIONS. While tool names follow verb_noun patterns (get_, analyze_, optimize_, calculate_, etc.), the source code provided shows only the tool names and brief descriptions, actual JSON Schema definitions are NOT visible in src/mcp_server.py. Description lengths vary: most are 80-200 chars (adequate), but many lack parameter-level descriptions visible in the excerpt. Without inspecting the actual tool registration code (which is truncated), we cannot verify JSON Schema completeness, parameter types, or output schema documentation. The server claims to be 'AI-powered' with NLP features (query_build_advisor, get_recommendations), but no error handling guidance, recovery patterns, or confirmation-before-execute safeguards are evident for analysis/optimization tools that could mislead users. The architecture suggests heavy external API dependency (Path of Exile API, PoB pastebin, trade site) but no visible retry logic, timeout handling, or partial-failure compensation in the snippet.
Comprehensive build analysis including DPS calculation, survivability (EHP), weakness detection, and content readiness assessment
Analyze how damage scales with different stat investments
Analyze Timeless Jewel seed transformations for passive nodes (Undying Hate/Abyss)
Calculate skill damage with all modifiers, scaling, and crit multipliers
Calculate effective HP including armour, evasion, block, and spell suppression
Analyze gem synergies and interactions for optimal skill gem setups
Calculate spirit multipliers and scaling for ascendancy-based mechanics
Check if a build is ready for specific content (story acts, maps, endgame bosses)
NO INPUT SCHEMAS VISIBLE in provided source code. Cannot verify JSON Schema types, required fields, constraints, enums, or parameter descriptions for any of the 27 tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 20 | - | v1 |
Compare two characters' builds, stats, and identify differences in approach
Compare two gear items and determine which is better for a build
Identify survivability weaknesses, resistances gaps, and content-specific vulnerabilities
Evaluate gear item quality, rolls, and suitability for the build
Explain Path of Exile 2 mechanics using the mechanics knowledge base
Export character build to Path of Building pastebin code
Retrieve top player builds from Path of Exile ladder for a specific class
Find what grants a specific stat (skills, mods, passive nodes, ascendancy notables)
Fetch character data from Path of Exile API including stats, gear, passive tree allocation
Get AI-powered build recommendations based on playstyle and goals
Import a build from Path of Building pastebin code
Recommend gear upgrades and optimizations based on current equipment and budget constraints
Suggest passive tree pathing improvements for better stat allocation and pathing efficiency
Recommend skill gem setup and link improvements for damage and utility
Ask natural language questions about builds and receive AI-powered advice
Read live game data from Path of Exile Client.txt log file
Read game configuration from client INI file
Report an error or bug in the MCP server to developers
Search for items on Path of Exile trade site with filters
MISSING OUTPUT SCHEMA DOCUMENTATION. No visible return type definitions, field documentation, or pagination guidance for any tool. Tools like fetch_top_players() and search_trade_items() that return lists lack evidence of limit, offset, total_count, or next_cursor fields, critical for LLM-driven pagination and multi-call planning.
NO ERROR HANDLING OR RECOVERY GUIDANCE visible. For tools that depend on external APIs (Path of Exile API, PoB pastebin, trade site), no error messages indicate what to do if network fails, API is down, character not found, or invalid pastebin code. LLMs receive raw failures with no self-correction path.
AMBIGUOUS PARAMETER SEMANTICS in tools that accept 'character_data' (type: object). No visible schema for what fields this object must contain (gear, skills, passives, ascendancy, etc.). LLMs cannot know whether to build this from API or accept user input. Downstream tools (analyze_build, optimize_gear, calculate_damage, etc.) all accept this same opaque object, no chaining documentation.
MISSING PARAMETER-LEVEL DESCRIPTIONS for complex inputs. Tools like compare_characters(character1, character2) and evaluate_gear(item, build_context) accept only minimal descriptions ('First character data', 'Item data'). No guidance on required fields, format, or how to obtain these objects from prior tool calls.
COMPOSITION RISK: Multiple overlapping tools lack clear boundaries. analyze_build, detect_weaknesses, check_content_readiness, and evaluate_gear all appear to assess build viability but are not clearly differentiated. LLM must reason which to call; no tool composition guidance.
NO IDEMPOTENCY GUARANTEES documented. Tools like optimize_gear, optimize_passives, optimize_skills are optimization suggestions (safe to retry), but this is not stated. Tools like report_error and import_pob_build have side effects (creating records) but no indication if they are idempotent or require deduplication checks.
MISSING NATURAL-LANGUAGE IDENTIFIER SUPPORT. Tools like get_character_data require both character_name and account_name. If an LLM only has 'Jack' (display name), it cannot infer account_name. No guidance on how to resolve partial names or search for characters first.
FILE SYSTEM ACCESS WITHOUT PATH VALIDATION. Tools read_client_log and read_game_config accept file paths as strings with no visible sanitization, validation, or sandboxing guidance. Risk of path traversal attacks if LLM is compromised or misused.