io.github.overstarry/qweather-mcp

平台与服务

by overstarry

一个对接 QWeather 服务的 MCP 服务器,可供模型查询天气数据并集成相关气象能力。

什么是 io.github.overstarry/qweather-mcp

一个对接 QWeather 服务的 MCP 服务器,可供模型查询天气数据并集成相关气象能力。

README

qweather-mcp

Verified on MseeP MseeP.ai Security Assessment Badge smithery badge

English | 简体中文

MCP server for QWeather API, providing comprehensive weather information query capabilities through Model Context Protocol (MCP).

✨ Features

  • 🌤️ Real-time weather queries
  • 📅 Multi-day weather forecasts (3/7/10/15/30 days)
  • 🔐 JWT (EdDSA/Ed25519) and legacy API Key authentication
  • 🔌 Custom API base URL support
  • 🛠️ Complete tool integration

📦 Installation

Via Smithery

Recommended: Install automatically for Claude Desktop using Smithery:

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

Manual Configuration

  1. First, get your credentials from the QWeather Console.
  2. Start the server:
bash
# stdio server
npx -y qweather-mcp
  1. Configure environment variables (pick one of the two auth modes below).

🔐 JWT Authentication (recommended)

QWeather has announced that API Key authentication will be deprecated in 2027 and recommends migrating to JWT (EdDSA + Ed25519). Generate an Ed25519 key pair, upload the public key to the QWeather console, and configure:

bash
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-----"

If both QWEATHER_PRIVATE_KEY_PATH and QWEATHER_PRIVATE_KEY are provided, the path takes precedence. For QWEATHER_PRIVATE_KEY, the literal two-character sequence \n is auto-converted to real newlines, so the single-line form above works in shells, .env files, and JSON configs.

JSON config example:

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 details: tokens are signed with alg=EdDSA, iat is back-dated 30s to tolerate clock skew, exp = iat + 900s (15 min, well under QWeather's 24h cap), and tokens are cached and reused until ~30s before expiry. See the official authentication docs.

🔑 API Key Authentication (legacy)

bash
QWEATHER_API_BASE=https://api.qweather.com
QWEATHER_API_KEY=<your-api-key>

JSON config example:

json
{
  "mcpServers": {
    "qweather": {
      "command": "npx",
      "args": ["-y", "qweather-mcp"],
      "env": {
        "QWEATHER_API_BASE": "<your-api-url>",
        "QWEATHER_API_KEY": "<your-api-key>"
      }
    }
  }
}

Mode detection

Env vars presentMode
Full JWT vars (QWEATHER_PROJECT_ID + QWEATHER_KEY_ID + QWEATHER_PRIVATE_KEY[_PATH])JWT (wins even if QWEATHER_API_KEY is also set)
Full JWT vars + QWEATHER_API_KEYJWT (API Key is ignored)
Partial JWT vars + QWEATHER_API_KEYAPI Key, with a startup warning to stderr
Partial JWT vars onlystartup error
QWEATHER_API_KEY onlyAPI Key
neitherstartup error

The active mode is logged to stderr at startup, e.g. Weather MCP Server running on stdio (auth: JWT/EdDSA).

🛠️ Available Tools

get-weather-now

Get current weather information for a specified location.

get-weather-forecast

Get weather forecast information for a specified location with customizable forecast days:

  • 3-day forecast
  • 7-day forecast
  • 10-day forecast
  • 15-day forecast
  • 30-day forecast

Forecast data includes:

  • Temperature range (min/max)
  • Day/night weather conditions
  • Sunrise/sunset times
  • Precipitation
  • Humidity
  • Wind conditions
  • UV index

get-minutely-precipitation

Provides minute-by-minute precipitation forecast for the next 2 hours, including:

  • Precipitation type (rain/snow)
  • Precipitation amount per minute
  • Precise time predictions
  • Real-time forecast descriptions

get-hourly-forecast

Provides hourly weather forecasts for 24, 72, or 168 hours, including:

  • Temperature changes
  • Weather conditions
  • Wind direction and force
  • Relative humidity
  • Atmospheric pressure
  • Precipitation probability
  • Cloud coverage

get-weather-warning

Provides real-time weather warning information, including:

  • Warning issuing authority
  • Warning level and type
  • Detailed warning content
  • Warning validity period
  • Related recommendations

get-weather-indices

Provides weather life indices information, supporting various index types:

  • Sports index
  • Car wash index
  • Dressing index
  • Fishing index
  • UV index
  • Tourism index
  • Allergy index and 16 other life indices

get-air-quality

Provides real-time air quality data, including:

  • AQI index
  • Air quality level
  • Primary pollutants
  • Health advice
  • Pollutant concentrations

get-air-quality-hourly

Provides hourly air quality forecast for the next 24 hours:

  • Hourly AQI predictions
  • Pollutant concentration changes
  • Health impact assessment
  • Protection recommendations

get-air-quality-daily

Provides air quality forecast for the next 3 days:

  • Daily AQI predictions
  • Primary pollutant forecasts
  • Air quality level changes
  • Health protection advice

🤝 Contributing

Issues and improvements are welcome! Please check our contribution guidelines.

📄 License

MIT

🔗 Related Links

常见问题

io.github.overstarry/qweather-mcp 是什么?

一个对接 QWeather 服务的 MCP 服务器,可供模型查询天气数据并集成相关气象能力。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描171.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描171.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描24.9k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论