Air Quality MCP
Free, keyless real-time air quality (US AQI plus PM2.5, PM10, ozone, NO2, SO2, CO) for any city.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"air-quality-mcp": {
"url": "https://ads.getlulu.dev/air-quality/mcp"
}
}
}Remote endpoints
https://ads.getlulu.dev/air-quality/mcpstreamable-httpWhat it can do
Tool inventory
Tools (1)
🟢get_air_quality(city)
Get the current air quality for a city, from real-time monitoring and atmospheric model data. Use for any "what's the air quality in X", "is it safe to go outside in Y", "how polluted is Z" style question, or whenever pollen/smog/wildfire-smoke/pollution conditions are relevant to a plan (running, cycling, sensitive-groups advice, travel). `city` is a free-text place name (e.g. "Bangkok", "Berlin", "Springfield, US"). Returns a dict with: - `location`: resolved place name/country/admin1 - `us_aqi`: the current US Air Quality Index (0-500+) - `aqi_category`: plain-language category computed from `us_aqi` -- "Good" (0-50), "Moderate" (51-100), "Unhealthy for Sensitive Groups" (101-150), "Unhealthy" (151-200), "Very Unhealthy" (201-300), or "Hazardous" (301+); "Unknown" if no AQI could be resolved for that location - `pm2_5`, `pm10`: particulate matter concentrations (ug/m3) - `ozone`, `nitrogen_dioxide`, `sulphur_dioxide`, `carbon_monoxide`: trace gas concentrations (ug/m3) - `local_time`: the timestamp of the reading, in the location's local time - `attribution`
Input Schema
{
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}Community
Evidence