Eve Online Traffic Mcp

Eve Online Traffic Mcp

🚀 EVE Online流量MCP服务器

这是一个全面的《星战前夜:晨曦》(EVE Online)流量、导航和系统信息的模型上下文协议(MCP)服务器,它结合了官方ESI API和SDE数据,为玩家提供了丰富的游戏数据访问工具。

🚀 快速开始

本项目目前处于测试开发阶段,功能可能不完整、不稳定或会有重大变更。请谨慎使用,并预计未来更新中可能会有重大变化。

✨ 主要特性

本MCP服务器为《星战前夜:晨曦》的数据访问提供了全面的工具:

名称与ID转换

  • 太阳系名称转ID:将太阳系名称转换为ID,用于路线计算。
  • 空间站名称转ID:将空间站名称转换为ID,用于目标规划。
  • 星域名称转ID:将星域名称转换为ID,用于区域分析。
  • 通用名称转ID:将任何《星战前夜:晨曦》的实体名称(如星系、空间站、星域、军团、联盟等)转换为ID。

系统信息与分析

  • 太阳系信息:从ESI和SDE API获取全面的系统信息。
  • 星门信息:获取星门连接和详细信息。
  • 系统连接地图:生成显示系统之间星门链接的连接地图。

数据源

  • ESI API:来自《星战前夜:晨曦》官方API的实时数据。
  • SDE API:用于获取全面宇宙信息的静态数据导出。
  • 自动名称解析:所有ID自动解析为名称(例如,“30000142 (吉他)”)。
  • 数据整合:结合ESI和SDE数据,以实现最大的信息覆盖。

📦 安装指南

通过Smithery安装

要通过Smithery为Claude桌面自动安装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

💻 使用示例

开发模式

使用交互式CLI在开发模式下启动服务器:

npm run dev

生产模式

启动服务器以供生产使用:

npm run start

构建

将TypeScript编译为JavaScript:

npm run build

基础用法

# 以开发模式启动服务器
npm run dev

高级用法

# 编译TypeScript代码
npm run build
# 启动生产模式服务器
npm run start

📚 详细文档

使用注意事项

LLM指令的语言建议

当向连接到此MCP服务器的大语言模型(LLM)提供指令时,建议使用《星战前夜:晨曦》实体(太阳系、空间站、星域、军团等)的英文名称,以获得最佳结果。服务器的名称解析系统主要围绕英文实体名称设计,使用英文可确保数据检索的更高准确性和一致性。 示例

  • ✅ 推荐使用:“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:将任何《星战前夜:晨曦》实体名称转换为其ID。
    • 参数
      • names:实体名称数组(最多500个)
    • 支持的实体类型
      • 太阳系、空间站、星域、星座
      • 军团、联盟、角色、阵营
      • 库存类型、代理人

系统信息工具

  • solar_system_info:从ESI和SDE API获取全面的太阳系信息。
    • 参数
      • systemIds:太阳系ID数组(最多100个)
    • 返回值
      • 系统名称、安全状态、安全等级
      • 星座和星域信息(包含名称)
      • 三维坐标、恒星信息
      • 星门、空间站、行星(包含名称)
      • 数据源信息(ESI/SDE)
    • 示例
{
"systemIds": [30000142, 30002187]
}
  • stargate_info:获取详细的星门信息和连接。
    • 参数
      • stargateIds:星门ID数组(最多50个)
    • 返回值
      • 星门名称和位置
      • 源系统和目标系统信息
      • 连接详细信息(包含名称)
  • system_connection_map:生成显示系统之间星门链接的连接地图。
    • 参数
      • systemIds:太阳系ID数组(最多50个)
    • 返回值
      • 系统安全状态和名称
      • 所有出站连接(包含星门对)
      • 目标系统名称
    • 示例
{
"systemIds": [30000142]
}

路线计算工具

  • calculate_route:计算《星战前夜:晨曦》中两个太阳系之间的最短路线。
    • 参数
      • origin:起始太阳系名称或ID
      • destination:目标太阳系名称或ID
      • flag:(可选)shortest(默认)、secureinsecure
      • avoidSystems:(可选)要避开的系统名称或ID数组
    • 示例
{
"origin": "Jita",
"destination": "Amarr",
"flag": "secure"
}
  • calculate_multiple_routes:计算从一个起始点到多个目标点的路线。
    • 参数
      • origin:起始太阳系名称或ID
      • destinations:目标系统名称或ID数组(最多20个)
      • flag:(可选)shortest(默认)、secureinsecure
      • avoidSystems:(可选)要避开的系统名称或ID数组
    • 示例
{
"origin": "Jita",
"destinations": ["Amarr", "Dodixie", "Rens"]
}
  • find_systems_in_range:查找从起始系统指定跳跃范围内的所有太阳系。
    • 参数
      • origin:起始太阳系名称或ID
      • maxJumps:最大跳跃次数(1 - 10)
      • flag:(可选)shortest(默认)、secureinsecure
      • avoidSystems:(可选)要避开的系统名称或ID数组
    • 示例
{
"origin": "Jita",
"maxJumps": 5
}

可用提示

  • eve-entity-lookup:生成《星战前夜:晨曦》实体及其ID的摘要。
  • eve-system-analysis:分析太阳系信息和连接,并提供详细的交通数据。

开发相关

测试

运行测试套件:

npm run test

代码检查

检查代码风格和格式:

npm run lint

代码格式化

自动格式化代码:

npm run format

示例输出

太阳系信息

{
"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参考

本服务器使用多个《星战前夜:晨曦》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静态数据相结合。
  • 错误恢复能力:即使一个API数据源失败,仍可继续运行。
  • 批量处理:高效处理多个请求。
  • 全面测试:对所有功能进行全面测试覆盖。

🔧 技术细节

API依赖

1. EVE Swagger Interface (ESI)

  • URL:https://esi.evetech.net/meta/openapi-3.0.json ESI是《星战前夜:晨曦》的官方API,可访问游戏内的各种信息,如玩家数据、角色信息、军团信息、市场数据等。

2. Static Data Export (SDE) - Jita.Space

  • URL:https://sde.jita.space/latest/swagger.json
  • 基础URL:https://sde.jita.space/latest SDE(静态数据导出)是一个由jita.space提供的第三方API,用于提供《星战前夜:晨曦》的游戏内静态数据,可访问物品信息、星系数据、NPC信息等静态数据。

3. EVE-KILL API

  • URL:https://eve-kill.com/_openapi.json
  • 基础URL:https://eve-kill.com EVE-KILL是一个用于《星战前夜:晨曦》击杀记录追踪和分析的现代应用程序,提供了一个API,可访问联盟、角色、军团、战斗、击杀记录、战役等全面数据。

推荐:MCP顺序思考工具

为了增强分析和复杂的《星战前夜:晨曦》查询能力,建议将此服务器与MCP顺序思考工具结合使用。这种组合允许通过结构化的思考过程对《星战前夜:晨曦》数据进行复杂的多步骤分析、路线规划和战略决策。

📄 许可证

本项目采用MIT许可证,详情请参阅LICENSE文件。

贡献指南

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 为新功能添加测试
  5. 运行npm run lintnpm run test
  6. 提交拉取请求

致谢

  • 0 关注
  • 0 收藏,33 浏览
  • system 提出于 2025-10-07 04:24

相似服务问题

相关AI产品