使用说明
🌤️ 增强型MCP天气服务器v2.0
A. 全面的 模型上下文协议(MCP)服务器,提供广泛的天气数据、预报、空气质量、紫外线指数等等!使用9个强大的工具直接在您的VS Code聊天中获取详细的天气信息。
🚀 是什么让这个特别?
这不仅仅是另一个天气工具,它是一个 综合气象情报系统 它提供:
🎯 9个强大的天气工具:
- 🌡️ 增强当前天气 -带有表情符号和全面数据的详细情况
- 📅 五天天气预报 -完整的天气预报和趋势
- 🌬️ 空气质量指数 -实时污染水平和健康警告
- ☀️ 紫外线指数和防晒 -太阳辐射水平及安全建议
- 🌍 多城市比较 -比较多个地点的天气
- 🚨 天气警报 -恶劣天气警报和紧急通知
- 🌅 天文数据 -日出、日落、日长和天文信息
- 📊 天气统计 -全面的趋势、平均值和气候见解
- 🗺️ 气象图 -访问雷达、卫星和天气图数据
💡 为什么要使用这个工具?
对于开发者:
- 🏗️ 构建天气应用程序? 在一个地方获取全面的数据
- 🌐 需要基于位置的功能? 获取天气、空气质量和天文数据
- 📱 创建旅游应用程序? 比较多个目的地的天气
- 🎯 构建户外应用程序? 获取紫外线指数、空气质量和安全信息
数据分析:
- 📊 天气趋势和模式 商业智能
- 🌡️ 气候数据分析 用于研究项目
- 📈 多城市比较 用于位置规划
- 🗺️ 地理天气图 用于可视化项目
个人使用:
- ✈️ 旅行计划 有详细的预报和空气质量
- 🏃 户外活动 紫外线指数和天气安全
- 🌍 多位置监控 适用于跨城市的家庭/企业
- 📱 综合天气简报 超出基本条件
对于内容创建:
- 📝 天气感知内容 有详细的环境数据
- 🎥 勘景 综合天气分析
- 📊 可视化 拥有丰富的天气统计数据
- 🌡️ 气候故事 有历史和趋势数据
🚨 快速注释: 如果下面的安装按钮在浏览器中打开,而不是在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代码设置
- 无需手动配置!
🎯 方法2:手动配置(最可靠)
-
克隆和构建:
git clone https://github.com/mohaimenhasan/mcp-weather-server.git cd mcp-weather-server npm run setup -
获取API密钥:
- 访问 OpenWeatherMap (免费帐户)
- 复制API密钥
-
添加到VS代码:
- 打开VS代码
- 按
Ctrl+Shift+P(或Cmd+Shift+P在Mac上) - 键入“首选项:打开用户设置(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-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天天气预报是什么?”
- “给我本周西雅图的天气预报”
- “给我看柏林的三天天气预报”
🌬️ 空气质量与健康:
- “北京的空气质量怎么样?”
- “检查德里的污染水平”
- “洛杉矶的空气质量安全吗?”
☀️ 阳光和紫外线安全:
- “悉尼的紫外线指数是多少?”
- “我今天在迈阿密需要防晒霜吗?”
- “检查凤凰城户外活动的阳光安全”
🌍 多城市比较:
- 比较伦敦、巴黎和柏林的天气
- “哪个城市的天气更好:迈阿密还是圣地亚哥?”
- “显示东京、首尔和曼谷的天气比较”
🚨 天气警报:
- “佛罗里达州有天气预警吗?”
- “查看德克萨斯州的恶劣天气警报”
- “给我看东海岸的风暴警报”
🌅 天文学与计时:
- “莫斯科的太阳什么时候升起?”
- “夏威夷的日落是什么时候?”
- “给我看斯德哥尔摩的天文数据”
📊 天气分析:
- “给我芝加哥的天气统计数据”
- “显示丹佛过去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(string):要获取天气的城市名称
退货:
- 带有表情符号指示灯的详细温度
- 带图标的天气状况
- 湿度、风速、能见度
- 压力、云量、最低/最高温度
- 日出/日落时间
- 地理坐标
📅 get-forecast
5天天气预报及详细预报
参数:
city(string):要获取预测的城市名称days(数字,可选):显示的天数(1-5,默认值:5)
退货:
- 带有表情符号的每日温度范围
- 每日天气状况
- 湿度、风和云层覆盖
- 按天组织,格式清晰
🌬️ get-air-quality
空气质量指数和污染数据
参数:
city(string):获取空气质量的城市名称
退货:
- 总体空气质量指数(1-5分)
- 详细的污染物水平(CO、NO、NO₂, O₃, SO₂,PM2.5、PM10、NH₃)
- 基于空气质量指数的健康建议
- 颜色编码质量指示器
☀️ get-uv-index
紫外线指数和防晒信息
参数:
city(string):要获取紫外线指数的城市名称
退货:
- 当前紫外线指数值
- 安全级别描述(低/中/高/极高/极端)
- 具体的防晒建议
- 基于时间的安全建议
🌍 compare-weather
比较多个城市的天气
参数:
cities(字符串数组):要比较的城市名称数组(2-5个城市)
退货:
- 并排天气比较
- 每个城市的温度、条件、湿度
- 用于快速视觉参考的天气表情符号
- 有序的显示便于比较
🚨 get-weather-alerts
恶劣天气警报和警告
参数:
city(string):要获取天气警报的城市名称
退货:
- 主动天气预警和警报
- 警报严重性和时间
- 天气威胁的详细描述
- 官方来源归因
🌅 get-astronomy
详细的日出、日落和天文数据
参数:
city(string):要获取天文数据的城市名称
退货:
- 日出和日落时间
- 日长计算
- 当前昼夜状态
- 直到下一个日出/日落的时间
- 地理坐标和时区
- 月相信息(附加API)
📊 get-weather-stats
综合天气统计和趋势
参数:
city(string):要获取天气统计数据的城市名称
退货:
- 当前天气状况概述
- 24小时温度趋势和范围
- 压力和湿度模式
- 天气趋势指标(上升/下降)
- 近期情况统计分析
🗺️ get-weather-maps
天气图信息和访问URL
参数:
city(string):要获取地图信息的城市名称
退货:
- 测绘地理坐标
- 可用天气层类型
- 天气图块的直接URL
- 映射库的集成说明
- 推荐的缩放级别和中心点
API响应格式
所有工具都以以下格式返回响应:
{
"content": [{
"type": "text",
"text": "Formatted weather information with emojis and detailed data"
}]
}
错误处理
服务器处理各种错误情况:
- 404错误:未找到城市-建议检查拼写
- 401错误:无效的API密钥-提示密钥配置检查
- 网络错误:超时或连接问题-建议重试
- API限制:某些功能需要高级OpenWeatherMap订阅
🆘 故障排除
常见问题
-
“未定义的输入变量'openweatherApiKey'”错误:
- 当VS Code无法解析输入变量时,就会发生这种情况
- 解决方案:复制
.vscode/settings.template.json向.vscode/settings.json并替换YOUR_API_KEY_HERE使用您的实际API密钥 - 或者创建一个
.env提交OPENWEATHER_API_KEY=your_api_key_here
-
“需要API密钥”错误:
- 确保已在环境变量或
.env文件 - 请在检查您的API密钥是否有效并处于活动状态 OpenWeatherMap
- 确保已在环境变量或
-
“找不到模块”错误:
- 跑
npm run build编译TypeScript - 确保所有依赖项都已安装
npm install
- 跑
-
MCP服务器未出现在VS代码中:
- 检查MCP配置中的路径是否正确
- 确保
dist/index.js构建后文件已存在 - 添加服务器配置后重新启动VS Code
-
一键安装按钮不起作用:
- 如果在浏览器中打开按钮而不是VS代码:
- MCP扩展可能未安装或URL处理程序未注册
- 改用方法1(手动配置)-它更可靠
- 跑
npm run config获取要复制的确切配置
- 确保您安装了VS Code或VS Code Insider
- 在尝试安装之前,请确保您的项目已构建
- 如果在浏览器中打开按钮而不是VS代码:
获取帮助
🎉 接下来是什么?
安装后,您可以:
- 直接在VS Code聊天中询问天气问题
- 将天气数据集成到您的编码工作流程中
- 使用实时数据构建天气感知应用程序
- 探索其他MCP服务器以增强功能
📄 许可证
MIT许可证-您可以在自己的项目中自由使用!
由以下材料制成❤️ VS Code和MCP社区