{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_un8svwjbvnp4","handle":"air-quality-mcp-2","url":"https://wellknown.network/agents/air-quality-mcp-2","links":{"self":"https://wellknown.network/agents/air-quality-mcp-2/record.json","html":"https://wellknown.network/agents/air-quality-mcp-2","markdown":"https://wellknown.network/agents/air-quality-mcp-2/record.md","api":"https://wellknown.network/api/v1/agents/air-quality-mcp-2","status":"https://wellknown.network/api/v1/agents/air-quality-mcp-2/status","claim":"https://wellknown.network/agents/air-quality-mcp-2/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/air-quality-mcp-2/claim.json","badge":"https://wellknown.network/agents/air-quality-mcp-2/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/air-quality-mcp-2/history","tools":"https://wellknown.network/api/v1/agents/air-quality-mcp-2/tools"},"ard":{"identifier":"urn:air::server:air-quality-mcp-2","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"air-quality-mcp","summary":"Free, keyless air quality MCP server — real current AQI, PM2.5, PM10, and pollutant data via Open-Meteo.","description":"# air-quality-mcp\n\n**Real, current air quality (US AQI, PM2.5, PM10, ozone, and more) for any city, free, in one command.**\n\n```bash\npip install air-quality-mcp   # or: uvx air-quality-mcp\n```\n\nThen ask your agent: *\"what's the air quality in Bangkok?\"* or *\"is it safe to run outside in Berlin today?\"*\n\nNo API key. No signup. Free.\n\n## Tools\n\n| Tool | What the model sees it for |\n|---|---|\n| `get_air_quality(city)` | Current air quality for a city -- US AQI, PM2.5, PM10, ozone, NO2, SO2, CO, plus a plain-language category. \"What's the air quality in X\", \"is it safe to go outside in Y\", \"how polluted is Z\". |\n\n`city` is a free-text place name (e.g. \"Bangkok\", \"Berlin\", \"Springfield, US\").\n\n## Example\n\n```\n> get_air_quality(\"Bangkok\")\n{\n  \"location\": {\n    \"name\": \"Bangkok\",\n    \"country\": \"Thailand\",\n    \"admin1\": \"Bangkok\"\n  },\n  \"us_aqi\": 27,\n  \"aqi_category\": \"Good\",\n  \"pm2_5\": 5.4,\n  \"pm10\": 6.4,\n  \"ozone\": 36.0,\n  \"nitrogen_dioxide\": 14.1,\n  \"sulphur_dioxide\": 3.9,\n  \"carbon_monoxide\": 1861.0,\n  \"local_time\": \"2026-08-06T20:00\",\n  \"attribution\": \"Air quality data by Open-Meteo (open-meteo.com)\"\n}\n```\n\n```\n> get_air_quality(\"Berlin\")\n{\n  \"location\": {\n    \"name\": \"Berlin\",\n    \"country\": \"Germany\",\n    \"admin1\": \"State of Berlin\"\n  },\n  \"us_aqi\": 51,\n  \"aqi_category\": \"Moderate\",\n  \"pm2_5\": 5.5,\n  \"pm10\": 9.6,\n  \"ozone\": 102.0,\n  \"nitrogen_dioxide\": 2.6,\n  \"sulphur_dioxide\": 1.0,\n  \"carbon_monoxide\": 145.0,\n  \"local_time\": \"2026-08-06T15:00\",\n  \"attribution\": \"Air quality data by Open-Meteo (open-meteo.com)\"\n}\n```\n\n`aqi_category` is computed from `us_aqi` using the standard US AQI bands: 0-50 Good,\n51-100 Moderate, 101-150 Unhealthy for Sensitive Groups, 151-200 Unhealthy,\n201-300 Very Unhealthy, 301+ Hazardous. It comes back as `\"Unknown\"` on the rare\ngrid cell where no AQI can be resolved.\n\n## How it's free\n\nThis server is part of the [Lulu Ads](https://getlulu.dev/publishers) network:\ntool results may carry one clearly labeled, disclosed `sponsored` data fiel…","publisher":null,"homepage":"https://getlulu.dev/mcps/air-quality-mcp","repository":"https://github.com/Lulu-The-Narwhal/lulu-platform","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["air-quality","aqi","claude","mcp","model-context-protocol","pollution"],"pricing":null,"endpoints":[{"url":"pypi:air-quality-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"air-quality-mcp","registry":"pypi","observedAt":"2026-10-09T13:28:13.652Z","publishedAt":"2026-08-07T08:11:11.366951Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"air-quality-mcp","url":"https://pypi.org/project/air-quality-mcp/","firstSeenAt":"2026-09-09T08:21:55.379Z","fetchedAt":"2026-10-09T13:27:24.961Z","normalizedAt":"2026-10-09T13:27:24.961Z"}]},"firstSeenAt":"2026-09-09T08:21:55.379Z","updatedAt":"2026-10-09T13:28:13.652Z"}