天气查询服务

通过模型上下文协议(MCP)提供全面的天气信息查询服务,包括实时天气、多日预报、空气质量等数据。

  • by overstarry
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 overstarry/qweather-mcp

使用说明

qweather mcp

英语| 简体中文

MCP服务器 Q吃 API,通过模型上下文协议(MCP)提供全面的天气信息查询功能。

✨ 特性

  • 🌤️ 实时天气查询
  • 📅 多日天气预报(3/7/10/15/30天)
  • 🔐 智威汤逊(EdDSA/Ed25519) 和 传统API密钥身份验证
  • 🔌 自定义API基础URL支持
  • 🛠️ 完整的工具集成

📦 安装

通过史密瑟里

建议:使用以下命令自动安装Claude Desktop 铁匠铺:

npx -y @smithery/cli install @overstarry/qweather-mcp --client claude

手动配置

  1. 首先,从 Q座椅控制台.
  2. 启动服务器:
# stdio server
npx -y qweather-mcp
  1. 配置环境变量(选择 一 以下两种身份验证模式)。

🔐 JWT身份验证(推荐)

QWeather宣布 API密钥身份验证将在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密钥验证(旧版)

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变体+ QWEATHER_API_KEY JWT (API密钥被忽略)
部分JWT变体+ QWEATHER_API_KEY API密钥,向stderr发出启动警告
仅部分JWT变量 启动错误
QWEATHER_API_KEY 仅限 API密钥
都没有 启动错误

启动时,活动模式会记录到stderr中,例如。 Weather MCP Server running on stdio (auth: JWT/EdDSA).

🛠️ 可用工具

立即获取天气信息

获取指定位置的当前天气信息。

获取天气预报

使用可自定义的预报天数获取指定位置的天气预报信息:

  • 3天预报
  • 7天预报
  • 10天预报
  • 15天预报
  • 30天预报

预测数据包括:

  • 温度范围(最小/最大)
  • 昼夜天气状况
  • 日出/日落时间
  • 降水
  • 湿度
  • 风力条件
  • 紫外线指数

获得微小降水

提供未来2小时的逐分钟降水预报,包括:

  • 降水类型(雨/雪)
  • 每分钟降水量
  • 精确的时间预测
  • 实时预测描述

获取每小时预报

提供24、72或168小时的每小时天气预报,包括:

  • 温度变化
  • 天气情况
  • 风向和风力
  • 相对湿度
  • 大气压力
  • 降水概率
  • 云层覆盖范围

获取天气预警

提供实时天气预警信息,包括:

  • 警告发布机构
  • 警告级别和类型
  • 详细警告内容
  • 警告有效期
  • 相关建议

获取天气指数

提供天气生命指数信息,支持各种指数类型:

  • 体育指数
  • 洗车指数
  • 着装指数
  • 渔捞指数
  • 紫外线指数
  • 旅游指数
  • 过敏指数 以及其他16个生命指数

获得空气质量

提供实时空气质量数据,包括:

  • 空气质量指数
  • 空气质量水平
  • 主要污染物
  • 健康建议
  • 污染物浓度

每小时获得空气质量

提供未来24小时的每小时空气质量预报:

  • 每小时空气质量指数预测
  • 污染物浓度变化
  • 健康影响评估
  • 保护建议

每天获得空气质量

提供未来3天的空气质量预报:

  • 每日空气质量指数预测
  • 主要污染物预测
  • 空气质量等级变化
  • 健康保护建议

🤝 贡献

欢迎提出问题和改进!请查看我们的捐款指南。

📄 许可证

麻省理工学院

🔗 相关链接