使用说明
OpenWeather MCP服务器
英语| 中文版
一个简单的天气预报MCP(模型控制协议)服务器,提供全球天气预报和当前天气状况。
使用MCP天气服务的克劳德桌面截图
特性
- 不需要单独的配置文件;API密钥可以直接通过环境变量或参数传递
- 支持查询世界各地的天气状况
- 提供当前天气和未来预报
- 详细的天气信息,包括温度、湿度、风速等。
- 支持不同时区
安装要求
pip install mcp-server requests pydantic
用法
1.获取OpenWeatherMap API密钥
访问 OpenWeatherMap 并注册账户以获得API密钥。
2.运行服务器
提供API密钥有两种方法:
方法1:使用环境变量
# Set environment variables
export OPENWEATHER_API_KEY="your_api_key" # Linux/Mac
set OPENWEATHER_API_KEY=your_api_key # Windows
# Run the server
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天气
获取指定位置的当前天气。
参数:
location:地点名称,例如“北京”、“纽约”、“东京”api_key:OpenWeatherMap API键(可选,如果未提供,将从环境变量中读取)timezone_offset:以小时为单位的时区偏移,例如,北京为8,纽约为-4。默认值为0(UTC时间)
用法示例
AI助手呼叫示例:
User: What's the weather like in New York right now?
AI: Let me check the current weather in New York for you.
[Calling get_current_weather("New York", timezone_offset=-4)]
Current weather in New York: 18°C, partly cloudy, humidity 65%, wind speed 3.5m/s.
故障排除
如果遇到“未提供API密钥”错误,请确保:
- 您已经在环境变量中设置了OPENWEATHER_API_KEY,或者
- 调用工具时提供api_key参数
如果位置名称不正确,您可能会收到“找不到位置”错误。尝试使用更准确的城市名称或添加国家代码,例如“中国北京”或“法国巴黎”。
