article
README
🚀 如何使用Weather MCP服务器
本项目提供了一个Weather MCP服务器,借助OpenWeatherMap的One Call API 3.0,能够获取特定地区的当前天气和未来8天的天气预报,为用户提供风速、降水量等详细的天气信息。
🚀 快速开始
安装与配置
- 安装依赖项:
pip install openweathermap-api python-multipart - 设置API密钥:
- 在环境变量中设置
OPENWEATHER_API_KEY:export OPENWEATHER_API_KEY="your_api_key" - 或者在代码中直接传递
api_key参数。
- 在环境变量中设置
- 运行服务器:
python3 weather_mcp_server.py
✨ 主要特性
- 提供两个实用工具:
get_weather和get_current_weather。 - 采用OpenWeatherMap的One Call API 3.0。
- 支持8天天气预报(涵盖今天和未来7天)。
- 包含每个时间段的早间、午间和晚间天气数据。
- 显示风速、降水量和其他天气摘要。
💻 使用示例
基础用法
# 获取当前天气
python3 weather_mcp_server.py --current-weather --city New York
# 获取天气预报
python3 weather_mcp_server.py --weather-forecast --location "Beijing,China"
高级用法
- 支持多天天气数据查询(最多8天)。
- 可指定具体时间点的天气信息。
- 提供详细的气象数据,包括降水量、风向等。
输入输出示例
示例输入:
{
"city": "New York",
"state": "NY",
"country": "US"
}
示例输出:
{
"current_weather": {
"temperature": 22,
"condition": "Partly Cloudy",
"wind_speed": 12,
"humidity": 65
},
"hourly_forecast": [...],
"daily_forecast": [...]
}
📚 详细文档
问题排查
API密钥问题
- 确保已订阅OpenWeatherMap的One Call API 3.0计划。
- 确认API密钥在环境变量中正确设置。
- 检查是否有超过免费配额的情况。
其他常见问题
- 位置未找到:检查输入的准确性,尝试添加国家代码。
- 速率限制:减少API调用频率或升级至付费计划。
开发与测试
自动化测试
- 单元测试:
python test_weather_mcp.py - 集成测试:
python integration_test.py
手动测试
# 运行测试客户端
python3 weather_test_client.py --test-all
📄 最后更新
2023年11月4日
扫码联系在线客服