OpenWeather MCP 服务器
一个模型上下文协议(MCP)服务器,它将OpenWeather API与Claude集成,使您能够在对话中直接获取实时天气信息、预报和空气质量数据。
特点/功能
- ☀️晴天 当前天气获取任何城市的实时天气状况
- 📅(日历) 5天天气预报每3小时更新一次的详细天气预报
- 📍(定位标记,通常表示当前位置或兴趣点) 基于坐标的搜索使用经纬度获取天气数据
- 🌍 地球 空气质量指数检查污染水平和空气质量数据
- 🌡️(温度计符号,常用于表示温度或热度) 详细指标温度、湿度、风速、能见度等
先决条件
- Node.js v18 或更高版本
- Claude Desktop(可译为“Claude桌面版”或保持原样,根据上下文判断是否需要具体翻译)
- 开放天气API密钥(提供免费层级)
安装
1. 获取OpenWeather API密钥
- 在……注册 OpenWeather(开放天气)
- 在您的账户中导航至“我的API密钥”
- 复制您的API密钥(注意:新密钥激活需要约2小时)
2. 克隆并设置
# Clone the repository
git clone https://github.com/MadhurToshniwal/OpenWeather-MCP-server.git
cd OpenWeather-MCP-server
# Install dependencies
npm install
# Build the project
npm run build3. 配置Claude桌面版
编辑您的Claude桌面配置文件:
Windows: %APPDATA%\Claude\claude_desktop_config.json\ macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"openweather": {
"command": "node",
"args": [
"/absolute/path/to/openweather-mcp-server/dist/index.js"
],
"env": {
"OPENWEATHER_API_KEY": "your_api_key_here"
}
}
}
}对Windows用户而言很重要在路径中使用双反斜杠:
"args": ["C:\\Users\\YourName\\Desktop\\openweather-mcp-server\\dist\\index.js"]4. 重启Claude桌面版
要使更改生效,请完全退出并重新启动 Claude Desktop。
使用示例
一旦配置完成,您就可以询问Claude:
- “东京的天气怎么样?”
- “给我一份伦敦5天的天气预报”
- “坐标40.7128,-74.0060的天气怎么样?”
- “查看北京的空气质量”
- “比较孟买和德里的天气”
可用工具
get_current_weather
获取特定城市的当前天气状况。
参数:
city(必填):城市名称country_code(可选):2个字母的国家代码(例如,“US”,“GB”)
get_forecast
获取每3小时一次更新的5天天气预报。
参数:
city(必填):城市名称country_code(可选):2个字母的国家代码
get_weather_by_coordinates
通过地理坐标获取当前天气。
参数:
latitude(必填):纬度坐标longitude(必填):经度坐标
get_air_pollution
获取特定坐标的空气质量数据。
参数:
latitude(必填):纬度坐标longitude(必填):经度坐标
API限制
OpenWeather API的免费层级包括:
- 每天1,000次API调用
- 每分钟60个呼叫
- 当前天气数据
- 5天天气预报
- 空气污染数据
项目结构
openweather-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── .env # Environment variables (not in repo)
├── package.json
├── tsconfig.json
└── README.md发展
# Build the project
npm run build
# Run in development mode
npm start所使用的技术
- TypeScript类型安全开发
- 模型上下文协议(MCP)克劳德标准集成
- 开放天气API天气数据提供商
- Axios用于API请求的HTTP客户端
故障排除
API密钥无效
- 确保您的API密钥在配置中已正确设置
- 新API密钥在注册后最多需要2小时才能激活
工具未在Claude中显示
- 验证路径中的
claude_desktop_config.json是正确的 - 完全重启Claude桌面版
- 检查项目是否已构建(
dist文件夹存在)
“找不到模块”
- 跑步
npm install安装依赖项 - 确保 Node.js 版本为 18 或更高版本
许可证
麻省理工学院(MIT)
作者
马杜尔·托什尼瓦尔\ 📧 madhurtoshniwal03@gmail.com(翻译为中文的表述,保持原邮箱格式不变):邮箱地址:madhurtoshniwal03@gmail.com
致谢
- OpenWeather API用于获取天气数据
- “Anthropic for the Model Context Protocol” 可以翻译为:“针对模型上下文协议的Anthropic(或:Anthropic的模型上下文协议应用)”。不过,为了更流畅地表达,我们也可以稍作调整,翻译为:“Anthropic在模型上下文协议中的应用”或“Anthropic的模型上下文协议方案”。具体选择哪种表述取决于上下文和语境需求
- 用于AI集成的Claude桌面版
______________________________________________________________________
专为校园招聘会展示而建 展示API集成、TypeScript以及现代开发实践
