Skip to main content
Glama

Weather MCP Server

by ctermiii
README.md3.46 kB
# Weather MCP Server 基于 Open-Meteo API 的 MCP (Model Context Protocol) 天气服务器,为 LLM 大模型提供实时天气查询功能。 ## 功能特性 - 支持中英文城市名称查询 - 自动地理编码(城市名→坐标) - 获取7天天气预报 - 详细的天气信息包括: - **温度**: 最高/最低温度、体感温度 - **风力**: 风速、阵风、风向 - **舒适度**: 基于温度和湿度的舒适度评估 - **天气状况**: 晴、雨、雪等详细描述 - **降水信息**: 降水量、降雨量、降雪量 - **其他**: 日出日落时间、湿度等 ## 安装 ```bash npm install ``` ## 使用方法 ### 1. 配置 MCP 客户端 在 Claude Desktop 或其他 MCP 客户端的配置文件中添加: **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` **Windows**: `%APPDATA%/Claude/claude_desktop_config.json` ```json { "mcpServers": { "weather": { "command": "node", "args": ["/Users/wanli/.config/mcp/weather-mcp-metro/index.js"] } } } ``` ### 2. 启动服务器 ```bash npm start ``` ### 3. 在 LLM 中使用 服务器提供了一个工具 `get_weather`,可以通过以下方式调用: ``` 请帮我查询北京的天气 ``` 或 ``` What's the weather like in Shanghai? ``` ## API 说明 ### get_weather 获取指定城市的天气预报信息。 **参数:** - `city` (string, 必需): 城市名称,支持中英文 **返回示例:** ```json { "城市信息": { "名称": "Beijing", "国家": "China", "坐标": "39.9075, 116.39723", "时区": "Asia/Shanghai" }, "当前天气": { "时间": "2025-10-17T10:00", "温度": "18°C", "体感温度": "16°C", "湿度": "65%", "天气状况": "部分多云", "风速": "12 km/h", "风向": "东北", "舒适度": "舒适" }, "七天预报": [ { "日期": "2025-10-17", "最高温度": "22°C", "最低温度": "14°C", "天气状况": "部分多云", "降水量": "0mm", "降雨量": "0mm", "降雪量": "0cm", "最大风速": "15 km/h", "最大阵风": "25 km/h", "主导风向": "东", "日出": "2025-10-17T06:30", "日落": "2025-10-17T18:15", "舒适度": "舒适" } // ... 其余6天 ] } ``` ## 技术细节 ### 数据来源 - **地理编码 API**: `https://geocoding-api.open-meteo.com/v1/search` - **天气数据 API**: `https://api.open-meteo.com/v1/forecast` ### 天气参数 - `temperature_2m_max/min`: 最高/最低温度 - `weathercode`: 天气代码(自动转换为中文描述) - `precipitation_sum`: 总降水量 - `rain_sum`: 降雨量 - `snowfall_sum`: 降雪量 - `windspeed_10m_max`: 最大风速 - `windgusts_10m_max`: 最大阵风 - `winddirection_10m_dominant`: 主导风向 - `sunrise/sunset`: 日出日落时间 - `relative_humidity_2m`: 相对湿度 - `apparent_temperature`: 体感温度 ### 舒适度评级 基于体感温度和湿度计算: - 非常寒冷 (< 0°C) - 寒冷 (0-10°C) - 凉爽 (10-16°C) - 舒适 (16-24°C) - 温暖 (24-28°C) - 炎热 (28-32°C) - 酷热 (> 32°C) 同时考虑湿度影响(高湿度/干燥提示) ## 依赖项 - `@modelcontextprotocol/sdk`: MCP SDK ## 许可证 MIT ## 注意事项 - Open-Meteo API 是免费开源的,无需 API 密钥 - 数据更新频率取决于 Open-Meteo 服务 - 建议合理使用,避免过于频繁的请求

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ctermiii/weather-mcp-metro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server