Skip to main content
Glama
32n1

EVE Online Companion MCP Server

by 32n1

EVE Online Companion — MCP-сервер

MCP-сервер (Model Context Protocol) для Claude Code, который служит вашим личным компаньоном в EVE Online. Он предоставляет Claude прямой доступ к данным персонажа, рыночным ценам, информации о киллбордах, знаниям из вики и многому другому — и все это через естественный язык.

Что он умеет?

«Могу ли я летать на Ishtar?» — Проверяет ваши навыки и показывает недостающие с указанием времени обучения.

«Сколько стоит Warp Disruptor II в Жите?» — Получает актуальные рыночные данные из ESI.

«Насколько опасен пилот XY?» — Проверяет статистику zKillboard, рейтинг опасности и топовые корабли.

«Покажи мои фиты для Vexor» — Выводит список сохраненных фитов в формате EFT.

«Объясни мне механику червоточин» — Ищет информацию в вики EVE University.

Все 29 инструментов

Категория

Инструменты

Описание

Auth

eve_auth_login

SSO-логин (блокирует до callback)

eve_auth_start

SSO-логин (неблокирующий, откройте localhost:8834)

eve_auth_status

Статус авторизации + информация о персонаже

Character

eve_character_info

Имя, корпорация, альянс, кошелек, SP, местоположение, корабль

eve_character_skills

Фильтрация навыков по группе или имени

eve_character_skillqueue

Текущая очередь навыков с таймерами

eve_character_implants

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

Location

eve_location_current

Система, станция, корабль, статус онлайн

eve_route_plan

Расчет маршрута (кратчайший/безопасный/опасный)

eve_set_destination

Установка цели автопилота в игре

Fittings

eve_fitting_list

Сохраненные фиты (формат EFT)

eve_fitting_save

Сохранение фита из строки EFT

eve_fitting_analyze

Анализ фита (танк, DPS, капа — на основе Dogma)

Market

eve_market_price

Проверка цены (по умолчанию Jita, возможны другие регионы)

eve_market_appraise

Оценка списка предметов (копипаст из игры)

eve_market_orders

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

Intel

eve_intel_character

Intel по пилоту: корпа, киллы, рейтинг опасности, топ-корабли

eve_intel_corporation

Intel по корпе: участники, альянс, статистика киллборда

eve_intel_system

Intel по системе: киллы, прыжки, NPC-киллы, рэттинг

eve_killmail_analyze

Разбор киллмейла: фит, атакующие, урон

Assets

eve_assets_search

Поиск активов по имени/типу

eve_wallet_balance

Баланс кошелька

eve_wallet_journal

Последние записи в журнале кошелька

Universe

eve_type_info

Детали предмета/корабля с атрибутами Dogma

eve_system_info

Детали системы: сек, регион, станции

eve_search

Универсальный поиск (персонажи, корпы, системы, предметы)

Wiki

eve_wiki_search

Поиск по вики EVE University

eve_wiki_article

Чтение статьи из вики (в формате Markdown)

Fleet

eve_fleet_info

Статус флота (если вы во флоте)


Настройка

1. Приложение EVE Developer

  1. Перейдите на https://developers.eveonline.com/

  2. "Create New Application"

  3. Тип приложения: Authentication & API Access

  4. Callback URL: http://localhost:8834/callback

  5. Выберите все необходимые области (scopes) из списка ниже

  6. Сохраните Client ID (секретный ключ опционален, только для конфиденциальных приложений)

esi-skills.read_skills.v1
esi-skills.read_skillqueue.v1
esi-clones.read_implants.v1
esi-assets.read_assets.v1
esi-wallet.read_character_wallet.v1
esi-fittings.read_fittings.v1
esi-fittings.write_fittings.v1
esi-characters.read_standings.v1
esi-killmails.read_killmails.v1
esi-location.read_location.v1
esi-location.read_ship_type.v1
esi-location.read_online.v1
esi-fleets.read_fleet.v1
esi-markets.read_character_orders.v1
esi-contracts.read_character_contracts.v1
esi-mail.read_mail.v1
esi-ui.open_window.v1
esi-ui.write_waypoint.v1
esi-search.search_structures.v1
esi-universe.read_structures.v1

2. Установка

git clone <repo>
cd eve
npm install
npm run build

3. Конфигурация

mkdir -p ~/.eve-mcp

Создайте ~/.eve-mcp/config.json:

{
  "clientId": "deine-client-id-von-ccp",
  "callbackUrl": "http://localhost:8834/callback",
  "userAgent": "eve-mcp-companion/1.0 (dein-character-name)"
}

Опционально с секретным ключом (только для конфиденциальных приложений):

{
  "clientId": "deine-client-id",
  "secretKey": "dein-secret-key",
  "callbackUrl": "http://localhost:8834/callback",
  "userAgent": "eve-mcp-companion/1.0 (dein-character-name)"
}

Альтернативно через переменные окружения:

export EVE_MCP_CLIENT_ID="deine-client-id"
export EVE_MCP_CALLBACK_URL="http://localhost:8834/callback"
export EVE_MCP_USER_AGENT="eve-mcp-companion/1.0"

4. Интеграция с Claude Code

Добавьте MCP-сервер в настройки Claude Code.

Вариант А — settings.json (рекомендуется):

Файл: ~/.claude/settings.json

{
  "mcpServers": {
    "eve-online": {
      "command": "node",
      "args": ["/absoluter/pfad/zu/eve/dist/index.js"],
      "env": {
        "EVE_MCP_TOKEN_PASSPHRASE": "ein-sicheres-passwort"
      }
    }
  }
}

Вариант Б — область проекта (.mcp.json в директории проекта):

{
  "mcpServers": {
    "eve-online": {
      "command": "node",
      "args": ["./dist/index.js"],
      "env": {
        "EVE_MCP_TOKEN_PASSPHRASE": "ein-sicheres-passwort"
      }
    }
  }
}

5. Первый вход

Запустите Claude Code и скажите:

"Подключи меня к EVE Online"

Claude вызовет eve_auth_start и запустит локальный сервер авторизации. Откройте http://localhost:8834 в браузере — там появится страница входа в стиле EVE. Нажмите "Authenticate via EVE SSO", войдите через CCP, и вы будете перенаправлены на страницу успеха с портретом вашего персонажа. Закройте окно, готово.


Архитектура

eve/
├── src/
│   ├── index.ts                 # Server-Entry, registriert alle Tools
│   ├── config.ts                # Laedt ~/.eve-mcp/config.json
│   ├── auth/
│   │   ├── scopes.ts            # ESI Scope-Definitionen
│   │   ├── sso.ts               # OAuth2 PKCE Flow, Callback-Server
│   │   ├── tokens.ts            # Token-Persistence (AES-256-GCM)
│   │   └── pages.ts             # HTML-Seiten fuer Auth-Flow
│   ├── clients/
│   │   ├── esi.ts               # ESI API Client (Auth, Rate-Limiting, Cache)
│   │   ├── zkillboard.ts        # zKillboard Client (10 req/s Throttle)
│   │   ├── evetycoon.ts         # EVE Tycoon Markt-Client
│   │   └── wiki.ts              # EVE University Wiki (MediaWiki API)
│   ├── tools/
│   │   ├── auth.ts              # Login, Status
│   │   ├── character.ts         # Character Info, Skills, Queue, Implants
│   │   ├── location.ts          # Location, Route, Autopilot
│   │   ├── fitting.ts           # Fittings, EFT, Analyse
│   │   ├── universe.ts          # Type Info, System Info, Search
│   │   ├── market.ts            # Preise, Appraisal, Orders
│   │   ├── killboard.ts         # Character/Corp/System Intel, Killmails
│   │   ├── assets.ts            # Assets, Wallet
│   │   ├── wiki.ts              # Wiki Search, Article
│   │   └── fleet.ts             # Fleet Info
│   └── utils/
│       ├── cache.ts             # In-Memory Cache mit TTL
│       ├── errors.ts            # Error-Klassen + formatToolError()
│       ├── formatting.ts        # ISK, Zeit, EVE-Time Formatierung
│       ├── eft.ts               # EFT-Format Parser + Generator
│       └── sde.ts               # Type/System Name-Resolution (ESI-backed)
├── package.json
├── tsconfig.json
└── README.md

API-клиенты

Клиент

Базовый URL

Авторизация

Лимит запросов

Кэш

ESI

esi.evetech.net/latest

OAuth2 Bearer

Заголовок Error-Limit

Заголовок Expires + custom TTL

zKillboard

zkillboard.com/api

нет

10 зап./сек

10 минут

EVE Tycoon

evetycoon.com/api/v1

нет

Заголовок Expires

5 минут

Wiki

wiki.eveuniversity.org/api.php

нет

нет

1 час

Кэширование

Все ответы API кэшируются в оперативной памяти:

Тип данных

TTL

Местоположение / Корабль / Статус

30 секунд

Баланс кошелька

2 минуты

Очередь навыков

5 минут

Рыночные цены / Ордера

5 минут

Статистика zKillboard

10 минут

Активы

30 минут

Навыки персонажа

1 час

Статьи вики

1 час

Информация о типах / системах

24 часа

Разрешение имен в ID

24 часа

ESI Rate-Limiting

Клиент ESI отслеживает заголовки X-ESI-Error-Limit-Remain и X-ESI-Error-Limit-Reset. Если лимит ошибок падает ниже 20, запросы блокируются до сброса. Ошибки 420 (Error Limit) выбрасываются как RateLimitError.

Безопасность токенов

  • Токены сохраняются в ~/.eve-mcp/tokens.json

  • Если установлена EVE_MCP_TOKEN_PASSPHRASE: шифрование AES-256-GCM с использованием scrypt для генерации ключа

  • Без парольной фразы: сохранение в открытом виде (с предупреждением в stderr)

  • Токен доступа автоматически обновляется за 2 минуты до истечения срока действия

  • Токен обновления (refresh token) обновляется при каждом обновлении (шаблон PKCE volatile token)


Разработка

# Dev-Mode (tsx, kein Build noetig)
npm run dev

# Build
npm run build

# Ausfuehren
npm start

Добавление нового инструмента

  1. Добавьте обработчик в соответствующий файл в src/tools/

  2. Используйте паттерн server.tool(name, description, zodSchema, handler)

  3. Всегда возвращайте ошибки через formatToolError(err)

  4. Вызывайте ESI через esi.get() / esi.publicGet() с соответствующим TTL кэша

  5. Разрешайте ID типов через resolveTypeName() / resolveTypeId()

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

"Config not found" — создайте ~/.eve-mcp/config.json или установите EVE_MCP_CLIENT_ID.

"Authentication required" — вызовите eve_auth_login или eve_auth_start.

"Token refresh failed" — срок действия токена обновления истек. Войдите снова.

"ESI error limit reached" — слишком много ошибочных запросов. Ожидание происходит автоматически.

Порт 8834 занят — установите другой порт в config.json и обновите Callback URL в настройках CCP.

Install Server
F
license - not found
A
quality
Not graded
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence

View all MCP Connectors

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/32n1/eveMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server