EVE ESI Tool
EVE ESI Tool 🚀
Eine EVE Online ESI-API-Schnittstelle mit einem Model Context Protocol (MCP) Server für die Integration von KI-Agenten. Verbinden Sie Ihren EVE-Charakter mit Claude, Augment Code, Cursor oder einem anderen MCP-kompatiblen KI-Assistenten — und stellen Sie dann Fragen wie "Was befindet sich in meinem Frachtraum?", "Schlage eine Hookbill-Ausstattung für Solo-FW vor" oder "Was sind meine wertvollsten Vermögenswerte?"
Architektur
graph TB
subgraph AI["AI Clients"]
A[Claude Desktop]
B[Augment Code]
C[Cursor]
D[Claude Code CLI]
end
subgraph MCP["MCP Server · mcp_server.py"]
E["34 Tools\n──────────────────\nCharacter · Skills · Assets\nWallet · Fittings · Market\nUniverse · Navigation\nHauling · Fitting Analysis\nCross-Character"]
end
subgraph LIB["eve_esi library"]
F["auth.py\nOAuth2 SSO + PKCE"]
G["client.py\nESI HTTP Client\nauto token refresh"]
H["endpoints/\nassets · characters · fittings\nfitting_analysis · hauling · market\nnavigation · skills · universe · wallet"]
end
subgraph EVE["EVE Online"]
I["ESI API\nesi.evetech.net"]
J["SSO\nlogin.eveonline.com"]
end
A & B & C & D -->|"stdio / MCP protocol"| E
E --> G
G --> H
F -->|"tokens.json"| G
G -->|"HTTPS + JWT Bearer"| I
F -->|"PKCE / Auth Code flow"| JOAuth2-Authentifizierungsablauf
sequenceDiagram
participant U as You
participant CLI as cli.py
participant Browser as Browser
participant SSO as EVE SSO
participant ESI as ESI API
U->>CLI: python cli.py login
CLI->>Browser: Open auth URL (PKCE challenge)
Browser->>SSO: EVE login + scope approval
SSO->>CLI: Redirect → localhost:8182/callback?code=...
CLI->>SSO: POST /token (exchange code)
SSO->>CLI: access_token + refresh_token
CLI->>CLI: Store encrypted in tokens.json
Note over CLI,ESI: All future requests auto-refresh token
CLI->>ESI: GET /characters/{id}/
ESI->>CLI: Character data ✓Voraussetzungen
Python 3.11+
Ein EVE Online-Konto
Eine registrierte EVE-Entwickleranwendung (kostenlos — dauert 2 Minuten unter developers.eveonline.com)
Installation
git clone https://github.com/yourname/eve-esi-tool
cd eve-esi-tool
pip install -e .Schritt 1 — Registrierung einer EVE-Anwendung
Gehen Sie zu developers.eveonline.com → anmelden → Applications → Create Application
Setzen Sie Connection Type →
Authentication & API AccessSetzen Sie Callback URL →
http://localhost:8182/callbackFügen Sie die gewünschten ESI-Scopes hinzu (siehe Scopes-Referenz unten)
Kopieren Sie Ihre Client ID und optional das Client Secret
PKCE vs. Secret: Wenn Sie
client_secretin derconfig.yamlweglassen, verwendet das Tool PKCE (sicherer für Desktop-Apps). Wenn Sie es einfügen, wird der Standard-Autorisierungscode-Ablauf mit Basic Auth verwendet.
Schritt 2 — Konfiguration
cp config.example.yaml config.yamlBearbeiten Sie die config.yaml:
eve_sso:
client_id: "YOUR_CLIENT_ID_HERE"
client_secret: "YOUR_SECRET_HERE" # optional — remove for PKCE-only
callback_url: "http://localhost:8182/callback"
scopes:
- "esi-skills.read_skills.v1"
- "esi-skills.read_skillqueue.v1"
- "esi-characters.read_blueprints.v1"
- "esi-assets.read_assets.v1"
- "esi-wallet.read_character_wallet.v1"
- "esi-fittings.read_fittings.v1"
- "esi-fittings.write_fittings.v1"
- "esi-markets.read_character_orders.v1"
- "esi-industry.read_character_jobs.v1"
- "esi-location.read_location.v1"
- "esi-location.read_ship_type.v1"
- "esi-clones.read_clones.v1"
- "esi-clones.read_implants.v1"
- "esi-contracts.read_character_contracts.v1"
- "esi-universe.read_structures.v1"
token_storage:
path: "tokens.json"Schritt 3 — Anmelden
python cli.py loginEin Browserfenster öffnet sich für EVE SSO. Nachdem Sie zugestimmt haben, werden Ihre Token in tokens.json gespeichert. Führen Sie dies einmal pro Charakter aus. Sie können mehrere Charaktere authentifizieren — alle Tools akzeptieren einen optionalen character_id-Parameter.
CLI-Referenz
python cli.py login # Authenticate a character via EVE SSO
python cli.py chars # List all authenticated characters
python cli.py info # Show character info (corp, alliance, etc.)
python cli.py skills # Show skill summary (total SP, top skills)
python cli.py wallet # Show ISK wallet balance
python cli.py queue # Show skill training queueSchritt 4 — Verbindung mit Ihrem KI-Tool herstellen
Der MCP-Server verwendet den stdio-Transport — der KI-Client startet ihn als Subprozess und kommuniziert über stdin/stdout.
Augment Code (VS Code)
Öffnen Sie Ihre VS Code-Benutzereinstellungen (Strg+Umschalt+P → "Preferences: Open User Settings (JSON)") und fügen Sie Folgendes hinzu:
{
"augment.advanced": {
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["C:/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "C:/path/to/eve-esi-tool"
}
}
}
}Starten Sie dann VS Code neu (Strg+Umschalt+P → "Developer: Reload Window"). Die EVE ESI-Tools sind automatisch im Agenten-Modus verfügbar.
Windows-Tipp: Verwenden Sie Schrägstriche
/oder doppelte Backslashes\im Pfad.
Claude Desktop
Bearbeiten Sie %APPDATA%\Claude\claude_desktop_config.json unter Windows oder ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS. Erstellen Sie die Datei, falls sie nicht existiert:
{
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "/path/to/eve-esi-tool"
}
}
}Starten Sie Claude Desktop neu. Sie sehen ein 🔨 Hammer-Symbol in der Chat-Eingabeleiste, wenn MCP-Tools geladen sind. Klicken Sie darauf, um alle verfügbaren Tools zu sehen.
Entwicklermodus aktivieren: In Claude Desktop → Settings → Developer → Enable Developer Mode, um den Pfad zur Konfigurationsdatei für Ihr Betriebssystem zu sehen.
Cursor
Fügen Sie dies zu .cursor/mcp.json in Ihrem Projektstammverzeichnis oder global zu ~/.cursor/mcp.json hinzu:
{
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "/path/to/eve-esi-tool"
}
}
}Aktivieren Sie MCP unter Cursor Settings → Features → MCP → Enable MCP.
Claude Code (CLI)
# Add the server
claude mcp add eve-esi python /path/to/eve-esi-tool/mcp_server.py
# Or add with working directory
claude mcp add eve-esi --cwd /path/to/eve-esi-tool python mcp_server.py
# Verify it's registered
claude mcp listVerfügbare MCP-Tools
mindmap
root((EVE ESI\nMCP Tools))
Character
list_authenticated_characters
set_active_character
get_character_info
get_character_location
get_character_ship
get_character_status
Skills
get_skills_summary
get_skill_queue
get_character_attributes
get_active_implants
Assets
get_assets_list
search_assets
get_assets_summary
Wallet
get_wallet_balance
get_wallet_journal
Fittings
get_ship_fittings
save_ship_fitting
Market
get_market_orders
check_item_price
get_blueprints_list
get_industry_jobs_list
Universe
lookup_item_type
search_item_type
lookup_solar_system
resolve_eve_names
Navigation
plan_route
Hauling
find_valuables_to_haul
Fitting Analysis
get_ship_fit_stats
compare_ship_fits
get_fit_required_skills
check_fit_readiness
Cross-Character
get_all_characters_status
compare_skills_across_characters
compare_walletsCharakter & Status
Tool | Beschreibung |
| Listet alle Charaktere mit Standort, Schiff, Wallet und aktivem Status auf |
| Legt fest, welcher Charakter standardmäßig verwendet wird, wenn |
| Name, Corp, Allianz, Geburtstag, Sicherheitsstatus |
| Aktuelles Sonnensystem |
| Aktuell geflogenes Schiff |
| Schnappschuss: Standort + Schiff + Wallet-Guthaben |
Fähigkeiten
Tool | Beschreibung |
| Gesamte SP, nicht zugewiesene SP, alle trainierten Fähigkeiten |
| Fähigkeiten in der Warteschlange mit Abschlusszeiten |
| Int/Mem/Per/Wil/Cha + Verfügbarkeit von Remaps |
| Aktuell eingesetzte Implantate |
Vermögenswerte & Wallet
Tool | Beschreibung |
| Alle besessenen Gegenstände mit Standort/Menge |
| Suche nach Vermögenswerten anhand des Gegenstandstyps |
| Vermögenswerte gruppiert nach Station mit ISK-Werten |
| ISK-Guthaben |
| Letzte Wallet-Transaktionen |
Ausstattungen & Markt
Tool | Beschreibung |
| Alle im Spiel gespeicherten Ausstattungen |
| Speichert eine neue Ausstattung im Spiel ✍️ |
| Aktive Verkaufs-/Kaufaufträge des Charakters |
| Beste Kauf-/Verkaufspreise in jeder Region (Standard: Jita) |
| Alle Blaupausen mit ME/TE/Runs-Informationen |
| Aktive/abgeschlossene Fertigungs- & Forschungsaufträge |
Universum & Navigation
Tool | Beschreibung |
| Vollständige Typinformationen + Dogma-Attribute für jede Gegenstands-ID |
| Findet Gegenstands-IDs anhand des Namens |
| Systeminformationen (Sicherheit, Planeten, Stargates) |
| Konvertiert alle EVE-IDs → Namen |
| Routenplaner für mehrere Systeme mit Optimierung des nächsten Nachbarn |
Transport
Tool | Beschreibung |
| Scannt Vermögenswerte nach kleinen/wertvollen Gegenständen, plant Abholroute mit Preisgestaltung |
Analyse von Ausstattungen
Tool | Beschreibung |
| Analysiert eine EFT-Ausstattung → vollständige Statistiken (Verteidigung, Fitting, Nav, Cap, Mining, Fracht) |
| Vergleich von zwei EFT-Ausstattungen nebeneinander mit Deltas |
| Extrahiert alle Fähigkeiten, die zum Fliegen einer bestimmten EFT-Ausstattung erforderlich sind |
| Überprüft, welche Charaktere eine Ausstattung fliegen können und welche Fähigkeiten ihnen fehlen |
Charakterübergreifend
Tool | Beschreibung |
| Standort, Schiff und Wallet für ALLE authentifizierten Charaktere |
| Vergleicht spezifische Fähigkeiten (oder gesamte SP) über alle Charaktere hinweg |
| Alle Wallet-Guthaben + gesamte ISK über alle Konten hinweg |
✍️
save_ship_fittingist das einzige Tool, das in Ihr Konto schreibt. Alle anderen sind schreibgeschützt.
Beispielkonversationen
Sobald die Verbindung hergestellt ist, können Sie Fragen in natürlicher Sprache stellen:
"What ship is my character flying and where are they?"
"Show me my top 10 most valuable assets"
"What skills am I training and when does the queue finish?"
"Check the Jita price for a Raven Navy Issue"
"Do I have any active industry jobs?"
"What are my saved fittings for a Rifter?"
"Suggest a solo PvP fit for my Caldari Navy Hookbill based on my skills"
"How much would I make if I sold all my blueprints in Jita?"
"Compare my Covetor fit to a Hulk fit — which is better for moon mining?"
"What skills do I need to fly this Hulk fit?" (paste EFT)
"Which of my characters can fly this fit and what are they missing?"
"Give me a status update on all my characters"
"Compare Mining Barge and Astrogeology skills across all my alts"
"Find all my valuable items scattered around and plan a pickup route back to Jita"Unterstützung für mehrere Charaktere
Sie können mehrere EVE-Charaktere authentifizieren. Führen Sie python cli.py login einmal pro Charakter aus — alle Token werden in tokens.json gespeichert.
# Log in additional characters (run once per character)
python cli.py login
# List all authenticated characters
python cli.py charsAktiver Charakter
Verwenden Sie set_active_character, um auszuwählen, welcher Charakter standardmäßig verwendet werden soll, wenn character_id weggelassen wird. Wenn kein aktiver Charakter festgelegt ist, wird der erste authentifizierte Charakter verwendet.
Alle individuellen Tools akzeptieren auch einen optionalen character_id-Parameter für Ad-hoc-Abfragen eines bestimmten Alts.
Charakterübergreifende Tools
Diese Tools arbeiten gleichzeitig auf allen authentifizierten Charakteren — Sie müssen sie nicht einzeln abfragen:
get_all_characters_status— Standort, Schiff und Wallet für alle in einem Aufrufcompare_skills_across_characters— Vergleicht spezifische Fähigkeiten oder gesamte SP nebeneinandercompare_wallets— Alle Wallet-Guthaben + gesamte Flotten-ISKcheck_fit_readiness— Überprüft, welche Charaktere eine bestimmte Ausstattung fliegen können und was ihnen fehlt
Projektstruktur
eve-esi-tool/
├── mcp_server.py # MCP server — 34 tools for AI agents
├── cli.py # Command-line interface
├── config.example.yaml # Config template
├── config.yaml # Your config (not committed)
├── tokens.json # OAuth tokens (not committed)
├── scripts/ # Temporary/ad-hoc scripts (auto-cleaned)
├── eve_esi/
│ ├── auth.py # OAuth2 SSO + PKCE flow + token storage
│ ├── client.py # ESI HTTP client with auto token refresh
│ ├── config.py # Config loading (YAML)
│ └── endpoints/
│ ├── assets.py # Character assets
│ ├── characters.py # Character info, location, ship
│ ├── fitting_analysis.py # EFT parsing, stats, comparison, skill requirements
│ ├── fittings.py # Ship fittings CRUD
│ ├── hauling.py # Asset analysis & pickup-run planner
│ ├── market.py # Orders, prices, blueprints, industry
│ ├── navigation.py # Route planning & multi-stop optimization
│ ├── skills.py # Skills, queue, attributes, implants
│ ├── universe.py # Type info, system info, name resolution
│ └── wallet.py # Wallet balance and journal
└── CLAUDE.md # Agent instructions (Claude Code / Cursor)Scopes-Referenz
Scope | Ermöglicht |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Zukunft: Vertragstools |
| Vermögensstandorte in Spielerstrukturen |
Hinweis: Tools zur Analyse von Ausstattungen (
get_ship_fit_stats,compare_ship_fits,get_fit_required_skills) und Universums-/Navigationstools (plan_route,lookup_item_typeusw.) verwenden öffentliche ESI-Endpunkte und erfordern keine Scopes.
Sicherheitshinweise
tokens.jsonundconfig.yamlsind über.gitignorevon Git ausgeschlossenToken werden lokal gespeichert — niemals an Dritte gesendet
Der MCP-Server läuft nur, wenn Ihr KI-Client aktiv ist
Alle ESI-Aufrufe gehen direkt über HTTPS an
esi.evetech.netDie einzige Schreiboperation ist
save_ship_fitting— es können keine ISK oder Gegenstände verschoben werden
Fehlerbehebung
Fehler No authenticated characters
python cli.py login # run this first400 Bad Request während der Anmeldung
Stellen Sie sicher, dass Ihre
callback_urlinconfig.yamlexakt mit der im EVE-Entwicklerportal übereinstimmt
MCP-Tools werden in Augment/Claude nicht angezeigt
Überprüfen Sie, ob der
command-Pfad auf die korrekte Python-Executable zeigtStellen Sie sicher, dass Sie
pip install -e .im Projektverzeichnis ausgeführt habenLaden Sie VS Code neu / starten Sie Claude Desktop nach dem Bearbeiten der Konfiguration neu
Scope-Fehler bei bestimmten Tools
Führen Sie
python cli.py loginerneut aus, nachdem Sie neue Scopes zurconfig.yamlhinzugefügt habenStellen Sie sicher, dass die neuen Scopes auch zu Ihrer EVE-Entwickleranwendung hinzugefügt wurden
Erstellt mit FastMCP · ESI-Daten von EVE Online ESI
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Berman510/EOE_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server