使用说明
MCP气象服务器
模型上下文协议(MCP)服务器,使用OpenWeatherMap API提供天气信息和预报。
特性
- 🌤️ 获取任何城市的当前天气状况
- 📅 获取5天天气预报
- 🌡️ 温度、湿度、风速和大气压
- ☁️ 天气描述和条件
- 🌍 与世界各地的城市合作
可用工具
get_weather
获取指定位置的当前天气状况。
参数:
location(必填):城市名称(例如“伦敦”、“雅加达”、“纽约”)
例子: “雅加达的天气怎么样?”
get_weather_forecast
获取指定位置的5天天气预报。
参数:
location(必填):城市名称days(可选):预测天数(1-5,默认值:5)
例子: “伦敦的5天天气预报是什么?”
先决条件
- Python 3.7+
- OpenWeatherMap API密钥(提供免费层)
- Claude桌面应用程序
安装
-
克隆存储库:
git clone https://github.com/your-username/mcp-weather-server.git cd mcp-weather-server -
创建虚拟环境:
python -m venv .venv .venv\Scripts\activate # On Windows # or source .venv/bin/activate # On macOS/Linux -
安装依赖项:
pip install -r requirements.txt -
获取API密钥:
- 注册地址: OpenWeatherMap
- 获取免费的API密钥
-
设置环境变量:
- 复制
.env.example向.env - 将API密钥添加到
.env文件:OPENWEATHER_API_KEY=your_api_key_here
- 复制
配置
Claude桌面设置
-
找到您的Claude Desktop配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- 窗户:
-
添加天气服务器配置:
{ "mcpServers": { "weather": { "command": "path/to/your/project/.venv/Scripts/python.exe", "args": ["path/to/your/project/minimal_weather_server.py"], "env": { "OPENWEATHER_API_KEY": "your_api_key_here" } } } } -
重新启动克劳德桌面
测试
独立测试服务器:
python test_minimal.py
或测试特定功能:
python debug_server.py
使用示例
一旦配置了Claude Desktop,您就可以问自然语言问题:
- “雅加达的天气怎么样?”
- “告诉我伦敦的当前天气”
- “东京的5天天气预报是什么?”
- “今天新加坡的天气怎么样?”
- “给我看看万隆的天气预报”
项目结构
mcp-weather-server/
├── minimal_weather_server.py # Main MCP server
├── simple_weather_server.py # Alternative simple server
├── weather_server.py # Original MCP library version
├── test_minimal.py # Test script
├── debug_server.py # Debug utilities
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── .env # Environment variables (not in git)
├── .gitignore # Git ignore rules
└── README.md # This file
api参考
此服务器使用 OpenWeatherMap API 以获取天气数据。
故障排除
常见问题
-
“找不到API密钥”错误:
- 确保您的
.env文件包含OPENWEATHER_API_KEY=your_actual_key - 验证API密钥有效且处于活动状态
- 确保您的
-
Claude中的“服务器已断开连接”:
- 检查配置中的文件路径是否正确
- 确保Python可执行路径准确
- 配置更改后重新启动Claude Desktop
-
“找不到位置”错误:
- 尝试使用不同的城市名称变体
- 包括模糊城市的国家名称(例如“英国伦敦”)
调试步骤
-
独立测试服务器:
python test_minimal.py -
在Claude Desktop中检查服务器日志
-
在OpenWeatherMap验证API密钥权限
贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- OpenWeatherMap 用于提供天气API
- Anthropic 用于Claude和MCP规范
- MCP社区,用于协议文档和示例
支持
如果您遇到任何问题或有疑问:
- 检查 故障排除部分
- 审查 OpenWeatherMap API文档
- 在GitHub上打开一个问题
由以下材料制成❤️ 对于MCP社区