Open Meteo MCP Server (Java)

  • 项目简介
    • 该仓库实现了一个完整的 MCP 服务器框架,包含资源管理、工具注册与执行、以及提示模板的定义与渲染,旨在向大语言模型客户端提供标准化的上下文信息与功能访问。服务器通过 JSON-RPC/HTTP 形式对接客户端,并提供多协议传输能力(REST/SSE/Chat 等),实现会话管理、能力声明与扩展性设计。
  • 主要功能点
    • MCP 资源管理:暴露天气相关的资源数据,例如天气代码、参数、AQI 参考和 Swiss 地点等,便于 LLM 客户端在对话中查询与使用。
    • MCP 工具注册与执行:包含核心工具(如地理定位、天气、降雪与 AQI)和部分高级工具,提供统一的执行入口,LLM 可以通过 MCP Tool 调用外部能力。
    • Prompt 模板定义与渲染:提供 ski-trip-weather、plan-outdoor-activity、weather-aware-travel 等提示模板,支持参数化渲染和与工具的组合使用。
    • 安全与认证:内置 JWT/API Key 认证、基于角色的访问控制、CORS 及安全头部设置,满足 ADR-019 的安全与权限需求。
    • 会话与内存管理:支持内存服务实现(内存、Redis),用于保存会话、对话历史和消息,确保跨请求的上下文一致性。
    • Streaming 与 Chat 支持:实现基于 SSE 的数据流、天气与聊天流的接入点,便于 LLM 客户端进行持续对话与数据流获取。
    • 配置与扩展性:提供 Redis、WebClient 等配置,具备可扩展的工具/资源/提示注册能力,方便集成新的数据源与能力。
  • 安装与运行
    • 依赖环境:Java 25、Spring Boot 4.x、Maven 持续集成构建,必要时可通过 Docker 部署。
    • 典型执行:
      • 克隆仓库并构建:mvn clean install
      • 启动服务器:mvn spring-boot:run
      • 也可使用 Docker 构建并运行(若提供 Docker 配置)
  • 服务器配置(MCP 客户端必需)
    • server name: open-meteo
    • command: java
    • args: ["-jar", "/path/to/open-meteo-mcp-2.0.2.jar"]
    • 注释说明:这是 MCP 客户端连接到 MCP 服务器时,用来启动服务器实例的命令。实际路径应替换为你部署的 jar 文件路径。MCP 客户端仅需要该配置信息,用于建立与 MCP 服务器的通信。
  • 基本使用方法
    • 启动后,客户端可通过 MCP 提供的资源、工具与提示模板进行查询与调用(通过服务器暴露的端点)。
    • 使用测试与示例接口进行快速集成,例如 REST /sse /api/chat 入口,用于验证资源、工具和 Prompts 的集成效果。
    • 如需扩展,可接入 Redis 行为、增加新的工具/资源模板,并将其注册到 MCP 服务中以供 LLM 调用。

服务器信息