关于 MCP Weather Server
MCP Weather Server 是面向天气应用开发、数据分析和出行规划的 MCP 服务,可按城市提供天气及相关环境信息。它提供当前天气、预报、空气质量、紫外线、预警、天文数据和天气地图等查询工具。
主要功能
- 01查询当前天气与五日预报
- 02查看空气质量和污染物数据
- 03获取紫外线指数及防护建议
- 04比较多个城市的天气
- 05查询天气预警、日出日落和地图信息
适用场景
- 01比较多个目的地的天气以规划行程
- 02查询户外活动的空气质量与紫外线信息
- 03获取城市天气趋势用于数据分析
- 04查看日出日落时间以安排拍摄
MCP 相关
该 MCP 服务向 MCP 客户端提供 9 种天气查询工具,涵盖天气、预报、空气质量、紫外线、城市比较、预警、天文信息、统计和地图数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🌤️ 增强型 MCP 天气服务 v2.0
一个全面的模型上下文协议(MCP)服务,提供丰富的天气数据、预报、空气质量、紫外线指数等更多信息!通过 9 个强大的工具,直接在 VS Code 聊天中获取详细的天气信息。
🚀 有何特别之处?
这不仅仅是又一个天气工具,而是一个全面的天气智能系统,可提供:
🎯 9 个强大的天气工具:
- 🌡️ 增强型当前天气 - 提供包含表情符号和全面数据的详细天气状况
- 📅 5 天天气预报 - 完整的天气预测和趋势
- 🌬️ 空气质量指数 - 实时污染程度和健康警告
- ☀️ 紫外线指数和日照安全 - 太阳辐射水平及安全建议
- 🌍 多城市对比 - 比较多个地点的天气
- 🚨 天气预警 - 恶劣天气警告和紧急通知
- 🌅 天文数据 - 日出、日落、白昼时长和天文信息
- 📊 天气统计 - 全面的趋势、平均值和气候洞察
- 🗺️ 天气地图 - 获取雷达、卫星和天气地图数据
💡 为何使用此工具?
适用于开发者:
- 🏗️ 正在开发天气应用? 在一处获取全面数据
- 🌐 需要基于位置的功能? 获取天气、空气质量和天文数据
- 📱 正在创建旅行应用? 比较多个目的地的天气
- 🎯 正在开发户外应用? 获取紫外线指数、空气质量和安全信息
适用于数据分析:
- 📊 用于商业智能的天气趋势和模式
- 🌡️ 用于研究项目的气候数据分析
- 📈 用于地点规划的多城市对比
- 🗺️ 用于可视化项目的地理天气地图
适用于个人使用:
- ✈️ 结合详细预报和空气质量进行旅行规划
- 🏃 结合紫外线指数和天气安全信息安排户外活动
- 🌍 跨城市为家人或企业进行多地点监测
- 📱 获取超越基本天气状况的全面天气简报
适用于内容创作:
- 📝 基于详细环境数据创作关注天气的内容
- 🎥 通过全面的天气分析进行地点勘察
- 📊 使用丰富的天气统计数据进行数据可视化
- 🌡️ 基于历史和趋势数据进行气候叙事
🚨 提示: 如果下方的安装按钮在浏览器中打开,而不是在 VS Code 中打开,请使用下方的方法 1进行手动配置,这样更可靠!
🚀 轻松安装方法
🎯 方法 1:NPM 包(推荐)
直接从 npm 安装并自动完成设置:
npm install -g mohaimen-weather-mcp
然后只需在设置中添加:
"<name of your server>":
{
"command": "npx",
"args": [
"mohaimen-weather-mcp"
],
"env": {
"OPENWEATHER_API_KEY": "<YOUR_KEY>"
}
}
这将:
- 全局安装此包
- 运行交互式设置,提示你输入 API 密钥
- 自动配置 VS Code 设置并使用正确的路径
- 无需手动配置!
🎯 方法 2:手动配置(最可靠)
-
克隆并构建:
git clone https://github.com/mohaimenhasan/mcp-weather-server.git cd mcp-weather-server npm run setup -
获取 API 密钥:
- 访问 OpenWeatherMap(免费账户)
- 复制你的 API 密钥
-
添加到 VS Code:
- 打开 VS Code
- 按
Ctrl+Shift+P(或在 Mac 上按Cmd+Shift+P) - 输入“Preferences: Open User Settings (JSON)”
- 将以下内容添加到你的设置中:
{ "mcpServers": { "weather": { "command": "node", "args": ["/absolute/path/to/mcp-weather-server/dist/index.js"], "env": { "OPENWEATHER_API_KEY": "your_api_key_here" } } } }
✨ 所有功能和示例
�️ 增强型当前天气
🌤️ Weather in London, GB
🌡️ Temperature: ☀️ 22°C (feels like ☀️ 24°C)
📊 Condition: clear sky
💧 Humidity: 65%
🌬️ Wind: 3.2 m/s (120°)
👁️ Visibility: 10.0 km
🌡️ Pressure: 1013 hPa
📈 Min/Max: ☀️ 18°C / ☀️ 26°C
☁️ Cloudiness: 10%
🌅 Sunrise: 6:42:15 AM
🌇 Sunset: 8:15:30 PM
📍 Coordinates: 51.5074, -0.1278
📅 5 天天气预报
📅 5-Day Weather Forecast for Paris
☀️ Day 1 - 12/27/2024
🌡️ Temp: ☀️ 24°C (☀️ 20°C - ☀️ 28°C)
📊 clear sky
💧 Humidity: 68%
🌬️ Wind: 2.1 m/s
☁️ Clouds: 15%
🌬️ 空气质量指数
🌬️ Air Quality in Tokyo
📊 Overall AQI: 2/5 - 🟡 Fair - Moderate air quality
Pollutant Levels (μg/m³):
� CO: 233.75
🚗 NO: 0.01
🚗 NO₂: 8.13
🌫️ O₃: 78.32
💨 SO₂: 1.64
🏭 PM2.5: 5.15
🏭 PM10: 8.04
💨 NH₃: 0.63
☀️ 紫外线指数和日照安全
☀️ UV Index for Sydney
📊 Current UV Index: 7.2
🟠 High - Protection essential
Sun Safety Tips:
🧴 Apply sunscreen (SPF 30+)
👕 Wear protective clothing
🕶️ Wear sunglasses and hat
🌍 多城市天气对比
🌍 Weather Comparison
☀️ London, GB
🌡️ ☀️ 22°C (feels like ☀️ 24°C)
📊 clear sky
💧 65% humidity
🌬️ 3.2 m/s wind
🌧️ Seattle, US
🌡️ 🌡️ 16°C (feels like 🌡️ 14°C)
📊 moderate rain
💧 85% humidity
🌬️ 5.1 m/s wind
🚨 天气预警
🚨 Weather Alerts for Miami
⚠️ Alert 1: Hurricane Warning
📅 Start: 12/27/2024, 2:00:00 PM
📅 End: 12/28/2024, 8:00:00 AM
📝 Hurricane conditions expected...
🏢 Source: National Weather Service
🌅 天文数据
🌅 Astronomy Data for Tokyo
☀️ Currently: Daytime
🌅 Sunrise: 6:47:12 AM
🌇 Sunset: 4:32:45 PM
⏰ Day Length: 9h 45m
📍 Location: 35.6762°, 139.6503°
🌍 Timezone: UTC+9
⏳ Next sunset: in 3h 15m
📊 天气统计和趋势
📊 Weather Statistics for Berlin
Current Conditions:
🌡️ Temperature: 🌡️ 18°C
💧 Humidity: 72%
🌡️ Pressure: 1015 hPa
👁️ Visibility: 8.5 km
24-Hour Trends:
🌡️ Temperature Range: 🌡️ 15°C to ☀️ 21°C
📊 Average Temperature: 🌡️ 18°C
📈 Temperature Trend: Rising 📈
💧 Average Humidity: 68.2%
🌡️ Average Pressure: 1014.8 hPa
📈 Pressure Trend: Rising 📈
🗺️ 天气地图
🗺️ Weather Maps for New York
📍 Coordinates: 40.7128, -74.0060
Available Map Layers:
�️ Precipitation: Rainfall and snow patterns
☁️ Clouds: Cloud coverage and density
🌡️ Temperature: Temperature distribution
🌬️ Wind Speed: Wind patterns and speeds
🌡️ Pressure: Atmospheric pressure systems
Center Map On: Latitude 40.7128, Longitude -74.0060
Recommended Zoom: 10 for city view
🎯 使用示例
安装后,你可以向 VS Code Copilot 提出以下问题:
🌡️ 基本天气查询:
- “伦敦的天气怎么样?”
- “获取东京的全面天气数据”
- “显示纽约当前天气状况的详细信息”
📅 天气预报查询:
- “巴黎未来 5 天的天气预报是什么?”
- “告诉我西雅图本周的天气预报”
- “显示柏林未来 3 天的天气预报”
🌬️ 空气质量与健康:
- “北京的空气质量怎么样?”
- “查询德里的污染水平”
- “洛杉矶的空气质量安全吗?”
☀️ 日照与紫外线安全:
- “悉尼的紫外线指数是多少?”
- “我今天在迈阿密需要涂防晒霜吗?”
- “查询菲尼克斯户外活动的日晒安全信息”
🌍 多城市对比:
- “对比伦敦、巴黎和柏林的天气”
- “迈阿密和圣迭戈哪个城市的天气更好?”
- “显示东京、首尔和曼谷的天气对比”
🚨 天气预警:
- “佛罗里达州有天气预警吗?”
- “查询德克萨斯州的恶劣天气预警”
- “显示东海岸的风暴预警”
🌅 天文与时间:
- “莫斯科什么时候日出?”
- “夏威夷几点日落?”
- “显示斯德哥尔摩的天文数据”
📊 天气分析:
- “告诉我芝加哥的天气统计数据”
- “显示丹佛过去 24 小时的天气趋势”
- “分析旧金山的天气模式”
🗺️ 天气地图:
- “如何查看达拉斯的天气雷达?”
- “显示波特兰的天气地图信息”
- “获取太平洋西北地区的降水地图数据”
💡 高级用法示例:
旅行规划: “我计划下周去罗马旅行。请显示天气预报、空气质量和紫外线指数。”
户外活动规划: “对比奥斯汀、纳什维尔和丹佛举办户外音乐会期间的天气状况。”
健康与安全: “查询洛杉矶的空气质量和紫外线指数——我有呼吸系统问题,需要适合安全户外锻炼的环境。”
农业/园艺: “显示波特兰的详细天气统计数据和预报——我需要规划花园的浇水安排。”
摄影/摄制: “告诉我约塞米蒂的日出/日落时间和天气状况,我要在那里拍照。”
🛠️ 开发
先决条件
- Node.js (>= 18.x)
- npm (>= 9.x)
- OpenWeatherMap API 密钥
本地开发
# Install dependencies
npm install
# Build the project
npm run build
# Start in development mode (with auto-rebuild)
npm run dev
# Test the server
npm start
# Generate install URLs for your own use
npm run install-urls
# Get manual configuration for VS Code settings
npm run config
项目结构
mcp-weather-server/
├── .vscode/
│ ├── settings.json # Pre-configured MCP settings (user-specific)
│ ├── settings.template.json # Template for settings.json
│ ├── tasks.json # VS Code tasks for easy setup
│ ├── inputs.json # Input prompts for API key
│ ├── launch.json # Debug configuration
│ └── extensions.json # Recommended extensions
├── dist/ # Compiled JavaScript (generated)
├── index.ts # Main server code
├── mcp-config.json # MCP configuration template
├── install.html # Beautiful one-click install page
├── generate-install-urls.js # Script to generate install URLs
├── setup.bat # Windows setup script
├── setup.sh # Unix setup script
├── .env # Environment variables (user-specific)
├── .gitignore # Git ignore rules
└── package.json
🔧 配置
服务使用环境变量进行配置:
OPENWEATHER_API_KEY或API_KEY:你的 OpenWeatherMap API 密钥(必需)
📡 完整 API 参考
可用工具
🌡️ get-weather
增强型当前天气,包含全面数据
参数:
city(字符串):要查询天气的城市名称
返回:
- 带表情符号指示的详细温度信息
- 带图标的天气状况
- 湿度、风速、能见度
- 气压、云量、最高/最低温度
- 日出/日落时间
- 地理坐标
📅 get-forecast
未来 5 天的天气预报,包含详细预测
参数:
city(字符串):要查询天气预报的城市名称days(数字,可选):要显示的天数(1-5,默认值:5)
返回:
- 带表情符号的每日温度范围
- 每日天气状况
- 湿度、风力和云量
- 按天整理,格式清晰
🌬️ get-air-quality
空气质量指数与污染数据
参数:
city(字符串):要查询空气质量的城市名称
返回:
- 总体空气质量指数(1-5 级)
- 详细污染物水平(CO、NO、NO₂、O₃、SO₂、PM2.5、PM10、NH₃)
- 基于 AQI 的健康建议
- 采用颜色编码的空气质量指示
☀️ get-uv-index
紫外线指数与日晒安全信息
参数:
city(字符串):要查询紫外线指数的城市名称
返回:
- 当前紫外线指数值
- 安全等级说明(低/中等/高/很高/极高)
- 具体的防晒建议
- 基于时间的安全建议
🌍 compare-weather
比较多个城市之间的天气
参数:
cities(字符串数组):要比较的城市名称数组(2-5 个城市)
返回:
- 并排显示的天气比较
- 每个城市的温度、天气状况和湿度
- 便于快速查看的天气表情符号
- 方便比较的组织化展示
🚨 get-weather-alerts
恶劣天气警报和预警
参数:
city(字符串):要查询天气警报的城市名称
返回:
- 当前有效的天气预警和警报
- 警报严重程度和时间
- 天气威胁的详细说明
- 官方来源署名
🌅 get-astronomy
详细的日出、日落和天文数据
参数:
city(字符串):要查询天文数据的城市名称
返回:
- 日出和日落时间
- 白昼时长计算
- 当前昼夜状态
- 距离下一次日出/日落的时间
- 地理坐标和时区
- 月相信息(需使用额外的 API)
📊 get-weather-stats
全面的天气统计数据和趋势
参数:
city(字符串):要查询天气统计数据的城市名称
返回:
- 当前天气状况摘要
- 24 小时气温趋势和范围
- 气压和湿度变化模式
- 天气趋势指标(上升/下降)
- 近期天气状况的统计分析
🗺️ get-weather-maps
天气地图信息和访问 URL
参数:
city(字符串):要查询地图信息的城市名称
返回:
- 用于地图绘制的地理坐标
- 可用的天气图层类型
- 天气地图瓦片的直接 URL
- 与地图类库集成的说明
- 推荐的缩放级别和中心点
API 响应格式
所有工具均按以下格式返回响应:
{
"content": [{
"type": "text",
"text": "Formatted weather information with emojis and detailed data"
}]
}
错误处理
服务会处理各种错误情况:
- 404 错误:未找到城市——建议检查拼写
- 401 错误:API 密钥无效——提示检查密钥配置
- 网络错误:超时或连接问题——建议重试
- API 限制:部分功能需要 OpenWeatherMap 高级订阅
🆘 故障排除
常见问题
-
“Undefined input variable 'openweatherApiKey'”错误:
- VS Code 无法解析输入变量时会出现此问题
- 解决方案:将
.vscode/settings.template.json复制到.vscode/settings.json,并将YOUR_API_KEY_HERE替换为你的实际 API 密钥 - 或创建一个
.env文件,其中包含OPENWEATHER_API_KEY=your_api_key_here
-
“API key is required”错误:
- 确认已在环境变量或
.env文件中设置 API 密钥 - 在 OpenWeatherMap 检查 API 密钥是否有效且处于启用状态
- 确认已在环境变量或
-
“Module not found”错误:
- 运行
npm run build编译 TypeScript - 使用
npm install确保已安装所有依赖项
- 运行
-
MCP 服务未在 VS Code 中显示:
- 检查 MCP 配置中的路径是否正确
- 确保构建后存在
dist/index.js文件 - 添加服务配置后重启 VS Code
-
一键安装按钮无法使用:
- 如果按钮在浏览器中打开,而不是在 VS Code 中打开:
- 可能未安装 MCP 扩展,或未注册 URL 处理程序
- 改用方法 1(手动配置)——这种方式更可靠
- 运行
npm run config获取要复制的确切配置
- 确认已安装 VS Code 或 VS Code Insiders
- 尝试安装前,确保项目已构建
- 如果按钮在浏览器中打开,而不是在 VS Code 中打开:
获取帮助
- 📧 联系方式:@mohaimenhasan
- 🐛 问题反馈:GitHub Issues
- 📖 MCP 文档:Model Context Protocol
🎉 接下来做什么?
安装后,你可以:
- 在 VS Code 聊天中直接询问天气
- 将天气数据集成到你的编码工作流中
- 使用实时数据构建感知天气的应用
- 探索其他 MCP 服务,扩展功能
📄 许可证
MIT License - 欢迎在你自己的项目中使用!
为 VS Code 和 MCP 社区倾情打造 ❤️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。