EVE ESI Tool
Herramienta EVE ESI 🚀
Una interfaz de la API ESI de EVE Online con un servidor de Protocolo de Contexto de Modelo (MCP) para la integración de agentes de IA. Conecta tu personaje de EVE a Claude, Augment Code, Cursor o cualquier asistente de IA compatible con MCP, y luego haz preguntas como "¿Qué hay en mi bodega de carga?", "Sugiere un equipamiento de Hookbill para FW en solitario" o "¿Cuáles son mis activos más valiosos?".
Arquitectura
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"| JFlujo de autenticación OAuth2
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 ✓Requisitos previos
Python 3.11+
Una cuenta de EVE Online
Una aplicación de desarrollador de EVE registrada (gratuita; toma 2 minutos en developers.eveonline.com)
Instalación
git clone https://github.com/yourname/eve-esi-tool
cd eve-esi-tool
pip install -e .Paso 1 — Registrar una aplicación de EVE
Ve a developers.eveonline.com → inicia sesión → Applications → Create Application
Configura Connection Type →
Authentication & API AccessConfigura Callback URL →
http://localhost:8182/callbackAñade los alcances (scopes) de ESI que desees (consulta la Referencia de alcances a continuación)
Copia tu Client ID y, opcionalmente, tu Client Secret
PKCE vs Secret: Si omites
client_secretenconfig.yaml, la herramienta utiliza PKCE (más seguro para aplicaciones de escritorio). Si lo incluyes, utiliza el flujo estándar de Código de Autorización con Autenticación Básica.
Paso 2 — Configuración
cp config.example.yaml config.yamlEdita 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"Paso 3 — Iniciar sesión
python cli.py loginSe abrirá una ventana del navegador para el SSO de EVE. Después de aprobar, tus tokens se guardarán en tokens.json. Ejecuta esto una vez por personaje. Puedes autenticar varios personajes; todas las herramientas aceptan un parámetro opcional character_id.
Referencia de CLI
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 queuePaso 4 — Conectar a tu herramienta de IA
El servidor MCP utiliza transporte stdio: el cliente de IA lo inicia como un subproceso y se comunica a través de stdin/stdout.
Augment Code (VS Code)
Abre la configuración de usuario de VS Code (Ctrl+Shift+P → "Preferences: Open User Settings (JSON)") y añade:
{
"augment.advanced": {
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["C:/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "C:/path/to/eve-esi-tool"
}
}
}
}Luego recarga VS Code (Ctrl+Shift+P → "Developer: Reload Window"). Las herramientas de EVE ESI estarán disponibles automáticamente en modo Agente.
Consejo para Windows: Usa barras diagonales
/o barras diagonales inversas dobles\en la ruta.
Claude Desktop
Edita %APPDATA%\Claude\claude_desktop_config.json en Windows, o ~/Library/Application Support/Claude/claude_desktop_config.json en macOS. Crea el archivo si no existe:
{
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "/path/to/eve-esi-tool"
}
}
}Reinicia Claude Desktop. Verás un icono de martillo 🔨 en la barra de entrada de chat cuando las herramientas MCP estén cargadas. Haz clic en él para ver todas las herramientas disponibles.
Habilitar modo desarrollador: En Claude Desktop → Settings → Developer → Enable Developer Mode para ver la ruta del archivo de configuración para tu sistema operativo.
Cursor
Añádelo a .cursor/mcp.json en la raíz de tu proyecto, o a ~/.cursor/mcp.json globalmente:
{
"mcpServers": {
"eve-esi": {
"command": "python",
"args": ["/path/to/eve-esi-tool/mcp_server.py"],
"cwd": "/path/to/eve-esi-tool"
}
}
}Habilita MCP en 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 listHerramientas MCP disponibles
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_walletsPersonaje y estado
Herramienta | Descripción |
| Lista todos los personajes con ubicación, nave, billetera y estado activo |
| Establece el personaje predeterminado para las herramientas cuando se omite |
| Nombre, corporación, alianza, cumpleaños, estado de seguridad |
| Sistema solar actual |
| Nave que se está pilotando actualmente |
| Instantánea rápida: ubicación + nave + saldo de billetera |
Habilidades
Herramienta | Descripción |
| SP total, SP no asignados, todas las habilidades entrenadas |
| Habilidades en cola con tiempos de finalización |
| Int/Mem/Per/Wil/Cha + disponibilidad de reasignación |
| Implantes conectados actualmente |
Activos y billetera
Herramienta | Descripción |
| Todos los artículos poseídos con ubicación/cantidad |
| Busca activos por nombre de tipo de artículo |
| Activos agrupados por estación con valores en ISK |
| Saldo en ISK |
| Transacciones recientes de la billetera |
Equipamientos y mercado
Herramienta | Descripción |
| Todos los equipamientos guardados en el juego |
| Guarda un nuevo equipamiento en el juego ✍️ |
| Órdenes de venta/compra activas del personaje |
| Mejores precios de compra/venta en cualquier región (predeterminado: Jita) |
| Todos los planos con información de ME/TE/runs |
| Trabajos de fabricación e investigación activos/completados |
Universo y navegación
Herramienta | Descripción |
| Información completa del tipo + atributos dogma para cualquier ID de artículo |
| Encuentra IDs de artículos por nombre |
| Información del sistema (seguridad, planetas, puertas estelares) |
| Convierte cualquier ID de EVE a nombres |
| Planificador de rutas multisistema con optimización de vecino más cercano |
Transporte
Herramienta | Descripción |
| Escanea activos en busca de artículos pequeños/valiosos, planifica ruta de recogida con precios |
Análisis de equipamiento
Herramienta | Descripción |
| Analiza un equipamiento EFT → estadísticas completas (defensa, ajuste, navegación, capacitador, minería, carga) |
| Comparación lado a lado de dos equipamientos EFT con diferencias |
| Extrae todas las habilidades necesarias para pilotar un equipamiento EFT dado |
| Comprueba qué personajes pueden pilotar un equipamiento y qué habilidades les faltan |
Interpersonaje
Herramienta | Descripción |
| Ubicación, nave y billetera para TODOS los personajes autenticados |
| Compara habilidades específicas (o SP total) entre todos los personajes |
| Todos los saldos de billetera + ISK total entre cuentas |
✍️
save_ship_fittinges la única herramienta que escribe en tu cuenta. Todas las demás son de solo lectura.
Ejemplos de conversaciones
Una vez conectado, puedes hacer preguntas en lenguaje natural:
"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"Soporte para múltiples personajes
Puedes autenticar varios personajes de EVE. Ejecuta python cli.py login una vez por personaje; todos los tokens se almacenan en tokens.json.
# Log in additional characters (run once per character)
python cli.py login
# List all authenticated characters
python cli.py charsPersonaje activo
Usa set_active_character para elegir qué personaje usarán las herramientas de forma predeterminada cuando se omita character_id. Si no se establece ningún personaje activo, se utiliza el primer personaje autenticado.
Todas las herramientas individuales también aceptan un parámetro opcional character_id para consultas ad-hoc sobre un personaje secundario específico.
Herramientas interpersonaje
Estas herramientas operan sobre todos los personajes autenticados a la vez; no es necesario consultarlos uno por uno:
get_all_characters_status— Ubicación, nave y billetera de todos en una sola llamadacompare_skills_across_characters— Compara habilidades específicas o SP total lado a ladocompare_wallets— Todos los saldos de billetera + ISK total de la flotacheck_fit_readiness— Comprueba qué personajes pueden pilotar un equipamiento dado y qué les falta
Estructura del proyecto
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)Referencia de alcances (scopes)
Alcance | Habilita |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Futuro: herramientas de contratos |
| Ubicaciones de activos en estructuras de jugadores |
Nota: Las herramientas de análisis de equipamiento (
get_ship_fit_stats,compare_ship_fits,get_fit_required_skills) y las herramientas de universo/navegación (plan_route,lookup_item_type, etc.) utilizan endpoints públicos de ESI y no requieren ningún alcance.
Notas de seguridad
tokens.jsonyconfig.yamlestán excluidos de git mediante.gitignoreLos tokens se almacenan localmente; nunca se envían a terceros
El servidor MCP solo se ejecuta cuando tu cliente de IA está activo
Todas las llamadas a ESI van directamente a
esi.evetech.neta través de HTTPSLa única operación de escritura es
save_ship_fitting; no se pueden mover ISK ni artículos
Solución de problemas
Error No authenticated characters
python cli.py login # run this first400 Bad Request durante el inicio de sesión
Asegúrate de que tu
callback_urlenconfig.yamlcoincida exactamente con lo que configuraste en el portal de desarrolladores de EVE
Las herramientas MCP no aparecen en Augment/Claude
Comprueba que la ruta
commandapunte al ejecutable de Python correctoAsegúrate de haber ejecutado
pip install -e .en el directorio del proyectoRecarga VS Code / reinicia Claude Desktop después de editar la configuración
Errores de alcance en herramientas específicas
Vuelve a ejecutar
python cli.py logindespués de añadir nuevos alcances aconfig.yamlAsegúrate de que los nuevos alcances también se añadan a tu aplicación de desarrollador de EVE
Creado con FastMCP · Datos de ESI de 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