SuperAPI AI 工具集

mcp_weather_server

mcp_weather_server 是一个基于 Model Context Protocol (MCP) 的服务器,通过 Open-Meteo API 提供天气、空气质量与时间相关功能。它支持多种传输模式:标准 stdio(适用于 Claude Desktop 等桌面客户端)、HTTP SSE(适用于 Web 应用)以及新的 Streamable HTTP 协议(支持有状态/无状态),并集成 Starlette 提供的 RESTful API 端点。无需 API 密钥,使用免费开源的 Open-Meteo API。主要工具包括获取当前天气、按日期范围获取每小时天气详情、获取详细天气 JSON、获取空气质量及详细数据、获取当前时间、获取时区信息以及时间转换。可通过 pip 安装、Smithery 自动安装或 Docker 部署,适用于需要将实时天气和空气质量数据集成到 AI 助手或 Web 应用中的场景。

访问官网

工具介绍

用途

mcp_weather_server 是一个 Model Context Protocol (MCP) 服务器,用于从 Open-Meteo API 获取天气、空气质量及时间信息。它设计为可被 MCP 客户端(如 Claude Desktop)或 Web 应用调用,以提供实时的天气与环境数据。

主要能力

  • 天气信息:获取当前天气的综合指标,包括温度、湿度、露点、风速、风向、阵风、降水(雨/雪)及概率、大气压、云量、紫外线指数、能见度、“体感”温度、日出日落时间(当地时间)。
  • 按日期范围查询:获取指定日期范围内的每小时天气详情,包括温度趋势、降水模式、风况评估、紫外线趋势、天气警告与建议等。
  • 详细天气数据:以结构化 JSON 返回程序化使用的详细天气信息。
  • 空气质量:获取 PM2.5、PM10、臭氧、二氧化氮、一氧化碳、二氧化硫、氨、沙尘、气溶胶光学厚度等污染物数据,附带空气质量分类(优/中等/不健康/危险)、健康建议及与 WHO、EPA 标准的对比。
  • 时间与时区:获取任意时区的当前日期时间、时区信息,以及在不同时区之间转换时间。
  • 传输模式:支持 stdio(标准 MCP,桌面客户端)、SSE(Server-Sent Events,Web 应用)、streamable-http(现代 MCP Streamable HTTP 协议,支持有状态/无状态),并可通过 Starlette 提供 RESTful API 端点。

使用方式

  • 安装:可通过 pip 安装,或通过 Smithery 自动安装(适用于 Claude Desktop 等 MCP 客户端)。手动配置需在客户端的 cline_mcp_settings.json 中添加服务器配置。HTTP 模式需额外安装依赖(starlette、uvicorn)。
  • 运行:默认以 stdio 模式运行;SSE 模式使用 python -m mcp_weather_server --mode sse,端点为 http://localhost:8080/sse 和 http://localhost:8080/messages/;Streamable HTTP 模式使用 python -m mcp_weather_server --mode streamable-http,端点为 http://localhost:8080/mcp。
  • Docker 部署:提供 Docker Hub 镜像 dog830228/mcp_weather_server:latest 或版本化标签,也可从源码构建。
  • 可用工具:get_current_weather、get_weather_by_datetime_range、get_weather_details、get_air_quality、get_air_quality_details、get_current_datetime、get_timezone_info、convert_time。

适用场景

  • 将天气与空气质量数据集成到 AI 助手或聊天机器人中。
  • 在 Web 应用中通过 SSE 或 Streamable HTTP 实时获取环境信息。
  • 需要按时间范围分析天气趋势或空气质量变化的应用。
  • 时间与时区转换相关的工具需求。

限制

  • 城市名称仅支持英文,可能需要包含国家(如 "Paris, France")。
  • 日期格式必须为 ISO 8601(YYYY-MM-DD),且 start_date 需早于 end_date。
  • HTTP 模式需确保依赖安装、端口未被防火墙阻止,并验证端点正确。
  • 服务器本身不需要 API 密钥,但依赖 Open-Meteo API 的可用性。
  • 部分错误响应为结构化错误消息,需注意处理。