unoff-qweather-mcp 0.1.4
An unofficial MCP (Multiagent Conversation Protocol) wrapper for the QWeather API
Requires Python: >=3.10

# Unofficial QWeather MCP

An unofficial MCP (Multiagent Conversation Protocol) wrapper for the QWeather API. This package provides tools to easily access QWeather's comprehensive weather data services through MCP, allowing integration with AI agents, chatbots, and other applications.

## Features

- **City Lookup**: Search for cities by name, coordinates, LocationID or Adcode
- **POI Lookup**: Find points of interest like scenic spots and stations
- **Real-time Weather**: Get current weather conditions for global locations
- **Weather Forecasts**: Daily forecasts for 3-30 days and hourly forecasts up to 7 days
- **Weather Warnings**: Access real-time disaster warnings and warning lists by region
- **Weather Indices**: Get lifestyle indices like UV index, sports conditions, etc.
- **Air Quality**: Real-time and forecast air quality data with detailed pollutant information

## Installation

```bash
pip install unoff-qweather-mcp
```

## Authentication

This package requires a QWeather API key. You'll need to:

1. Register for an account at [QWeather Developer Platform](https://dev.qweather.com/)
2. Create an API key in the developer console
3. Set the following environment variables:

```bash
export QWEATHER_API_KEY="your_api_key_here"
export QWEATHER_API_HOST="api.qweather.com"  # or another appropriate host based on your subscription
```

The API host depends on your subscription tier. See [QWeather API Configuration](https://dev.qweather.com/docs/configuration/api-config/#api-host) for details.

## Usage


### Running as an Claude MCP


macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

Windows: `%APPDATA%\Claude\claude_desktop_config.json`



```bash
# Clone and config the env
git clone https://github.com/HongpengM/unoff-qweather-mcp.git

# Set up your environment variables by copying the example file
copy env.example .env

# Run the MCP server
uv --directory /path/to/your_dir run src/unoff_qweather/qweather.py
```

Using the published version:

```json
{
  "mcpServers": {
    "qweather": {
      "command": "uvx",
      "args": [
        "unoff-qweather-mcp"
      ],
      "env": {
        "QWEATHER_API_KEY": "your_api_key_here",
        "QWEATHER_API_HOST": "api.qweather.com" 
      }
    }
  }
}
```


For local pulled repository: 
```json
{
  "mcpServers": {
    "qweather": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your_dir",
        "run",
        "src/unoff_qweather/qweather.py"
      ],
      "env": {
        "QWEATHER_API_KEY": "your_api_key_here",
        "QWEATHER_API_HOST": "api.qweather.com" 
      }
    }
  }
}
```

## Available Tools

This package provides the following MCP tools:

- `lookup_city` - Search for cities by name or coordinates
- `lookup_poi` - Find points of interest
- `weather_now` - Get current weather conditions
- `weather_forecast_days` - Get daily weather forecasts (3-30 days)
- `weather_forecast_hours` - Get hourly weather forecasts (24-168 hours)
- `warning_city_list` - Get cities with active weather warnings
- `weather_warning` - Get detailed weather warnings for a location
- `weather_indices` - Get lifestyle indices (UV, sports, etc.)
- `air_quality_now` - Get current air quality data
- `air_quality_forecast` - Get air quality forecasts

For detailed parameter information, see each function's docstring in the code.


## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Disclaimer

This is an unofficial wrapper and not affiliated with or endorsed by QWeather. Users must comply with QWeather's terms of service when using this package.