
Qweather Mcp
io.github.overstarryPublished by GitHub account overstarryv1.0.12Updated Oct 24, 2026
a qweather mcp server
Overview
A local MCP server that gives an assistant QWeather weather, forecast, air quality, warning, and life-index data for a location.
- What you can do
- Wraps the QWeather API as MCP tools. Tools cover current conditions, multi-day forecasts (3/7/10/15/30 days), minute-by-minute precipitation for the next two hours, hourly forecasts up to 168 hours, weather warnings, life indices such as dressing or UV, and current, hourly, and 3-day air quality. It runs over stdio and supports a custom API base URL.
- When to use it
- Useful when an assistant should answer weather, forecast, air quality, or weather-warning questions for a location, including short-term rain timing and daily planning indices. Add it if you already have QWeather API credentials and want that data inside your assistant rather than in a browser.
- Requirements
- Runs locally over stdio, typically via npx qweather-mcp, so Node.js is needed. Requires QWeather credentials: either the legacy API Key mode with QWEATHER_API_BASE and QWEATHER_API_KEY, or the recommended JWT mode with QWEATHER_API_BASE, QWEATHER_PROJECT_ID, QWEATHER_KEY_ID, and an Ed25519 private key supplied via QWEATHER_PRIVATE_KEY_PATH or QWEATHER_PRIVATE_KEY. Network access to the QWeather host is required.
Installation
In SourceWeft
- Open Qweather Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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:
Manual Configuration
- First, get your credentials from the QWeather Console.
- Start the server:
- 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:
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:
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)
JSON config example:
Mode detection
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
Source: README.md at commit 97a7a98
Tools
0Version history
1- v1.0.12LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.