Skip to main content
Glama
MaxWilk

poe2-build-mcp

by MaxWilk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POB_LUAJITNoOverride path to LuaJIT executable (defaults to C:\msys64\ucrt64\bin\luajit.exe on Windows)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
import_buildA

Import a Path of Exile 2 build for analysis and theorycrafting.

source may be a Path of Building import/share code, a pobb.in or pastebin link, or raw PoB XML. Returns the selected main skill and a summary of engine-computed stats. The imported build becomes the active build for subsequent tool calls.

get_build_statsA

Return Path-of-Building-computed stats for the currently loaded build.

Pass keys to request specific stats (e.g. ["TotalDPS", "Life", "EnergyShield"]); omit it for a default summary. Every value is computed by the real PoB engine.

get_buildA

Full read-back of the active build.

Returns class/level/ascendancy, the main skill group (gems + levels), allocated notables/keystones/ascendancy nodes, equipped gear by slot, passive points used, and summary stats — so you can see the whole build you've assembled.

get_defensesA

Defensive summary for the active build: life/ES/mana/ward, armour/evasion, block, elemental + chaos resistances (with over-cap), and TotalEHP. Elemental resists are shown net of PoB's configurable area penalty (default Endgame -60%); the response includes the active resistPenalty and a note. Cap is 75%; aim at or just over it.

export_buildA

Export the active build as a Path of Building import code.

Paste the returned code into Path of Building (Import/Export → Import) or share it.

set_classA

Set the active build's character class and (optionally) ascendancy from scratch.

class_name is a base class (e.g. "Mercenary", "Witch", "Ranger"); ascendancy is one of its ascendancies (e.g. "Witchhunter"). This re-roots the passive tree at that class's start, so subsequent passive search/allocate/optimize operate on the correct class. Returns stats.

set_levelA

Set the active build's character level (1-100). Returns updated stats.

set_skillA

Set the active build's main skill using Path of Building's paste format.

Format: " / ", e.g. "Fireball 20/0 1". Multiple gems (a skill + its supports) can be newline-separated. Returns updated stats.

set_configA

Set combat/configuration options and/or extra modifiers on the active build.

options are Path of Building config keys, e.g. {"enemyIsBoss": "Boss"}, {"usePowerCharges": true}. custom_mods is free-form modifier text applied to the character, e.g. "100% increased Fire Damage\n+2 to Level of all Fire Skills". Recomputes and returns stats.

list_config_optionsA

List Path of Building configuration options usable with set_config.

Covers combat conditions, charges, enemy settings, exposure, etc. Filter with query (matches the option's key or label), e.g. "boss", "charge", "exposure". Returns each option's var (the key for set_config), type, label, and valid values for dropdowns.

equip_itemA

Equip an item on the active build from raw Path of Building item text.

Replaces whatever is currently in the target slot. slot optionally forces the slot (e.g. "Ring 2", "Weapon 2"); otherwise the item's primary slot is used. Returns updated stats.

unequip_itemA

Clear an equipment slot on the active build (e.g. "Ring 2", "Body Armour", "Weapon 1").

evaluate_buildA

Check the active build against named numeric goals.

goals maps a stat to a constraint: a bare number (treated as a minimum) or an object like {"min": 500000, "max": 1000000}. Example: {"TotalDPS": {"min": 500000}, "Life": {"min": 5000}, "TotalEHP": 20000}. Returns per-goal pass/fail with actual values and an overall pass.

compare_toA

Compare the active build against another build (code/link/XML) without losing it.

Snapshots the current build, loads source to read its stats, then restores the current build. Returns the current stats, the other build's stats, and per-stat deltas (other - current).

search_passivesA

Search the active build's passive tree by node name or stat text.

node_type filters by kind: "Notable", "Keystone", "Mastery", or "Normal" (small nodes). Returns nodes with their id, stats, whether they're allocated, and pathDist (points to reach from the current tree; absent if unreachable). Use the id with alloc/dealloc.

get_passiveA

Return a passive node's details by id (preferred) or exact name.

alloc_passiveA

Allocate a passive node (and the shortest path to it) by id or name.

Returns points spent and the resulting stat deltas. Fails if the node isn't reachable from the currently allocated tree.

dealloc_passiveA

Deallocate a passive node (and nodes that depend on it) by id or name.

Returns points freed and the resulting stat deltas.

optimize_passivesA

Greedily allocate passive points to maximize a stat on the active build.

Spends up to points points, each step allocating the reachable node (and its path) that most improves metric (e.g. "TotalDPS", "Life", "TotalEHP"). Pass points=0 to use the full remaining point budget at the character's current level (slower). node_type defaults to "Notable". Returns the chosen nodes with per-step gains and start/final metric values. This is a bounded greedy search, not a guaranteed global optimum.

engine_healthA

Report engine + install diagnostics: liveness, LuaJIT and passive-tree versions, the installed data/server versions, and whether data is served from the auto-updated user-data copy or the bundled seed — so you can confirm exactly what's running.

search_itemsA

Search Path of Exile 2 item bases by name/tags, optionally filtered by item class.

Returns matching bases (name, item_class, drop_level, tags). Use get_item for full detail.

get_itemA

Return full data for a single item base by exact name or metadata id.

find_skillsB

Find skill/support gems by text, tag, color, or type.

gem_type is one of "active", "support", "spirit". tag filters by gem tag (e.g. "fire", "projectile", "minion"). color is "r"/"g"/"b". Returns gems with recommended supports.

get_gemB

Return full data for a single gem by name or id (tags, granted skills, supports, types).

find_supports_forB

Find support gems for a skill: its curated recommendations plus tag-compatible supports.

explain_mechanicA

Explain a Path of Exile 2 mechanic (concise reference).

Topics include: resistances, ailments, armour, evasion, energy_shield, spirit, critical_strike, ehp, accuracy, recovery. Returns the available topic list if not found.

build_adviceA

Evergreen PoE2 build-optimization principles — durable rules, not a meta snapshot.

Omit topic for the framing + section list; pass a topic (e.g. "defense", "offense", "resistances", "crit", "spirit", "red flags") to get that section. These are principles for deciding what to change; the actual DPS/EHP numbers still come from the compute tools.

list_ascendanciesA

List Path of Exile 2 ascendancies, optionally filtered by base class.

search_modsA

Search Path of Exile 2 affixes/modifiers by readable text.

item_tag filters by what the mod can roll on (e.g. "ring", "amulet", "body_armour"); mod_type is "prefix" or "suffix". Returns mod text, type, required level, and rolls-on tags.

reverse_lookupA

Find where a stat comes from: matching affixes, gems, and unique items.

Example: reverse_lookup("maximum life") or reverse_lookup("increased fire damage").

search_uniquesA

Search Path of Exile 2 unique items by name, base, or mod text.

item_type filters by slot family (e.g. "ring", "body", "bow"). Use get_unique for full text.

get_uniqueA

Return a unique item's full readable text (base, mods) by name.

corpus_infoA

Report the bundled game-data corpus version and entity counts.

get_pricesA

Look up live Path of Exile 2 market prices (poe2scout.com).

kind is "currency" or "unique". query filters by name (e.g. "divine", "mageblood"). Defaults to the current challenge league; prices are in the league's base currency.

list_price_leaguesA

List Path of Exile 2 leagues available for pricing (with the current one flagged).

check_data_versionA

Compare the bundled game-data corpus against upstream and report the current league.

update_corpusA

Rebuild the game-data corpus locally from RePoE (power-user / offline path).

Most users don't need this — the server auto-updates from validated releases. Pass rebuild_from_source=true to re-fetch RePoE and rebuild the corpus right now.

check_for_updatesA

Check whether a newer validated release (engine + corpus) is available to install.

apply_updatesA

Download and install the latest validated release (engine + corpus) now.

Prompts

Interactive templates invoked by user choice

NameDescription
analyze_buildImport a PoB build and produce a grounded analysis with improvement ideas.
build_from_goalCreate a verified build from a natural-language goal (create → validate → cost → present).
audit_defensesAudit the active build's survivability and propose fixes.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MaxWilk/poe2-build-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server