This document describes the MCP tools exposed by the PoE2 Build Optimizer server.
The server implements the Model Context Protocol (MCP) and exposes 27 tools for Path of Exile 2 character analysis and optimization.
Analyze a Path of Exile 2 character's build, defenses, and optimization opportunities.
Parameters:
account(string, required): Account name from pathofexile.com profilecharacter(string, required): Character nameleague(string, optional): League name (default: "Standard")
Returns:
- Character summary
- Defensive stats analysis
- Offensive capabilities
- Improvement suggestions
Example:
Analyze the character "MyWarrior" on account "ExamplePlayer"
Compare a character to top ladder players of the same build/class.
Parameters:
account(string, required): Account namecharacter(string, required): Character nameleague(string, optional): League namecomparison_count(number, optional): Number of players to compare (default: 10)
Returns:
- Percentile rankings
- Stat comparisons
- Gear differences
- Improvement recommendations
Calculate Effective Health Pool against all damage types.
Parameters:
life(number, required): Maximum lifeenergy_shield(number, optional): Maximum energy shieldarmor(number, optional): Armor valueevasion(number, optional): Evasion ratingblock_chance(number, optional): Block chance (0-50)fire_resistance(number, optional): Fire resistancecold_resistance(number, optional): Cold resistancelightning_resistance(number, optional): Lightning resistancechaos_resistance(number, optional): Chaos resistanceexpected_hit_size(number, optional): Expected hit size for armor calculations (default: 1000)
Returns:
- EHP against each damage type
- Mitigation breakdown
- Defense multipliers
Analyze Spirit allocation and reservations.
Parameters:
maximum_spirit(number, required): Total available Spiritreservations(array, required): List of Spirit reservationsname(string): Skill/aura namebase_cost(number): Base Spirit costsupport_multipliers(array, optional): Support gem multipliers
Returns:
- Current Spirit usage
- Available Spirit
- Overflow detection
- Optimization suggestions
Analyze stun mechanics for attacks against targets.
Parameters:
damage(number, required): Damage dealttarget_max_life(number, required): Target's maximum lifedamage_type(string, required): "physical", "fire", "cold", "lightning", "chaos"attack_type(string, required): "melee", "ranged", "spell"
Returns:
- Light stun chance
- Heavy stun buildup
- Hits to stun calculation
- Crushing blow potential
Calculate comprehensive DPS breakdown.
Parameters:
base_damage_min(number, required): Minimum base damagebase_damage_max(number, required): Maximum base damageattack_speed(number, optional): Attacks per second (default: 1.0)crit_chance(number, optional): Critical strike chancecrit_multiplier(number, optional): Critical strike multiplierincreased_damage(array, optional): List of increased damage modifiersmore_damage(array, optional): List of more damage multipliers
Returns:
- Total DPS
- Average hit
- DPS by damage type
- Modifier breakdown
Find vulnerabilities in a character build.
Parameters:
defensive_stats(object, required): Character's defensive statisticsinclude_suggestions(boolean, optional): Include improvement suggestions (default: true)
Returns:
- List of weaknesses by severity
- Suggested fixes
- Priority order
Compare two items to determine upgrade value.
Parameters:
current_item(object, required): Currently equipped itemnew_item(object, required): Potential replacement itemcharacter_context(object, optional): Character stats for context
Returns:
- Overall upgrade score
- Stat-by-stat comparison
- EHP impact
- DPS impact (if applicable)
Get comprehensive build optimization recommendations.
Parameters:
character(object, required): Character dataoptimization_goal(string, optional): "balanced", "defense", "offense", "boss", "mapping"
Returns:
- Current build score
- Tier rating (S through F)
- Recommended upgrades
- Priority list
Check if a build is ready for specific content.
Parameters:
defensive_stats(object, required): Character defensesdps(number, optional): Character DPScontent_type(string, optional): "campaign", "early_maps", "mid_maps", "red_maps", "pinnacle_bosses", "uber_bosses"
Returns:
- Readiness status
- Gap analysis
- Minimum requirements
- Recommended improvements
Get gear upgrade recommendations within budget.
Parameters:
character(object, required): Character databudget_tier(string, optional): "low", "medium", "high", "unlimited"slots_to_upgrade(array, optional): Specific slots to focus on
Returns:
- Prioritized upgrade list
- Budget allocations
- Expected improvements
- Trade search suggestions
Suggest passive tree optimizations.
Parameters:
current_passives(array, required): Currently allocated passivescharacter_class(string, required): Character classoptimization_goal(string, optional): What to optimize for
Returns:
- Suggested allocations
- Potential respec targets
- Efficiency analysis
- Point redistribution plan
Optimize skill gem setup.
Parameters:
current_skills(array, required): Currently equipped skillsavailable_spirit(number, required): Available Spiritbuild_type(string, optional): Build archetype
Returns:
- Recommended skill setup
- Support gem combinations
- Link priorities
- Spirit allocation
Find optimal support gem combinations.
Parameters:
skill_name(string, required): Main skill to supportmax_supports(number, optional): Maximum number of supports (default: 5)available_spirit(number, optional): Spirit budget
Returns:
- Ranked support combinations
- DPS calculations
- Spirit costs
- Synergy analysis
Answer questions about PoE2 using AI.
Parameters:
query(string, required): Natural language questioncharacter_context(object, optional): Character data for context
Returns:
- AI-generated answer
- Source citations
- Related mechanics
Example Questions:
- "How does armor work in PoE2?"
- "What's the best support for Earthquake?"
- "Should I use ES or Life for my build?"
Get detailed explanation of a game mechanic.
Parameters:
mechanic(string, required): Mechanic name (e.g., "freeze", "crit", "spirit")include_examples(boolean, optional): Include practical examples
Returns:
- Mechanic explanation
- Formula (if applicable)
- Tips and tricks
- Common questions
Available Mechanics:
freeze- Freeze ailmentshock- Shock ailmentstun- Stun mechanicscrit- Critical strikesspirit- Spirit systemincreased_vs_more- Modifier types
AI-powered item comparison.
Parameters:
item1(object, required): First itemitem2(object, required): Second itembuild_context(string, optional): Build type for context
Returns:
- Comparison summary
- Winner recommendation
- Situational analysis
Check server health and component status.
Parameters: None
Returns:
- Server status
- Component health
- Version info
Clear cached data.
Parameters:
cache_type(string, optional): "all", "memory", "database"
Returns:
- Cleared entries count
- Cache statistics
Search trade site for items.
Parameters:
item_type(string, required): Item base typemodifiers(array, optional): Required modifiersmin_price(number, optional): Minimum pricemax_price(number, optional): Maximum price
Returns:
- Item listings
- Price statistics
- Sort by value
Import Path of Building code.
Parameters:
pob_code(string, required): Path of Building export code
Returns:
- Parsed character data
- Item details
- Passive tree
Export character to Path of Building format.
Parameters:
character(object, required): Character data
Returns:
- PoB export code
- XML data
Get PoB code for a character.
Parameters:
account(string, required): Account namecharacter(string, required): Character name
Returns:
- PoB code string
Configure trade site authentication.
Parameters:
session_id(string, required): POESESSID cookie
Returns:
- Authentication status
Compare two builds.
Parameters:
build1(object, required): First buildbuild2(object, required): Second build
Returns:
- Side-by-side comparison
- Strengths/weaknesses
- Recommendations
Search item database.
Parameters:
query(string, required): Search queryitem_class(string, optional): Filter by classmax_results(number, optional): Maximum results
Returns:
- Matching items
- Item details
Analyze damage scaling factors.
Parameters:
base_damage(number, required): Base damagemodifiers(array, required): All damage modifiers
Returns:
- Scaling breakdown
- Bottleneck analysis
- Optimization suggestions
All tools return errors in a consistent format:
{
"success": false,
"error": {
"code": "INVALID_PARAMETER",
"message": "Account name is required"
}
}Common error codes:
INVALID_PARAMETER- Missing or invalid parameterNOT_FOUND- Resource not foundRATE_LIMITED- API rate limit exceededINTERNAL_ERROR- Server error
The server implements rate limiting for external APIs:
- PoE API: 10 requests/second
- poe.ninja: 5 requests/second
- Trade API: 5 requests/second
Cached data is used when available to minimize API calls.
For deployment instructions, see DEPLOYMENT.md.