poe2-mcp@1.0.15
CAUTION· not startedPublisher claims: "AI-powered Path of Exile 2 build optimization MCP server" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- no vendor host named in the codeAlso poe.ninja, pathofexile.com — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- server startup · the tool list · tool behavior
Connect it under the guard. Not started: dependency install failed; the server itself was not observed. The code names no credential variable; the guard pins the network to what the honeypot saw and logs every call.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-14 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Auto-update or dynamic fetch configuration; Access to sensitive file paths; Hidden zero-width characters detected. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.* ``POE2_MCP_AUTO_UPDATE=1`` -> ``auto`` : permission granted ahead of time;Fix: Pin versions and sources; vendor anything fetched at install time."Or manually update POESESSID in your .env file and restart the server.",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."skill_gems_v2.json (~1,249 spells, post-#119). "Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why."How do I generate Endurance Charges?": "Skills (Enduring Cry), on-kill effects, passives, or items.",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.root = ET.fromstring(xml_str.lstrip("").strip())Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.env_file=str(BASE_DIR / ".env"), # Use absolute pathFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.…rt a Path of Building build. Accepts a local file path (most reliable — a saved .xml build or a .txt containing the share code, auto-detected), raw uncompressed PoB XML, or an inline base64 share code. Provide exactly one of the three inpu…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.f"not survive a restart. For persistence, add it to .env: "Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."How do I generate Frenzy Charges?": "Skills, on-kill effects, charms (like Valako's Roar), or passives.",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.1. Generate charges through skills, passives, or on-kill effectsFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.bbbb = self.content.find(b"\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb")Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.- POE2_MCP_AUTO_UPDATE=1 fast-forward merge if possible (Option B)Fix: Pin versions and sources; vendor anything fetched at install time.return subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.response += "**Saving to .env file...**\n"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.(Claude Desktop: C:\\WINDOWS\\system32). A .env override likeFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."Or see .env.example for manual cookie extraction instructions."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.DAT_MAGIC_NUMBER = b"\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb"Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.auto_update = os.environ.get("POE2_MCP_AUTO_UPDATE") == "1"Fix: Pin versions and sources; vendor anything fetched at install time.return "AI features are not enabled. Please set ANTHROPIC_API_KEY in your .env file."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."Shatter frozen enemies on kill for on-death immunity",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# Save to .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = base_dir / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.print_info("Set POE2_MCP_AUTO_UPDATE=1 to enable automatic fast-forward updates.")Fix: Pin versions and sources; vendor anything fetched at install time.# Set via environment variables (.env file) for persistence:Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.f"set POE2_MCP_AUTO_UPDATE=1 or use check_for_updates(apply=true). "Fix: Pin versions and sources; vendor anything fetched at install time."5. Add to .env: POESESSID=your_cookie_value\n"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.1. Generate charges through skills, passives, or on-kill effectsFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
No advisories in OSV for poe2-mcp@1.0.15 as of 52 min ago. This is the package itself, not its dependencies.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim hivemindoverlord: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Auto-update or dynamic fetch configuration≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Hidden zero-width characters detected≈ +4 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
- Hex-encoded string detected≈ +4 on the totalPut hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
- Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.