Skip to main content
Glama

EVE ESI Tool 🚀

Интерфейс ESI API для EVE Online с MCP-сервером (Model Context Protocol) для интеграции с ИИ-агентами. Подключите своего персонажа EVE к Claude, Augment Code, Cursor или любому другому ИИ-ассистенту с поддержкой MCP — и задавайте вопросы вроде: «Что у меня в трюме?», «Посоветуй фит Hookbill для соло FW» или «Какие у меня самые ценные активы?»


Архитектура

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"| J

Процесс аутентификации 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 ✓

Предварительные требования

  • Python 3.11+

  • Аккаунт EVE Online

  • Зарегистрированное приложение разработчика EVE (бесплатно — занимает 2 минуты на developers.eveonline.com)


Установка

git clone https://github.com/yourname/eve-esi-tool
cd eve-esi-tool
pip install -e .

Шаг 1 — Регистрация приложения EVE

  1. Перейдите на developers.eveonline.com → войдите в систему → Applications → Create Application

  2. Установите Connection TypeAuthentication & API Access

  3. Установите Callback URLhttp://localhost:8182/callback

  4. Добавьте необходимые области доступа (ESI scopes) (см. Справочник областей доступа ниже)

  5. Скопируйте ваш Client ID и, при необходимости, Client Secret

PKCE против Secret: Если вы не укажете client_secret в config.yaml, инструмент будет использовать PKCE (безопаснее для десктопных приложений). Если вы его укажете, будет использоваться стандартный поток Authorization Code с Basic Auth.


Шаг 2 — Настройка

cp config.example.yaml config.yaml

Отредактируйте 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"

Шаг 3 — Вход в систему

python cli.py login

Откроется окно браузера для EVE SSO. После подтверждения ваши токены будут сохранены в tokens.json. Выполняйте это один раз для каждого персонажа. Вы можете аутентифицировать несколько персонажей — все инструменты принимают необязательный параметр character_id.


Справочник 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 queue

Шаг 4 — Подключение к вашему ИИ-инструменту

MCP-сервер использует stdio transport — ИИ-клиент запускает его как подпроцесс и обменивается данными через stdin/stdout.

Augment Code (VS Code)

Откройте пользовательские настройки VS Code (Ctrl+Shift+P → "Preferences: Open User Settings (JSON)") и добавьте:

{
  "augment.advanced": {
    "mcpServers": {
      "eve-esi": {
        "command": "python",
        "args": ["C:/path/to/eve-esi-tool/mcp_server.py"],
        "cwd": "C:/path/to/eve-esi-tool"
      }
    }
  }
}

Затем перезагрузите VS Code (Ctrl+Shift+P → "Developer: Reload Window"). Инструменты EVE ESI станут доступны в режиме Agent автоматически.

Совет для Windows: Используйте прямые слэши / или двойные обратные слэши \ в пути.


Claude Desktop

Отредактируйте %APPDATA%\Claude\claude_desktop_config.json в Windows или ~/Library/Application Support/Claude/claude_desktop_config.json в macOS. Создайте файл, если он не существует:

{
  "mcpServers": {
    "eve-esi": {
      "command": "python",
      "args": ["/path/to/eve-esi-tool/mcp_server.py"],
      "cwd": "/path/to/eve-esi-tool"
    }
  }
}

Перезапустите Claude Desktop. Вы увидите значок молотка 🔨 в строке ввода чата, когда MCP-инструменты будут загружены. Нажмите на него, чтобы увидеть все доступные инструменты.

Включение режима разработчика: В Claude Desktop → Settings → Developer → Enable Developer Mode, чтобы увидеть путь к файлу конфигурации для вашей ОС.


Cursor

Добавьте в .cursor/mcp.json в корне вашего проекта или в ~/.cursor/mcp.json глобально:

{
  "mcpServers": {
    "eve-esi": {
      "command": "python",
      "args": ["/path/to/eve-esi-tool/mcp_server.py"],
      "cwd": "/path/to/eve-esi-tool"
    }
  }
}

Включите MCP в 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 list

Доступные MCP-инструменты

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_wallets

Персонаж и статус

Инструмент

Описание

list_authenticated_characters

Список всех персонажей с местоположением, кораблем, кошельком и статусом

set_active_character

Установка персонажа по умолчанию, если character_id не указан

get_character_info

Имя, корпорация, альянс, дата рождения, статус безопасности

get_character_location

Текущая солнечная система

get_character_ship

Корабль, на котором вы сейчас летите

get_character_status

Снимок состояния: местоположение + корабль + баланс кошелька

Навыки

Инструмент

Описание

get_skills_summary

Общее количество SP, нераспределенные SP, все изученные навыки

get_skill_queue

Навыки в очереди с временем завершения

get_character_attributes

Int/Mem/Per/Wil/Cha + доступность перераспределения

get_active_implants

Установленные импланты

Активы и кошелек

Инструмент

Описание

get_assets_list

Все принадлежащие предметы с местоположением/количеством

search_assets

Поиск активов по названию типа предмета

get_assets_summary

Активы, сгруппированные по станциям со стоимостью в ISK

get_wallet_balance

Баланс ISK

get_wallet_journal

Последние транзакции кошелька

Фиты и рынок

Инструмент

Описание

get_ship_fittings

Все сохраненные фиты в игре

save_ship_fitting

Сохранить новый фит в игру ✍️

get_market_orders

Активные ордера на продажу/покупку персонажа

check_item_price

Лучшие цены покупки/продажи в любом регионе (по умолчанию: Jita)

get_blueprints_list

Все чертежи с информацией о ME/TE/количестве копий

get_industry_jobs_list

Активные/завершенные задания по производству и исследованиям

Вселенная и навигация

Инструмент

Описание

lookup_item_type

Полная информация о типе + атрибуты dogma для любого ID предмета

search_item_type

Поиск ID предметов по названию

lookup_solar_system

Информация о системе (безопасность, планеты, врата)

resolve_eve_names

Преобразование любых ID EVE в имена

plan_route

Планировщик маршрутов между системами с оптимизацией

Перевозки

Инструмент

Описание

find_valuables_to_haul

Сканирование активов на наличие мелких/ценных предметов, планирование маршрута с ценами

Анализ фитов

Инструмент

Описание

get_ship_fit_stats

Парсинг EFT-фита → полная статистика (защита, фитинг, навигация, капа, добыча, трюм)

compare_ship_fits

Сравнение двух EFT-фитов с дельтами

get_fit_required_skills

Извлечение всех навыков, необходимых для использования EFT-фита

check_fit_readiness

Проверка, какие персонажи могут использовать фит и каких навыков не хватает

Межперсонажные инструменты

Инструмент

Описание

get_all_characters_status

Местоположение, корабль и кошелек для ВСЕХ аутентифицированных персонажей

compare_skills_across_characters

Сравнение конкретных навыков (или общего SP) между персонажами

compare_wallets

Все балансы кошельков + общий ISK по аккаунтам

✍️ save_ship_fitting — единственный инструмент, который записывает данные в ваш аккаунт. Все остальные работают только на чтение.


Примеры диалогов

После подключения вы можете задавать вопросы на естественном языке:

"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"

Поддержка нескольких персонажей

Вы можете аутентифицировать несколько персонажей EVE. Запустите python cli.py login один раз для каждого персонажа — все токены сохраняются в tokens.json.

# Log in additional characters (run once per character)
python cli.py login

# List all authenticated characters
python cli.py chars

Активный персонаж

Используйте set_active_character, чтобы выбрать персонажа по умолчанию, если character_id не указан. Если активный персонаж не задан, используется первый аутентифицированный персонаж.

Все индивидуальные инструменты также принимают необязательный параметр character_id для разовых запросов по конкретному альту.

Межперсонажные инструменты

Эти инструменты работают со всеми аутентифицированными персонажами сразу — не нужно запрашивать их по одному:

  • get_all_characters_status — Местоположение, корабль и кошелек для всех за один вызов

  • compare_skills_across_characters — Сравнение навыков или общего SP

  • compare_wallets — Все балансы кошельков + общий ISK флота

  • check_fit_readiness — Проверка, кто из персонажей может использовать фит и чего им не хватает


Структура проекта

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)

Область доступа

Включает

esi-skills.read_skills.v1

get_skills_summary, compare_skills_across_characters, check_fit_readiness

esi-skills.read_skillqueue.v1

get_skill_queue, get_character_attributes

esi-clones.read_implants.v1

get_active_implants

esi-assets.read_assets.v1

get_assets_list, search_assets, get_assets_summary, find_valuables_to_haul

esi-wallet.read_character_wallet.v1

get_wallet_balance, get_wallet_journal, compare_wallets

esi-fittings.read_fittings.v1

get_ship_fittings

esi-fittings.write_fittings.v1

save_ship_fitting

esi-markets.read_character_orders.v1

get_market_orders

esi-characters.read_blueprints.v1

get_blueprints_list

esi-industry.read_character_jobs.v1

get_industry_jobs_list

esi-location.read_location.v1

get_character_location, get_character_status, get_all_characters_status

esi-location.read_ship_type.v1

get_character_ship, get_character_status, get_all_characters_status

esi-contracts.read_character_contracts.v1

В будущем: инструменты для контрактов

esi-universe.read_structures.v1

Местоположение активов в структурах игроков

Примечание: Инструменты анализа фитов (get_ship_fit_stats, compare_ship_fits, get_fit_required_skills) и инструменты вселенной/навигации (plan_route, lookup_item_type и т.д.) используют публичные ESI-эндпоинты и не требуют никаких областей доступа.


Заметки о безопасности

  • tokens.json и config.yaml исключены из git через .gitignore

  • Токены хранятся локально — никогда не передаются третьим лицам

  • MCP-сервер работает только тогда, когда активен ваш ИИ-клиент

  • Все вызовы ESI идут напрямую к esi.evetech.net через HTTPS

  • Единственная операция записи — save_ship_fitting — ISK или предметы переместить невозможно


Устранение неполадок

Ошибка No authenticated characters

python cli.py login   # run this first

Ошибка 400 Bad Request во время входа

  • Убедитесь, что ваш callback_url в config.yaml точно совпадает с тем, что вы указали на портале разработчиков EVE

MCP-инструменты не отображаются в Augment/Claude

  • Проверьте, что путь command указывает на правильный исполняемый файл Python

  • Убедитесь, что вы выполнили pip install -e . в директории проекта

  • Перезагрузите VS Code / перезапустите Claude Desktop после редактирования конфигурации

Ошибки областей доступа (Scope errors) для конкретных инструментов

  • Повторно запустите python cli.py login после добавления новых областей в config.yaml

  • Убедитесь, что новые области также добавлены в ваше приложение разработчика EVE


Создано с помощью FastMCP · Данные ESI от EVE Online ESI

-
security - not tested
A
license - permissive license
-
quality - not tested

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