Skip to main content
Glama

eve-online-mcp

README.md8.01 kB
# EVE Online Market MCP Server [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/kongyo2/eve-online-mcp) [![smithery badge](https://smithery.ai/badge/@kongyo2/eve-online-mcp)](https://smithery.ai/server/@kongyo2/eve-online-mcp) このMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。 <a href="https://glama.ai/mcp/servers/@kongyo2/eve-online-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@kongyo2/eve-online-mcp/badge" alt="eve-online-mcp MCP server" /> </a> ## 認証とレート制限 このサーバーは現在、パブリックなマーケットデータのみを取得するため、ESI認証は必要ありません。ただし、以下の制限と仕様があります: 1. **レート制限** - ESIには1分あたりのエラー制限があります - サーバーは自動的にレート制限を監視し、制限に達した場合はエラーを返します - ヘッダー`x-esi-error-limit-remain`と`x-esi-error-limit-reset`で制限状態を確認できます 2. **ユーザーエージェント** - ESIの推奨事項に従い、適切なユーザーエージェントを設定しています - 形式: `eve-online-mcp/1.0 (github.com/your-username/eve-online-mcp)` 3. **エラーハンドリング** - APIエラーは適切にキャプチャされ、わかりやすいメッセージとして返されます - ESIからのエラー詳細情報も含まれます ## 機能 サーバーは以下の3つの主要な機能を提供します: 1. **市場価格の取得** (`get-market-prices`) - EVE Online内のすべてのアイテムの調整価格と平均価格を取得 - 返り値には `type_id`、`adjusted_price`、`average_price` が含まれます 2. **市場注文の取得** (`get-market-orders`) - 特定のリージョンの市場注文を取得 - オプションで特定のアイテムタイプやオーダータイプ(買い/売り)でフィルタリング可能 - 各注文には価格、数量、場所などの情報が含まれます 3. **市場履歴の取得** (`get-market-history`) - 特定のリージョンの特定のアイテムの市場履歴を取得 - 日ごとの最高価格、最低価格、平均価格、取引量などを取得可能 4. **グループ化された市場データの取得** (`get-market-groups`) - 特定のリージョンと特定のアイテムタイプのグループ化された市場データを取得 - 買い注文と売り注文それぞれの統計情報(平均価格、最高/最低価格、取引量など)を提供 5. **構造体の市場注文取得** (`get-structure-orders`) - 特定の構造体(ステーション、シタデルなど)の全市場注文を取得 - ページネーション対応で大量のデータを効率的に取得可能 6. **地域の取引所統計取得** (`get-market-stats`) - 特定の地域の市場統計情報を取得 - 取引量、価格トレンド、市場活性度などの指標を提供 7. **構造体の特定アイテム注文取得** (`get-structure-type-orders`) - 特定の構造体における特定のアイテムタイプの全市場注文を取得 - より詳細な市場分析が可能 ## セットアップ ### Installing via Smithery To install eve-online-mcp for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kongyo2/eve-online-mcp): ```bash npx -y @smithery/cli install @kongyo2/eve-online-mcp --client claude ``` 1. 依存パッケージのインストール: ```bash npm install ``` 2. プロジェクトのビルド: ```bash npm run build ``` 3. サーバーの起動: ```bash npm start ``` ## VS Code統合 このプロジェクトはVS Code用の設定が含まれています: - `.vscode/settings.json`: MCPサーバーの設定 - `.vscode/tasks.json`: ビルドと実行用のタスク 以下のタスクが利用可能です: - "Build EVE Online Market MCP Server": プロジェクトをビルド - "Run EVE Online Market MCP Server": MCPサーバーを起動 ## 使用例 1. 市場価格の取得: ```typescript // すべてのアイテムの価格を取得 const prices = await callTool("get-market-prices"); ``` 2. 市場注文の取得: ```typescript // The Forge(リージョンID: 10000002)のTritanium(タイプID: 34)の注文を取得 const orders = await callTool("get-market-orders", { region_id: 10000002, type_id: 34, order_type: "all" }); ``` 3. 市場履歴の取得: ```typescript // The ForgeのTritaniumの市場履歴を取得 const history = await callTool("get-market-history", { region_id: 10000002, type_id: 34 }); ``` 4. グループ化された市場データの取得: ```typescript // The ForgeのTritaniumのグループ化された市場データを取得 const marketGroups = await callTool("get-market-groups", { region_id: 10000002, type_id: 34 }); ``` 5. 構造体の市場注文取得: ```typescript // 構造体ID: 1234567890 の全市場注文を取得 const structureOrders = await callTool("get-structure-orders", { structure_id: 1234567890, page: 1 }); ``` 6. 地域の取引所統計取得: ```typescript // The Forgeの市場統計情報を取得 const marketStats = await callTool("get-market-stats", { region_id: 10000002 }); ``` 7. 構造体の特定アイテム注文取得: ```typescript // 構造体ID: 1234567890 におけるTritaniumの全市場注文を取得 const typeOrders = await callTool("get-structure-type-orders", { structure_id: 1234567890, type_id: 34, page: 1 }); ``` ## 認証設定 ## EVE Online SSO設定 1. [EVE Online Developers Portal](https://developers.eveonline.com/)でアプリケーションを登録 2. 以下のスコープを要求: - `esi-markets.structure_markets.v1` - `esi-markets.read_character_orders.v1` 3. 取得したクライアントIDとシークレットを`.env`ファイルに設定: ```bash cp .env.example .env # .envファイルを編集して認証情報を設定 ``` ## 認証フロー 1. 認証URLの取得: ```typescript const authUrlResponse = await callTool("get-auth-url", { state: "unique-state-string" }); // ユーザーをauthUrlResponseのURLにリダイレクト ``` 2. 認証コードの交換: ```typescript const authResponse = await callTool("authenticate", { code: "authorization-code-from-callback" }); // 返されたトークンを保存 ``` 3. トークンの更新: ```typescript const refreshResponse = await callTool("refresh-token", { refresh_token: "saved-refresh-token" }); // 新しいトークンで更新 ``` ## 構造体アクセス 認証が必要な構造体のマーケットデータにアクセスする場合: 1. 適切なスコープを持つトークンを取得 2. makeESIRequestの呼び出し時にトークンを指定: ```typescript const structureOrders = await callTool("get-structure-orders", { structure_id: 1234567890, page: 1, token: "your-access-token" }); ``` ## 注意事項 1. **構造体関連のエンドポイント** - 構造体関連のエンドポイントにアクセスするには、適切な権限を持つESIトークンが必要です - アクセス権のない構造体のデータは取得できません 2. **ページネーション** - 大量のデータを返すエンドポイントはページネーションを使用します - `page`パラメータで特定のページを指定できます(1から開始) 3. **キャッシュ** - ESIのレスポンスはサーバー側でキャッシュされます - キャッシュ期間はエンドポイントによって異なります - キャッシュ情報はレスポンスヘッダーで確認できます

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/kongyo2/eve-online-mcp'

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