Eurus ERA5 MCP 服务器

使用说明(Markdown):

  • 项目简介
    • Eurus 是一个面向气候数据分析的 MCP 服务器实现,提供数据检索、工具执行、分析指南与提示模板等能力,支持与 LLM 客户端通过 MCP 协议进行对话式上下文服务。
  • 主要功能点
    • 资源与数据管理:缓存 ERA5 数据、管理数据集元数据(路径、大小、时间范围、区域信息等)。
    • 工具注册与执行:提供 ERA5 数据检索、海上航线计算、分析指南等工具,LLM client 可以通过 MCP 调用这些工具并获得结果。
    • 提示模板与系统提示:内置系统提示(AGENT_SYSTEM_PROMPT)及分析工作流指南,帮助 LLM 客户端建立一致的交互模式。
    • 多传输与会话管理:通过 stdio/SSE/WebSocket 等传输,维持会话上下文与能力声明,支持多会话并发。
    • JSON-RPC 风格通信:实现 MCP 的核心请求/响应逻辑,工具调用、查询、数据导出等均以 JSON-RPC 形式处理和返回。
  • 安装与运行
    • 该服务器以 Python 为核心 runtype,运行前需设置 API KEY、数据存储与内存目录等环境变量。
    • 启动方式(示意性描述,不给出具体命令,以便 MCP 客户端理解配置关系):
      • 直接运行 Python 模块 eurus.server,以标准输入输出方式作为 MCP 传输入口。
      • 也可通过 Claude Desktop/IDE 的 MCP 配置来接入,客户端通过 JSON 配置与服务器建立连接。
  • 服务器配置(MCP 客户端使用的最小配置示例描述,非代码块)
    • 服务器名称:eurus
    • 启动命令(command):python
    • 启动参数(args):[-m, eurus.server]
    • 环境变量(env)示例:
      • ARRAYLAKE_API_KEY: 您的 Arraylake API Key
      • OPENAI_API_KEY: 可选,若通过 OpenAI API 调用模型时需要
      • PYTHONPATH: 服务器源码位置的绝对路径,指向 src 目录 以上字段用于 MCP 客户端在创建服务实例时的参数绑定,确保客户端能够通过标准化的方式启动并与服务器通信。
  • 基本使用方法
    • 客户端需要提供服务器名称、启动命令及参数以建立连接(如 Claude Desktop 的配置 JSON)。
    • 启动后,客户端可通过 MCP 的 JSON-RPC 请求读取资源、执行工具、获取 Prompts 等,服务器返回标准化的 JSON-RPC 响应或通知。
    • 服务器提供会话管理与能力声明,多个会话可并发运行,支持异步工具调用和流式响应(如进度、片段、媒体输出等)。
  • 相关参考与扩展
    • 服务器实现位于 src/eurus/server.py,提供 list_tools、call_tool、以及基于 stdio 的 MCP 服务入口。
    • 附带前端与 API 的实现(WebSocket/Ajax),便于将 MCP 服务整合到多种前端场景。

服务器信息