EVE在线市场MCP服务器
 ](https://smithery.ai/server/@kongyo2/eve-online-mcp)
这个MCP服务器EVE Online中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。ESI(EVE Swagger Interface)API中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
认证和速率限制
此服务器当前仅获取公共市场数据ESI不需要认证。但有以下限制和规范:
- 汇率限制
- ESI有每分钟的错误限制 - 服务器自动监视速率限制,如果达到限制则返回错误 - 页眉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中描述的相应参数的值
机能
服务器提供以下三个主要功能:
- 获取市场价格 (
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)
- 获取特定结构中特定项目类型的所有市场订单 - 可以进行更详细的市场分析
安装,安装
通过Smithery安装
通过以下方式自动安装克劳德桌面版eve在线mcp 史密瑟里:
npx -y @smithery/cli install @kongyo2/eve-online-mcp --client claude- 安装从属软件包:
npm install- 项目构建:
npm run build- 启动服务器:
npm startVS 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在线开发者门户在中注册应用程序
- 请求以下范围:
- esi-markets.structure_markets.v1 - esi-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的响应在服务器端缓存 - 高速缓存期间因端点而异 - 可以在响应标题中查看缓存信息
