天气微服务

一个基于Open-Meteo API的天气微服务,提供当前天气、短期每日摘要和小时预报功能。

  • by benedikt-mayer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 benedikt-mayer/weather-mcp-server

使用说明

天气MCP(开放气象)

该项目提供了一个MCP(微服务控制协议) weather 通过 openmeteo-requests 用于预测的Python客户端。

变化

  • 用Open Meteo取代国家气象局(NWS)的使用(https://api.open-meteo.com).
  • get_forecast(latitude, longitude) 现在使用Open Meteo客户端返回当前天气、简短的每日摘要(未来3天)和每小时预报(未来24小时)(如果可用)。
  • 如果响应中缺少小时块, get_forecast 将重试请求,最多为 3次 具有指数回退(默认值:1秒→ 2s) 在返回最后一个可用响应之前。
  • save_raw_forecast(latitude, longitude) 将带时间戳的文件保存在 data/ 并且包括诊断元数据报头,以帮助调查间歇性缺失的小时数据。

使用示例

  • 按坐标预测(慕尼黑): get_forecast(48.1351, 11.5820)
  • 密歇根州中部预测: get_forecast(44.3148, -85.6024)

在本地运行服务器:

python main.py

安装为可编辑包并使用 weather 控制台脚本:

python -m pip install -e .
weather --version  # prints package version
weather           # starts the MCP server (same as `python main.py`, serves HTTP at http://127.0.0.1:8000/mcp by default)

文档

  • 看 agents.md 有关公开的MCP工具、重试/诊断行为和调试提示的详细信息。
  • 看 CONTRIBUTING.md 用于本地开发设置、测试和linting说明。