英文 | 中文版
一个简单的天气预报MCP(模型控制协议)服务器,提供全球天气预报和当前天气状况。

Claude Desktop 使用 MCP 天气服务的截图
pip install mcp-server requests pydantic
访问 OpenWeatherMap 并注册账户以获取 API 密钥。
有两种方式提供 API 密钥:
# 设置环境变量
export OPENWEATHER_API_KEY="your_api_key" # Linux/Mac
set OPENWEATHER_API_KEY=your_api_key # Windows
# 运行服务器
python weather_mcp_server.py
无需设置环境变量直接运行:
python weather_mcp_server.py
在调用工具时,您需要提供 api_key 参数。
在您的 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"]
}
}
获取指定地点的当前天气和预报。
参数:
location: 地点名称,例如 "北京", "纽约", "东京"api_key: OpenWeatherMap API 密钥(可选,如果没有提供则从环境变量读取)timezone_offset: 时区偏移量(小时),例如 北京为 8,纽约为 -4。默认值为 0(UTC 时间)获取指定地点的当前天气。
参数:
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 密钥”的错误,请确保:
如果地点名称不正确,可能会收到“地点未找到”的错误。尝试使用更准确的城市名或添加国家代码,例如 "北京,CN" 或 "巴黎,FR"。