article
README
🚀 OpenWeather MCP 服务器
一个简单的天气预报 MCP(模型控制协议)服务器,可提供全球天气预报和当前天气状况,让你随时随地掌握各地天气信息。
🚀 快速开始
该服务器使用简单,只需按以下步骤操作,即可轻松获取全球天气信息。
✨ 主要特性
- 🌐 无需单独配置文件,API 密钥可通过环境变量或参数直接传递。
- 🌍 支持全球任意地点的天气查询,无论你身在何处,都能获取当地天气。
- ⏰ 提供当前天气和未来预报,让你提前做好出行准备。
- 🌈 详细的天气信息,包括温度、湿度、风速等,满足你对天气的各种需求。
- ⏱️ 支持不同时区,准确显示当地时间的天气情况。
📦 安装指南
使用以下命令安装所需依赖:
pip install mcp-server requests pydantic
💻 使用示例
基础用法
1. 获取 OpenWeatherMap API 密钥
访问 OpenWeatherMap 注册账户并获取 API 密钥。
2. 运行服务器
提供 API 密钥有以下两种方式:
- 方法 1:使用环境变量
# 设置环境变量
export OPENWEATHER_API_KEY="your_api_key" # Linux/Mac
set OPENWEATHER_API_KEY=your_api_key # Windows
# 启动服务器
python weather_mcp_server.py
- 方法 2:运行时提供 直接运行而不设置环境变量:
python weather_mcp_server.py
当调用工具时,需要提供 api_key 参数。
3. 在 MCP 客户端配置中使用
将以下配置添加到支持 MCP 的客户端中:
{
"weather_forecast": {
"command": "python",
"args": [
"/full_path/weather_mcp_server.py"
],
"env": {
"OPENWEATHER_API_KEY": "your_openweathermap_key_here"
},
"disabled": false,
"autoApprove": ["get_weather", "get_current_weather"]
}
}
4. 可用工具
- get_weather:获取指定位置的当前天气和预报。
- 参数:
location:地点名称,例如“北京”、“纽约”、“东京”。api_key:OpenWeatherMap API 密钥(可选,默认从环境变量读取)。timezone_offset:时区偏移量(小时),例如 8 表示北京, -4 表示纽约。默认为 0(UTC 时间)。
- 参数:
- get_current_weather:获取指定位置的当前天气。
- 参数:
location:地点名称,例如“北京”、“纽约”、“东京”。api_key:OpenWeatherMap API 密钥(可选,默认从环境变量读取)。timezone_offset:时区偏移量(小时),例如 8 表示北京, -4 表示纽约。默认为 0(UTC 时间)。
- 参数:
高级用法
以下是 AI 助手调用示例:
用户:纽约现在的天气怎么样?
AI:让我帮你查看纽约的当前天气。
[调用 get_current_weather("New York", timezone_offset=-4)]
纽约当前天气:18°C,多云,湿度 65%,风速 3.5m/s。
📚 详细文档
故障排除
- ⚠️ 如果出现“未提供 API 密钥”的错误,请确保:
- 已在环境变量中设置了 OPENWEATHER_API_KEY。
- 或在调用工具时提供了
api_key参数。
- ⚠️ 如果地点名称不正确,可能会收到“位置未找到”的错误。尝试使用更准确的 city 名称或添加国家代码,例如“Beijing,CN”或“Paris,FR”。
Scan to join WeChat group