天气预测服务器

一个基于Open-Meteo API的MCP服务器,为AI助手提供全球天气预测和当前天气条件的接口。

  • by nprousalidis
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nprousalidis/Open-Meteo-MCP-Server

使用说明

Open-Meteo MCP 服务器

一个提供Open-Meteo API天气预报的模型上下文协议(MCP)服务器。

目的

这个MCP服务器提供了一个安全接口,供AI助手使用免费的Open-Meteo API,获取全球任何地点的天气预报和当前天气状况。

特点/特性

当前实施情况

  • get_7day_forecast - 获取全面的7天天气预报,包括最高/最低气温、降水量、天气状况和风速
  • get_current_weather - 获取当前天气状况,包括温度、湿度、风力和降水情况

先决条件

  • 启用了MCP Toolkit的Docker Desktop
  • Docker MCP CLI 插件(docker mcp 命令)
  • 无需API密钥 - Open-Meteo对非商业用途免费

安装

请参阅随文件提供的分步说明。

使用示例

在Claude Desktop中,您可以询问:

  • “纽约市下周的天气预报怎么样?”(纬度=40.7128,经度=-74.0060)
  • “给我看看伦敦未来7天的天气预报”(纬度=51.5074,经度=-0.1278)
  • “东京现在的天气怎么样?”(纬度=35.6762,经度=139.6503)
  • 帮我翻译一下原文内容
  • “巴黎现在天气怎么样?”(纬度=48.8566,经度=2.3522)

注:您需要提供纬度和经度坐标。克劳德可以为您查找任何城市的这些坐标。

建筑

Claude Desktop → MCP Gateway → Open-Meteo MCP Server → Open-Meteo API
                                                       (api.open-meteo.com)

发展

本地测试

# Run directly
python openmeteo_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python openmeteo_server.py

添加新工具

  1. 添加该功能到 openmeteo_server.py
  2. 用……装饰 @mcp.tool()
  3. 更新目录条目,使用新工具名称
  4. 重建Docker镜像

故障排除

工具未显示

  • 验证Docker镜像是否成功构建: docker images | grep openmeteo
  • 检查目录和注册表文件
  • 确保Claude Desktop配置中包含自定义目录
  • 完全重启Claude桌面版

API 错误

  • 验证坐标是否有效(纬度:-90 至 90,经度:-180 至 180)
  • 检查网络连接
  • Open-Meteo 对过度使用可能设有速率限制

温度单位

  • 支持的单位: celsius (默认)或 fahrenheit
  • 示例: get_7day_forecast(latitude="40.7128", longitude="-74.0060", temperature_unit="fahrenheit")

API详情

这个服务器使用了Open-Meteo天气预报API:

  • API终端点:https://api.open-meteo.com/v1/forecast
  • 文档:https://open-meteo.com/en/docs
  • 无需API密钥
  • 免费用于非商业用途(每日最多10,000次调用)
  • 全球范围覆盖的高分辨率天气模型

安全考虑事项

  • 使用Open-Meteo API无需进行身份验证
  • 在Docker容器中以非root用户身份运行
  • 所有请求均为只读
  • 未存储或记录任何敏感数据

归属(或“署名”)

由Open-Meteo.com提供的天气数据

  • API:https://open-meteo.com
  • 许可协议:知识共享署名4.0国际版(CC BY 4.0)
  • 数据来源:全球国家气象服务部门

许可证

麻省理工学院许可证(MIT License)