EVE MCP服务器

A. 模型上下文协议(MCP) 服务器 EVE Online的ESI API,用C#构建。网10。
此服务器公开 52个MCP工具 覆盖公共ESI端点,使AI助手(Claude、Copilot等)能够查询EVE Online数据——地区、市场订单、killmails、主权、行业等。
特性
- 52个MCP工具 跨越6个领域
- ESI最佳实践:用户代理标头、ETag缓存(如果无匹配/304)、速率限制跟踪、错误限制限制、429重试并重试后、5xx优雅降级
- 干净的建筑:基础设施→ 模型→ 服务→ Tools
- 标准运输 与MCP兼容客户端无缝集成
工具域
| 域 | 工具 | 示例 |
|---|---|---|
| 宇宙 | 20 | 区域、星座、太阳系、恒星、空间站、星际之门、行星、卫星、类型、群体、类别、派系、种族、血统、祖先、系统跳跃/杀死 |
| 市场 | 6 | 价格、按地区/类型的订单、历史、市场组、地区类型 |
| 角色 | 6 | 角色/公司/联盟公开信息、隶属关系 |
| 搜索 | 2 | 名称→ ID分辨率,ID→ 名称解析 |
| 游戏玩法 | 8 | 服务器状态、杀戮、战争、战争杀戮、入侵、保险 |
| 基础设施 | 10 | 路线、行业设施/系统、主权地图/结构、教条属性/效果、忠诚度商店优惠 |
项目结构
eve-mcp-server/
├── Infrastructure/
│ ├── EsiClient.cs # Central HTTP client (caching, rate limits, retries)
│ └── EsiClientOptions.cs # ESI configuration (base URL, User-Agent, datasource)
├── Models/
│ ├── UniverseModels.cs # Region, Constellation, SolarSystem, EveType, etc.
│ ├── MarketModels.cs # MarketOrder, MarketPrice, MarketHistory, etc.
│ ├── CharacterModels.cs # CharacterPublicInfo, CorporationPublicInfo, etc.
│ ├── SearchModels.cs # UniverseIdsResult, UniverseName
│ ├── GameplayModels.cs # ServerStatus, Killmail, War, Incursion
│ └── InfrastructureModels.cs # RouteResult, IndustryFacility, SovereigntyMap, etc.
├── Services/
│ ├── UniverseService.cs
│ ├── MarketService.cs
│ ├── CharacterService.cs
│ ├── SearchService.cs
│ ├── GameplayService.cs
│ └── InfrastructureService.cs
├── Tools/
│ ├── UniverseTools.cs
│ ├── MarketTools.cs
│ ├── CharacterTools.cs
│ ├── SearchTools.cs
│ ├── GameplayTools.cs
│ └── InfrastructureTools.cs
└── Program.cs # Host setup, DI, MCP server bootstrap先决条件
- .NET 10 SDK 或以后
构建与运行
dotnet build
dotnet run --project eve-mcp-server测试
dotnet testMCP客户端配置
克劳德桌面/VS代码
添加到MCP设置(claude_desktop_config.json 或VS代码MCP设置):
{
"mcpServers": {
"eve-online": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/eve-mcp-server/eve-mcp-server"]
}
}
}使用编译的二进制文件
{
"mcpServers": {
"eve-online": {
"command": "/path/to/eve-mcp-server/eve-mcp-server/bin/Debug/net10.0/eve-mcp-server"
}
}
}ESI最佳实践
此服务器遵循 EVE ESI最佳实践:
- 用户代理:每个请求包括
eve-mcp-server/1.0.0识别应用程序 - ETag缓存:响应与ETags一起缓存;后续请求使用
If-None-Match获得304个响应(1个令牌成本而不是2个) - 误差限:曲目
X-ESI-Error-Limit-Remain并在接近100错误/分钟限制时暂停请求 - 速率限制:监视器
X-Ratelimit-Remaining每个bucket组,并在运行不足时记录警告 - 429处理:之后自动重试
Retry-After延迟 - 5xx处理:记录错误并优雅地返回(没有错误限制惩罚)
许可证
麻省理工学院
