关于 Qweather1
Qweather1 是连接 MCP 客户端与 QWeather API 的 MCP 服务,可查询实时天气、预报、预警、空气质量和天气指数。它支持 JWT 与旧版 API Key 认证,并允许配置 API 基础 URL。
主要功能
- 01查询实时天气
- 02提供 3 至 30 天预报
- 03提供逐小时和逐分钟预报
- 04查询天气预警和指数
- 05查询实时及预报空气质量
- 06支持 JWT 和 API Key 认证
适用场景
- 01查询指定地点的实时天气
- 02查看多个时间范围的天气预报
- 03获取降水时间和天气预警
- 04查询空气质量及健康建议
MCP 相关
该服务通过工具向 MCP 客户端提供 QWeather API 能力,涵盖天气、预报、预警、指数和空气质量。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cityName | string | 是 | 要查询天气的城市名称 |
详细介绍
qweather-mcp
English | 简体中文
适用于 QWeather API 的 MCP 服务,通过模型上下文协议(MCP)提供全面的天气信息查询功能。
✨ 功能
- 🌤️ 实时天气查询
- 📅 多日天气预报(3/7/10/15/30 天)
- 🔐 JWT(EdDSA/Ed25519)和旧版 API Key 身份验证
- 🔌 支持自定义 API 基础 URL
- 🛠️ 完整的工具集成
📦 安装
通过 Smithery 安装
推荐:使用 Smithery 为 Claude Desktop 自动安装:
npx -y @smithery/cli install @overstarry/qweather-mcp --client claude
手动配置
- 首先,从 QWeather Console 获取凭据。
- 启动服务:
# stdio server
npx -y qweather-mcp
- 配置环境变量(从以下两种身份验证模式中任选一种)。
🔐 JWT 身份验证(推荐)
QWeather 已宣布,API Key 身份验证将于 2027 年弃用,并建议迁移到 JWT(EdDSA + Ed25519)。生成 Ed25519 密钥对,将公钥上传到 QWeather 控制台,然后进行配置:
QWEATHER_API_BASE=https://<your-host>.qweatherapi.com
QWEATHER_PROJECT_ID=<project-id>
QWEATHER_KEY_ID=<credential-id>
# Either pass the PEM path…
QWEATHER_PRIVATE_KEY_PATH=/path/to/ed25519-private.pem
# …or the PEM content directly (newlines preserved)
# QWEATHER_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
如果同时提供 QWEATHER_PRIVATE_KEY_PATH 和 QWEATHER_PRIVATE_KEY,则优先使用路径。对于 QWEATHER_PRIVATE_KEY,字面上的两个字符 \n 会自动转换为实际换行符,因此上述单行形式适用于 shell、.env 文件和 JSON 配置。
JSON 配置示例:
{
"mcpServers": {
"qweather": {
"command": "npx",
"args": ["-y", "qweather-mcp"],
"env": {
"QWEATHER_API_BASE": "https://<your-host>.qweatherapi.com",
"QWEATHER_PROJECT_ID": "<project-id>",
"QWEATHER_KEY_ID": "<credential-id>",
"QWEATHER_PRIVATE_KEY_PATH": "/path/to/ed25519-private.pem"
}
}
}
}
JWT 详情:令牌使用 alg=EdDSA 签名,iat 回拨 30 秒以容忍时钟偏差,exp = iat + 900s(15 分钟,远低于 QWeather 的 24 小时上限),并会缓存令牌,在过期前约 30 秒重复使用。请参阅官方身份验证文档。
🔑 API Key 身份验证(旧版)
QWEATHER_API_BASE=https://api.qweather.com
QWEATHER_API_KEY=<your-api-key>
JSON 配置示例:
{
"mcpServers": {
"qweather": {
"command": "npx",
"args": ["-y", "qweather-mcp"],
"env": {
"QWEATHER_API_BASE": "<your-api-url>",
"QWEATHER_API_KEY": "<your-api-key>"
}
}
}
}
模式检测
| 存在的环境变量 | 模式 |
|---|---|
完整 JWT 变量(QWEATHER_PROJECT_ID + QWEATHER_KEY_ID + QWEATHER_PRIVATE_KEY[_PATH]) | JWT(即使同时设置了 QWEATHER_API_KEY,也优先使用 JWT) |
完整 JWT 变量 + QWEATHER_API_KEY | JWT(忽略 API Key) |
部分 JWT 变量 + QWEATHER_API_KEY | API Key,启动时向 stderr 输出警告 |
| 仅有部分 JWT 变量 | 启动错误 |
仅有 QWEATHER_API_KEY | API Key |
| 均未设置 | 启动错误 |
启动时会将当前使用的模式记录到 stderr,例如 Weather MCP Server running on stdio (auth: JWT/EdDSA)。
🛠️ 可用工具
get-weather-now
获取指定地点的当前天气信息。
get-weather-forecast
获取指定地点的天气预报信息,可自定义预报天数:
- 3 天预报
- 7 天预报
- 10 天预报
- 15 天预报
- 30 天预报
预报数据包括:
- 气温范围(最低/最高)
- 白天/夜间天气状况
- 日出/日落时间
- 降水
- 湿度
- 风况
- UV 指数
get-minutely-precipitation
提供未来 2 小时逐分钟降水预报,包括:
- 降水类型(雨/雪)
- 每分钟降水量
- 精确的时间预报
- 实时预报描述
get-hourly-forecast
提供未来 24、72 或 168 小时的逐小时天气预报,包括:
- 气温变化
- 天气状况
- 风向和风力
- 相对湿度
- 大气压力
- 降水概率
- 云量
get-weather-warning
提供实时天气预警信息,包括:
- 预警发布机构
- 预警级别和类型
- 详细预警内容
- 预警有效期
- 相关建议
get-weather-indices
提供天气生活指数信息,支持多种指数类型:
- 运动指数
- 洗车指数
- 穿衣指数
- 钓鱼指数
- 紫外线指数
- 旅游指数
- 过敏指数 以及其他 16 种生活指数
get-air-quality
提供实时空气质量数据,包括:
- AQI 指数
- 空气质量等级
- 首要污染物
- 健康建议
- 污染物浓度
get-air-quality-hourly
提供未来 24 小时的逐小时空气质量预报:
- 逐小时 AQI 预测
- 污染物浓度变化
- 健康影响评估
- 防护建议
get-air-quality-daily
提供未来 3 天的空气质量预报:
- 每日 AQI 预测
- 首要污染物预报
- 空气质量等级变化
- 健康防护建议
🤝 参与贡献
欢迎提交问题和改进建议!请查看我们的贡献指南。
📄 许可证
MIT
🔗 相关链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
