Skip to main content

MCP server for Path of Exile game data - wiki, economy, and Craft of Exile lookups

Project description

PoeMCP

This product is not affiliated with or endorsed by Grinding Gear Games in any way.

An MCP server that gives any LLM access to Path of Exile game data — gems, unique items, passive tree nodes, item modifiers, maps, scarabs, live pricing, and Path of Building build parsing.

Data is fetched at runtime from poedb.tw, poe.ninja, and poewiki.net. No API key required.

Part of poe_mcp_suite

This server is part of poe_mcp_suite — a collection of MCP servers for Path of Exile. The suite works with any MCP-compatible AI agent, and ships an analysis framework that is additionally optimized for Claude Code. See the suite repo for an overview of all available servers and tools.


Installation

Requirements

  • Python 3.10+
  • An MCP-compatible client — e.g. Claude Desktop / Claude Code, Cursor, Windsurf, Cline, VS Code, or Zed
  • Internet access (all data is fetched at runtime)

Quick install (recommended) — no clone, no manual setup

PoeMCP is published to PyPI, so an ephemeral runner like uvx or pipx can fetch and run it on demand — nothing to clone or keep updated. Add this to your MCP client config:

{
  "mcpServers": {
    "poemcp": {
      "command": "uvx",
      "args": ["poemcp"]
    }
  }
}

The Craft of Exile cache is stored in your platform user-cache dir (e.g. %LOCALAPPDATA%\poemcp\Cache on Windows, ~/.cache/poemcp elsewhere); override with the POEMCP_CACHE_DIR env var. The optional fetch_youtube_* tools use the bundled yt-dlp.

From source

⚠️ Python 3.10+ is required. PoeMCP will not work without it. Download from python.org if you don't have it.

git clone https://github.com/charleslucas/POEMCP.git
cd POEMCP
pip install -e .

You can then launch it via the poemcp command, python -m poemcp, or python server.py.

💡 Not sure how to configure your client? Ask your AI assistant directly: "Guide me step by step to add a local MCP server called PoeMCP to my MCP client config. The command is python and the argument is the full path to server.py in the POEMCP folder I cloned." It will walk you through finding the config file and adding the correct JSON block for your OS.

MCP Configuration

The mcpServers block below is the same shape used by most MCP clients (Claude Desktop/Code, Cursor, Windsurf, Cline, VS Code, Zed…) — only the config file location differs. Replace the path with the directory where you cloned the repo. For a step-by-step visual walkthrough, see examples.md.

Claude Desktop

File location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

macOS / Linux:

{
  "mcpServers": {
    "poemcp": {
      "command": "python",
      "args": ["/path/to/PoeMCP/server.py"]
    }
  }
}

Windows:

{
  "mcpServers": {
    "poemcp": {
      "command": "python",
      "args": ["C:\\path\\to\\PoeMCP\\server.py"]
    }
  }
}

Claude Code (CLI)

Add to your project's .mcp.json. See mcp.json.example for the template.

Note: Use the full absolute path to server.py.


MCP Tools Reference

search_gem

Search for Path of Exile gems by name or description keyword.

Parameters query: str — keyword to match against gem names and descriptions
Returns List of matching gems with name, type (active/support), tags, and short description. Fuzzy matched, up to 20 results.

get_gem_detail

Get detailed information about a specific gem.

Parameters gem_name: str — e.g. "Fireball" or "Leap Slam"
Returns Full gem stats: tags, mana cost, cast time, quality bonuses, and a per-level table showing damage, radius, and other scaling values.

search_item

Search for Path of Exile unique items by name, base type, or mod keyword.

Parameters query: str — supports fuzzy matching; partial names, base types, and mod text all work
Returns List of matching unique items with name, base type, and key mods. Up to 10 results.
Examples "headhunter", "leather belt", "culling strike", "life leech dagger"

get_item_detail

Get detailed information about a specific unique item.

Parameters item_name: str — e.g. "Headhunter" or "Lifesprig"
Returns Full item data: base type, implicits, all explicit mods with value ranges, flavour text, acquisition methods (div cards, vendor recipes, drop sources), and links to poedb and the Community Wiki.

search_passive

Search for passive skill tree nodes by name or stat keyword.

Parameters query: str — keyword to match against node names and stats
type: str (optional) — filter by "keystone", "notable", "mastery", or "ascendancy"
Returns List of matching nodes with name, type, and stat preview. Excludes small passives and jewel sockets unless directly matched by name. Up to 20 results.

get_passive_detail

Get full information about a specific passive skill tree node.

Parameters name: str — e.g. "Iron Reflexes" or "Divine Shield"
Returns Full node stats, mastery effects (if applicable), reminder text, flavour text, ascendancy name, and a list of connected nodes.

search_mods

Search for item modifiers (prefixes and suffixes) available on a given item type.

Parameters item_type: str — item type to look up. Examples: "helmets str", "daggers", "amulets", "boots dex", "body armours str int", "cobalt jewel"
query: str (optional) — keyword to filter modifiers, e.g. "life", "fire resistance", "attack speed"
Returns Grouped list of prefixes and suffixes that can roll on that item type, with mod name, tier, item level requirement, and value ranges. Also includes corrupted implicits if present.

env_search

Search for maps and scarabs by name or keyword.

Parameters query: str — keyword to match against names and descriptions
category: str (optional)"maps" or "scarabs" to narrow results
Returns List of matching maps (with tier and boss) or scarabs (with effect text).

env_detail

Get detailed information about a specific map or scarab.

Parameters name: str — e.g. "Strand Map" or "Breach Scarab"
Returns Maps: tiers, boss name, tileset, area level, vaal area, connected maps, and wiki link. Scarabs: full effect text and stack size.

price_check

Search poe.ninja for the current price of an item or currency.

Parameters query: str — item name to search
league: str (optional) — league name. Defaults to current temp league (auto-detected).
category: str (optional) — hint to narrow search: "currency", "unique", "gem", "divcard", "map", etc.
Returns Item name, price in chaos orbs and divine orbs, number of active listings, and the league queried. Results are cached for 15 minutes.

currency_overview

Get the top currency exchange rates from poe.ninja.

Parameters league: str (optional) — defaults to current temp league
Returns Top 20 currency items ranked by chaos value, showing chaos equivalent and divine equivalent for each. Results are cached for 15 minutes.

fetch_wiki_page

Fetch and extract readable content from a poewiki.net page.

Parameters wiki_url: str — full poewiki.net URL, e.g. "https://www.poewiki.net/wiki/Headhunter"
Returns Cleaned page content with navigation and noise stripped, preserving the main article text, mechanics sections, and acquisition info. Useful for deep dives on mechanics not covered by other tools.

parse_pob

Parse a Path of Building export code or share URL into a full build summary.

Parameters code_or_url: str — accepts a raw PoB base64 export code, a pobb.in URL, or a Pastebin URL
Returns Full build summary including:
• Class, ascendancy, level
• Build notes (author's written guide, color codes stripped)
• Progression stages — each gear/skill/tree loadout with stage title and node count, so you can follow a build guide step by step
• Bandit choice and Pantheon gods
• Key stats (Life, ES, Armour, Evasion, DPS, Hit Chance, etc.)
• All skill links grouped by slot
• Every equipped item with full mod list (implicits + explicits, crafted mods labelled)
• Allocated keystones and notable passives from the passive tree

Supported URL formats:

https://pobb.in/xxxxxxxx
https://pobb.in/u/username/xxxxxxxx
https://pastebin.com/xxxxxxxx

Disclaimer

This is an unofficial fan project, not affiliated with or endorsed by Grinding Gear Games. Game content (item names, skill names, passive nodes, etc.) is the intellectual property of Grinding Gear Games. Data is fetched at runtime from poedb.tw, poe.ninja, and poewiki.net — this tool is for personal, non-commercial use only.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poemcp-0.1.1.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poemcp-0.1.1-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

Details for the file poemcp-0.1.1.tar.gz.

File metadata

  • Download URL: poemcp-0.1.1.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for poemcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab4467159070bb6d04f8341bd708507a959f53c372f3bfe34619d8aeff13b55c
MD5 70adf80c7117f9ed6ea782b6690030eb
BLAKE2b-256 120510768e17599e56051a742dff41c62f13dd816666c34c27d06f479b732f80

See more details on using hashes here.

File details

Details for the file poemcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: poemcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 52.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for poemcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01b530f2f389b3159dad58a45388765566cbee6b576ebb26df98a7994b60fa91
MD5 a8c023cb58f163fc2832653c1c6102eb
BLAKE2b-256 f3a0d907e4fab2d536475206bb6caf3b839ee379e7a2fc3432b3419e7377e097

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page