此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://gips3.baidu.com/it/u=2523299726,1970029962&fm=3081&app=3081&f=PNG?w=760&h=400" alt="eve-online-mcp MCP server" /> </a>此服务器目前仅用于获取公共市场数据,因此不需要ESI认证。但是,以下限制和规范适用:
速率限制
x-esi-error-limit-remain和x-esi-error-limit-reset来检查限制状态用户代理
eve-online-mcp/1.0 (github.com/your-username/eve-online-mcp)错误处理
服务器提供以下三个主要功能:
获取市场价格 (get-market-prices)
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-online-mcp到Claude Desktop:
npx -y @smithery/cli install @kongyo2/eve-online-mcp --client claude
安装依赖包:
npm install
构建项目:
npm run build
启动服务器:
npm start
此项目包含了VS Code的设置:
.vscode/settings.json: MCP服务器的设置.vscode/tasks.json: 构建和运行任务可用的任务包括:
// 获取所有物品的价格
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 Developers Portal注册应用程序
请求以下范围:
esi-markets.structure_markets.v1esi-markets.read_character_orders.v1将获得的客户端ID和密钥设置在.env文件中:
cp .env.example .env
# 编辑.env文件并设置认证信息
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"
});
// 使用新令牌更新
需要认证才能访问结构体的市场数据时:
const structureOrders = await callTool("get-structure-orders", {
structure_id: 1234567890,
page: 1,
token: "your-access-token"
});
结构体相关端点
分页
page参数指定特定页面(从1开始)缓存