🚀 EVE Online Traffic MCP Server
このプロジェクトは、EVE Onlineのトラフィック、ナビゲーション、システム情報に関する包括的なModel Context Protocol (MCP)サーバーです。公式のESI APIとSDEデータの両方を利用しています。


⚠️ 重要提示
このプロジェクトは現在ベータ開発中です。機能が不完全、不安定、または大幅な変更の対象となる可能性があります。自己責任で使用し、将来のアップデートで重大な変更があることを想定してください。
🚀 クイックスタート
このEVE Online Traffic MCP Serverを使うことで、EVE Onlineの様々なデータにアクセスできます。以下のセクションでは、インストール方法、使用方法、利用可能なツールなどについて説明します。
✨ 主な機能
このMCPサーバーは、EVE Onlineのデータアクセスに関する包括的なツールを提供します。
名前とIDの変換
- 星系名からIDへの変換:ルート計算のために、星系名をIDに変換します。
- ステーション名からIDへの変換:目的地計画のために、ステーション名をIDに変換します。
- リージョン名からIDへの変換:地域分析のために、リージョン名をIDに変換します。
- 汎用名前からIDへの変換:EVE Onlineの任意のエンティティ名(星系、ステーション、リージョン、コーポレーション、アライアンスなど)をIDに変換します。
システム情報と分析
- 星系情報:ESIとSDEの両方のAPIから包括的なシステム情報を取得します。
- スターゲート情報:スターゲートの接続情報と詳細情報を取得します。
- システム接続マップ:システム間のスターゲートリンクを示す接続マップを生成します。
データソース
- ESI API:EVE Onlineの公式APIからのリアルタイムデータ。
- SDE API:包括的な宇宙情報のための静的データエクスポート。
- 自動名前解決:すべてのIDが自動的に名前に解決されます(例:"30000142 (Jita)")。
- データ統合:ESIとSDEのデータを統合して、最大限の情報カバレッジを提供します。
📦 インストール
Smitheryを使用したインストール
Smitheryを介して、Claude Desktop用のeve-online-traffic-mcpを自動的にインストールするには、以下のコマンドを実行します。
npx -y @smithery/cli install @kongyo2/eve-online-traffic-mcp --client claude
手動インストール
git clone https://github.com/kongyo2/eve-online-traffic-mcp.git
cd eve-online-traffic-mcp
npm install
💡 使用建议
高度な分析や複雑なEVE Onlineのクエリを行う場合、このサーバーとMCP Sequential Thinking Toolsを併用することをおすすめします。この組み合わせにより、構造化された思考プロセスを通じて、EVE Onlineのデータの高度な多段階分析、ルート計画、戦略的な意思決定が可能になります。
💻 使用例
開発モード
インタラクティブなCLIで開発モードでサーバーを起動します。
npm run dev
本番モード
本番環境でサーバーを起動します。
npm run start
ビルド
TypeScriptをJavaScriptにコンパイルします。
npm run build
利用上の注意
このMCPサーバーに接続されたLLMに指示を与える際には、EVE Onlineのエンティティ(星系、ステーション、リージョン、コーポレーションなど)の英語名を使用することをおすすめします。サーバーの名前解決システムは主に英語のエンティティ名を対象に設計されており、英語を使用することで、データ取得の精度と一貫性が向上します。
例:
- ✅ 使用例: "Jita", "Amarr", "The Forge"
- ❌ 避ける: 他の言語のローカライズされた名前
📚 ドキュメント
利用可能なツール
名前からIDへの変換ツール
solar_system_name_to_id
星系名をIDに変換します。
パラメータ:
systemNames: 星系名の配列(最大500)
例:
{
"systemNames": ["Jita", "Amarr", "Dodixie"]
}
station_name_to_id
ステーション名をIDに変換します。
パラメータ:
stationNames: ステーション名の配列(最大500)
region_name_to_id
リージョン名をIDに変換します。
パラメータ:
regionNames: リージョン名の配列(最大500)
universal_name_to_id
EVE Onlineの任意のエンティティ名をIDに変換します。
パラメータ:
サポートされるエンティティタイプ:
- 星系、ステーション、リージョン、星座
- コーポレーション、アライアンス、キャラクター、ファクション
- 在庫タイプ、エージェント
システム情報ツール
solar_system_info
ESIとSDEの両方のAPIから包括的な星系情報を取得します。
パラメータ:
systemIds: 星系IDの配列(最大100)
戻り値:
- システム名、セキュリティステータス、セキュリティクラス
- 星座とリージョン情報(名前付き)
- 3D座標、恒星情報
- スターゲート、ステーション、惑星(名前付き)
- データソース情報(ESI/SDE)
例:
{
"systemIds": [30000142, 30002187]
}
stargate_info
詳細なスターゲート情報と接続情報を取得します。
パラメータ:
stargateIds: スターゲートIDの配列(最大50)
戻り値:
- スターゲート名と位置
- ソースと目的地のシステム情報
- 名前付きの接続詳細
system_connection_map
システム間のスターゲートリンクを示す接続マップを生成します。
パラメータ:
戻り値:
- システムのセキュリティステータスと名前
- すべての外向きの接続(スターゲートペア)
- 目的地のシステム名
例:
{
"systemIds": [30000142]
}
ルート計算ツール
calculate_route
EVE Onlineの2つの星系間の最短ルートを計算します。
パラメータ:
origin: 出発地の星系名またはID
destination: 目的地の星系名またはID
flag: (オプション)shortest(デフォルト)、secure、またはinsecure
avoidSystems: (オプション)避けるシステム名またはIDの配列
例:
{
"origin": "Jita",
"destination": "Amarr",
"flag": "secure"
}
calculate_multiple_routes
1つの出発地から複数の目的地へのルートを計算します。
パラメータ:
origin: 出発地の星系名またはID
destinations: 目的地のシステム名またはIDの配列(最大20)
flag: (オプション)shortest(デフォルト)、secure、またはinsecure
avoidSystems: (オプション)避けるシステム名またはIDの配列
例:
{
"origin": "Jita",
"destinations": ["Amarr", "Dodixie", "Rens"],
}
find_systems_in_range
出発地のシステムから指定されたジャンプ範囲内のすべての星系を検索します。
パラメータ:
origin: 出発地の星系名またはID
maxJumps: 最大ジャンプ数(1-10)
flag: (オプション)shortest(デフォルト)、secure、またはinsecure
avoidSystems: (オプション)避けるシステム名またはIDの配列
例:
{
"origin": "Jita",
"maxJumps": 5
}
利用可能なプロンプト
eve-entity-lookup
EVE OnlineのエンティティとそのIDの概要を生成します。
eve-system-analysis
詳細なトラフィックデータを使用して、星系情報と接続を分析します。
出力例
星系情報
{
"success": true,
"results": [{
"system_id": 30000142,
"name": "Jita",
"constellation_id": 20000020,
"constellation_name": "Kimotoro",
"region_id": 10000002,
"region_name": "The Forge",
"security_status": 0.946,
"security_class": "B",
"stargates": [
"50001248 (Stargate (Perimeter))",
"50001249 (Stargate (Sobaseki))"
],
"stations": [
"60003760 (Jita IV - Moon 4 - Caldari Navy Assembly Plant)"
],
"source": {
"esi": true,
"sde": true
}
}]
}
システム接続マップ
{
"success": true,
"results": [{
"system_id": 30000142,
"system_name": "Jita",
"security_status": 0.946,
"connections": [{
"destination_system_id": 30000144,
"destination_system_name": "Perimeter",
"stargate_id": 50001248,
"stargate_name": "Stargate (Perimeter)",
"destination_stargate_id": 50000056,
"destination_stargate_name": "Stargate (Jita)"
}]
}]
}
APIリファレンス
このサーバーは、複数のEVE Online APIを使用しています。
ESI APIエンドポイント
POST /universe/ids/ - 名前をIDに変換します。
POST /universe/names/ - IDを名前に変換します。
GET /universe/systems/ - すべての星系IDを取得します。
GET /universe/systems/{system_id}/ - 星系情報を取得します。
GET /universe/stargates/{stargate_id}/ - スターゲート情報を取得します。
SDE APIエンドポイント
GET /universe/solarSystems - すべての星系IDを取得します。
GET /universe/solarSystems/{solarSystemID} - 星系情報を取得します。
GET /universe/stargates - すべてのスターゲートIDを取得します。
GET /universe/stargates/{stargateID} - スターゲート情報を取得します。
機能のまとめ
- 認証不要:すべてのエンドポイントが公開APIを使用しています。
- 自動名前解決:IDが自動的に人間が読みやすい名前に解決されます。
- データ統合:ESIのリアルタイムデータとSDEの静的データを統合しています。
- エラー耐性:1つのAPIソースが失敗しても、動作を続けます。
- バッチ処理:複数のリクエストを効率的に処理します。
- 包括的なテスト:すべての機能に対して完全なテストカバレッジがあります。
🔧 技術詳細
API依存関係
1. EVE Swagger Interface (ESI)
URL: https://esi.evetech.net/meta/openapi-3.0.json
ESIは、EVE Onlineの公式APIです。プレイヤーデータ、キャラクター情報、コーポレーション情報、マーケットデータなど、ゲーム内の様々な情報にアクセスできます。
2. Static Data Export (SDE) - Jita.Space
URL: https://sde.jita.space/latest/swagger.json
ベースURL: https://sde.jita.space/latest
SDE(Static Data Export)は、EVE Onlineのゲーム内静的データを提供するサードパーティAPIです。jita.spaceによって提供されており、アイテム情報、星系データ、NPC情報などの静的データにアクセスできます。
3. EVE-KILL API
URL: https://eve-kill.com/_openapi.json
ベースURL: https://eve-kill.com
EVE-KILLは、EVE Onlineのキルメール追跡と分析を行うモダンなアプリケーションです。アライアンス、キャラクター、コーポレーション、バトル、キルメール、キャンペーンなどの包括的なデータにアクセスできるAPIを提供しています。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、LICENSEファイルを参照してください。
コントリビュート方法
- リポジトリをフォークします。
- 機能ブランチを作成します。
- 変更を加えます。
- 新しい機能に対するテストを追加します。
npm run lint と npm run test を実行します。
- プルリクエストを送信します。
謝辞