AQICN MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AQICN MCP Serverwhat's the air quality in Tokyo right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AQICN MCP Server
This is a Model Context Protocol (MCP) server that provides air quality data tools from the World Air Quality Index (AQICN) project. It allows LLMs to fetch real-time air quality data for cities and coordinates worldwide.
Installation
Installing via Smithery
To install AQICN MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mattmarcin/aqicn-mcp --client claudeInstalling via recommended uv (manual)
We recommend using uv to manage your Python environment:
# Install the package and dependencies
uv pip install -e .Related MCP server: Weather MCP Server
Environment Setup
Create a .env file in the project root (you can copy from .env.example):
# .env
AQICN_API_KEY=your_api_key_hereAlternatively, you can set the environment variable directly:
# Linux/macOS
export AQICN_API_KEY=your_api_key_here
# Windows
set AQICN_API_KEY=your_api_key_hereRunning the Server
Development Mode
The fastest way to test and debug your server is with the MCP Inspector:
mcp dev aqicn_server.pyClaude Desktop Integration
Once your server is ready, install it in Claude Desktop:
mcp install aqicn_server.pyDirect Execution
For testing or custom deployments:
python aqicn_server.pyAvailable Tools
1. city_aqi
Get air quality data for a specific city.
@mcp.tool()
def city_aqi(city: str) -> AQIData:
"""Get air quality data for a specific city."""Input:
city: Name of the city to get air quality data for
Output: AQIData with:
aqi: Air Quality Index valuestation: Station namedominant_pollutant: Main pollutant (if available)time: Timestamp of the measurementcoordinates: Latitude and longitude of the station
2. geo_aqi
Get air quality data for a specific location using coordinates.
@mcp.tool()
def geo_aqi(latitude: float, longitude: float) -> AQIData:
"""Get air quality data for a specific location using coordinates."""Input:
latitude: Latitude of the locationlongitude: Longitude of the location
Output: Same as city_aqi
3. search_station
Search for air quality monitoring stations by keyword.
@mcp.tool()
def search_station(keyword: str) -> list[StationInfo]:
"""Search for air quality monitoring stations by keyword."""Input:
keyword: Keyword to search for stations (city name, station name, etc.)
Output: List of StationInfo with:
name: Station namestation_id: Unique station identifiercoordinates: Latitude and longitude of the station
Example Usage
Using the MCP Python client:
from mcp import Client
async with Client() as client:
# Get air quality data for Beijing
beijing_data = await client.city_aqi(city="beijing")
print(f"Beijing AQI: {beijing_data.aqi}")
# Get air quality data by coordinates (Tokyo)
geo_data = await client.geo_aqi(latitude=35.6762, longitude=139.6503)
print(f"Tokyo AQI: {geo_data.aqi}")
# Search for stations
stations = await client.search_station(keyword="london")
for station in stations:
print(f"Station: {station.name} ({station.coordinates})")Contributing
Feel free to open issues and pull requests. Please ensure your changes include appropriate tests and documentation.
License
This project is licensed under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Air Quality MCP — wraps air-quality-api.open-meteo.com (free, no auth)
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
OpenAQ MCP — global air-quality measurements via the OpenAQ v3 API.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol implementation that enables LLMs to access real-time, forecasted, and historical U.S. air quality data through the AirNow API.103 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time weather, forecasts, historical data, and air quality for AI assistants via the Model Context Protocol.-
- AlicenseNot gradedqualityBmaintenanceEnables querying of official Netherlands air quality data from the RIVM Luchtmeetnet API via MCP tools.4 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time Air Quality Index data from the World Air Quality Index service, enabling queries by location, station, or keyword search.1 npmMIT