Supports configuration of EVE Online SSO authentication settings through environment variables, enabling access to structure-related market endpoints that require authentication.
Interfaces with EVE Online's ESI (EVE Swagger Interface) API to retrieve real-time market data, including market prices, orders, history, and structure-specific market information.
Provides TypeScript-based interaction examples for all market data retrieval functions, with proper typing for parameters and response data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@eve-online-mcpget market prices for tritanium in The Forge region"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EVE Online Market MCP Server
このMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。
認証とレート制限
このサーバーは現在、パブリックなマーケットデータのみを取得するため、ESI認証は必要ありません。ただし、以下の制限と仕様があります:
レート制限
ESIには1分あたりのエラー制限があります
サーバーは自動的にレート制限を監視し、制限に達した場合はエラーを返します
ヘッダー
x-esi-error-limit-remainとx-esi-error-limit-resetで制限状態を確認できます
ユーザーエージェント
ESIの推奨事項に従い、適切なユーザーエージェントを設定しています
形式:
eve-online-mcp/1.0 (github.com/your-username/eve-online-mcp)
エラーハンドリング
APIエラーは適切にキャプチャされ、わかりやすいメッセージとして返されます
ESIからのエラー詳細情報も含まれます
Related MCP server: Edgee MCP Server
機能
サーバーは以下の3つの主要な機能を提供します:
市場価格の取得 (
get-market-prices)EVE Online内のすべてのアイテムの調整価格と平均価格を取得
返り値には
type_id、adjusted_price、average_priceが含まれます
市場注文の取得 (
get-market-orders)特定のリージョンの市場注文を取得
オプションで特定のアイテムタイプやオーダータイプ(買い/売り)でフィルタリング可能
各注文には価格、数量、場所などの情報が含まれます
市場履歴の取得 (
get-market-history)特定のリージョンの特定のアイテムの市場履歴を取得
日ごとの最高価格、最低価格、平均価格、取引量などを取得可能
グループ化された市場データの取得 (
get-market-groups)特定のリージョンと特定のアイテムタイプのグループ化された市場データを取得
買い注文と売り注文それぞれの統計情報(平均価格、最高/最低価格、取引量など)を提供
構造体の市場注文取得 (
get-structure-orders)特定の構造体(ステーション、シタデルなど)の全市場注文を取得
ページネーション対応で大量のデータを効率的に取得可能
地域の取引所統計取得 (
get-market-stats)特定の地域の市場統計情報を取得
取引量、価格トレンド、市場活性度などの指標を提供
構造体の特定アイテム注文取得 (
get-structure-type-orders)特定の構造体における特定のアイテムタイプの全市場注文を取得
より詳細な市場分析が可能
セットアップ
Installing via Smithery
To install eve-online-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kongyo2/eve-online-mcp --client claude依存パッケージのインストール:
npm installプロジェクトのビルド:
npm run buildサーバーの起動:
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サーバーを起動
使用例
市場価格の取得:
// すべてのアイテムの価格を取得
const prices = await callTool("get-market-prices");市場注文の取得:
// The Forge(リージョンID: 10000002)のTritanium(タイプID: 34)の注文を取得
const orders = await callTool("get-market-orders", {
region_id: 10000002,
type_id: 34,
order_type: "all"
});市場履歴の取得:
// The ForgeのTritaniumの市場履歴を取得
const history = await callTool("get-market-history", {
region_id: 10000002,
type_id: 34
});グループ化された市場データの取得:
// The ForgeのTritaniumのグループ化された市場データを取得
const marketGroups = await callTool("get-market-groups", {
region_id: 10000002,
type_id: 34
});構造体の市場注文取得:
// 構造体ID: 1234567890 の全市場注文を取得
const structureOrders = await callTool("get-structure-orders", {
structure_id: 1234567890,
page: 1
});地域の取引所統計取得:
// The Forgeの市場統計情報を取得
const marketStats = await callTool("get-market-stats", {
region_id: 10000002
});構造体の特定アイテム注文取得:
// 構造体ID: 1234567890 におけるTritaniumの全市場注文を取得
const typeOrders = await callTool("get-structure-type-orders", {
structure_id: 1234567890,
type_id: 34,
page: 1
});認証設定
EVE Online SSO設定
EVE Online Developers Portalでアプリケーションを登録
以下のスコープを要求:
esi-markets.structure_markets.v1esi-markets.read_character_orders.v1
取得したクライアントIDとシークレットを
.envファイルに設定:cp .env.example .env # .envファイルを編集して認証情報を設定
認証フロー
認証URLの取得:
const authUrlResponse = await callTool("get-auth-url", {
state: "unique-state-string"
});
// ユーザーをauthUrlResponseのURLにリダイレクト認証コードの交換:
const authResponse = await callTool("authenticate", {
code: "authorization-code-from-callback"
});
// 返されたトークンを保存トークンの更新:
const refreshResponse = await callTool("refresh-token", {
refresh_token: "saved-refresh-token"
});
// 新しいトークンで更新構造体アクセス
認証が必要な構造体のマーケットデータにアクセスする場合:
適切なスコープを持つトークンを取得
makeESIRequestの呼び出し時にトークンを指定:
const structureOrders = await callTool("get-structure-orders", {
structure_id: 1234567890,
page: 1,
token: "your-access-token"
});注意事項
構造体関連のエンドポイント
構造体関連のエンドポイントにアクセスするには、適切な権限を持つESIトークンが必要です
アクセス権のない構造体のデータは取得できません
ページネーション
大量のデータを返すエンドポイントはページネーションを使用します
pageパラメータで特定のページを指定できます(1から開始)
キャッシュ
ESIのレスポンスはサーバー側でキャッシュされます
キャッシュ期間はエンドポイントによって異なります
キャッシュ情報はレスポンスヘッダーで確認できます