Skip to main content

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

Project description

poe-data-mcp

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

poe-data-mcp 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": {
    "poe-data-mcp": {
      "command": "uvx",
      "args": ["poe-data-mcp"]
    }
  }
}

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

From source

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

git clone https://github.com/charleslucas/poe-data-mcp.git
cd poe-data-mcp
pip install -e .

You can then launch it via the poe-data-mcp command, python -m poe_data_mcp, 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 poe-data-mcp to my MCP client config. The command is python and the argument is the full path to server.py in the poe-data-mcp 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": {
    "poe-data-mcp": {
      "command": "python",
      "args": ["/path/to/poe-data-mcp/server.py"]
    }
  }
}

Windows:

{
  "mcpServers": {
    "poe-data-mcp": {
      "command": "python",
      "args": ["C:\\path\\to\\poe-data-mcp\\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

poe_data_mcp-0.2.0.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.

poe_data_mcp-0.2.0-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

Details for the file poe_data_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: poe_data_mcp-0.2.0.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 poe_data_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d66f6239aa5705ad8d2e57b364a27f29766dd84a02d4c30e85e4217dcde418ae
MD5 da1f324447f25bfa142c97b5f0bb1686
BLAKE2b-256 023ce6f58b08ba575991d41db04be0d224c7017c1e13cad96d5c53ae194d9412

See more details on using hashes here.

File details

Details for the file poe_data_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: poe_data_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.8 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 poe_data_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c6a9a070c4db152a87a23a47c02fe527717636a3e04e7b835b53eeceda1d4e5
MD5 4518439837cff9902f196541ee0a736e
BLAKE2b-256 35cc87a518663c844934e2fa54d6f486c13659a2af1c156b9f627c621d265817

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