Skip to main content
Glama
32n1

EVE Online Companion MCP Server

by 32n1

EVE Online Companion — MCP 서버

개인 EVE Online Companion 역할을 하는 Claude Code용 MCP(Model Context Protocol) 서버입니다. Claude에게 캐릭터 데이터, 시장 가격, 킬보드 정보, 위키 지식 등에 대한 직접적인 액세스를 제공하며, 이 모든 것을 자연어로 처리할 수 있습니다.

주요 기능

"Ishtar를 조종할 수 있나요?" — 스킬을 확인하고 부족한 스킬과 훈련 시간을 보여줍니다.

"Jita에서 Warp Disruptor II 가격이 얼마인가요?" — ESI에서 실시간 시장 데이터를 가져옵니다.

"파일럿 XY는 얼마나 위험한가요?" — zKillboard 통계, 위험 등급, 주요 함선 정보를 확인합니다.

"Vexor 피팅을 보여줘" — 저장된 피팅을 EFT 형식으로 나열합니다.

"웜홀 메커니즘을 설명해줘" — EVE University 위키를 검색합니다.

29개의 모든 도구

카테고리

도구

설명

인증

eve_auth_login

SSO 로그인 (콜백까지 차단)

eve_auth_start

SSO 로그인 (비차단, localhost:8834 열기)

eve_auth_status

인증 상태 + 캐릭터 정보

캐릭터

eve_character_info

이름, 기업, 연합, 지갑, SP, 위치, 함선

eve_character_skills

그룹 또는 이름별 스킬 필터링

eve_character_skillqueue

시간 정보가 포함된 현재 스킬 큐

eve_character_implants

장착된 임플란트

위치

eve_location_current

성계, 스테이션, 함선, 온라인 상태

eve_route_plan

경로 계산 (최단/안전/위험)

eve_set_destination

게임 내 자동항법 목적지 설정

피팅

eve_fitting_list

저장된 피팅 (EFT 형식)

eve_fitting_save

EFT 문자열에서 피팅 저장

eve_fitting_analyze

피팅 분석 (탱킹, DPS, 캡 — Dogma 기반)

시장

eve_market_price

가격 확인 (기본 Jita, 다른 지역 가능)

eve_market_appraise

아이템 목록 평가 (게임 내 복사/붙여넣기)

eve_market_orders

본인의 활성 구매/판매 주문

인텔

eve_intel_character

파일럿 인텔: 기업, 킬, 위험 등급, 주요 함선

eve_intel_corporation

기업 인텔: 멤버, 연합, 킬보드 통계

eve_intel_system

성계 인텔: 킬, 점프, NPC 킬, 랫팅

eve_killmail_analyze

킬메일 분석: 피팅, 공격자, 피해량

자산

eve_assets_search

이름/유형별 자산 검색

eve_wallet_balance

지갑 잔액

eve_wallet_journal

최근 지갑 기록

유니버스

eve_type_info

Dogma 속성이 포함된 아이템/함선 상세 정보

eve_system_info

성계 상세 정보: 보안 등급, 지역, 스테이션

eve_search

통합 검색 (캐릭터, 기업, 성계, 아이템)

위키

eve_wiki_search

EVE University 위키 검색

eve_wiki_article

위키 문서 읽기 (Markdown 형식)

함대

eve_fleet_info

함대 상태 (함대 소속 시)


설정

1. EVE 개발자 애플리케이션

  1. https://developers.eveonline.com/ 접속

  2. "Create New Application" 클릭

  3. Application Type: Authentication & API Access

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

  5. 아래 목록에서 모든 스코프 선택

  6. Client ID 기록 (Secret Key는 선택 사항, 기밀 앱인 경우에만 필요)

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

Secret Key 사용 시 (기밀 앱인 경우):

{
  "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 통합

Claude Code 설정에 MCP 서버를 추가합니다.

옵션 A — 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"
      }
    }
  }
}

옵션 B — 프로젝트 범위 (프로젝트 디렉토리의 .mcp.json):

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

5. 첫 로그인

Claude Code를 시작하고 다음과 같이 입력합니다:

"Verbinde mich mit EVE Online" (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-헤더 + 사용자 정의 TTL

zKillboard

zkillboard.com/api

없음

10 req/s

10분

EVE Tycoon

evetycoon.com/api/v1

없음

Expires-헤더

5분

위키

wiki.eveuniversity.org/api.php

없음

없음

1시간

캐싱

모든 API 응답은 메모리에 캐시됩니다:

데이터 유형

TTL

위치 / 함선 / 온라인

30초

지갑 잔액

2분

스킬 큐

5분

시장 가격 / 주문

5분

zKillboard 통계

10분

자산

30분

캐릭터 스킬

1시간

위키 문서

1시간

유형 정보 / 성계 정보

24시간

이름-ID 변환

24시간

ESI 속도 제한

ESI 클라이언트는 X-ESI-Error-Limit-RemainX-ESI-Error-Limit-Reset 헤더를 추적합니다. 오류 제한이 20 미만으로 떨어지면 재설정될 때까지 요청이 차단됩니다. 420 오류(오류 제한)는 RateLimitError로 발생합니다.

토큰 보안

  • 토큰은 ~/.eve-mcp/tokens.json에 저장됩니다.

  • EVE_MCP_TOKEN_PASSPHRASE가 설정된 경우: scrypt 키 파생을 사용한 AES-256-GCM 암호화

  • 암호문이 없는 경우: 일반 텍스트 저장 (stderr에 경고 표시)

  • 액세스 토큰은 만료 2분 전에 자동으로 갱신됩니다.

  • 리프레시 토큰은 갱신할 때마다 새로 고쳐집니다 (PKCE 휘발성 토큰 패턴).


개발

# 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 호출은 적절한 캐시 TTL과 함께 esi.get() / esi.publicGet() 사용

  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에서 다른 포트를 설정하고 CCP에서 콜백 URL을 수정하세요.

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