# OpenAQ Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## OpenAQ

Check air quality from government monitors near you or anywhere in the world.

- Record: https://musedirectory.ai/connector/openaq
- Category: Health
- Developer: cyanheads
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 1092ms, checked 2026-09-28T09:16:09Z
- Endpoint: https://openaq.caseyjhand.com/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-09-25T06:26:35Z)
- Source: Found in the official MCP Registry (io.github.cyanheads/openaq-mcp-server) https://registry.modelcontextprotocol.io/v0/servers?search=io.github.cyanheads%2Fopenaq-mcp-server

Connects to OpenAQ's global network of air-quality monitoring stations. Find stations by location or country, read current pollutant levels (PM2.5, PM10, NO2, O3, CO and more), and view historical trends. Real measured data from reference monitors and low-cost sensors.

Example request: "What's the air quality like in my neighborhood right now?"

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use OpenAQ to help me. It is a free service with an MCP server at https://openaq.caseyjhand.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- openaq_find_locations: Find air-quality monitoring stations (measured by physical sensors, not modeled) near a point, within a bounding box, or by country, optionally narrowed to one parameter, one station class (reference monitors or low-cost sensors, mobile or fixed), or one provider network. Returns
- openaq_get_readings: Latest measured value for every sensor at a monitoring station — the current-conditions tool. Returns one record per parameter, each with the value, its unit, the UTC and local timestamp, and the sensor id, joined so every value carries its pollutant and unit (the raw latest feed
- openaq_get_measurements: Historical measurement series for one pollutant at one station over a date range — for trend analysis and "was last week worse than the monthly average?". Pass a locationId and a parametersId and work in stations — you get the series for that pollutant at that station. Choose agg
- openaq_list_parameters: Catalog of every measurable pollutant and its canonical unit: id, code, display name, unit, and a one-line description (pm25, pm10, o3, no2, so2, co, bc, and more). This is the unit-disambiguation reference — the same pollutant exists under several ids with different units (CO is
- openaq_list_countries: Catalog of country-level coverage: id, OpenAQ country code, name, the date span of available station data (datetimeFirst/datetimeLast), and which parameters are measured anywhere in that country. The availability check before a regional sweep — answers "which countries have NO2 m
- openaq_dataframe_query: Run a read-only SQL SELECT against the measurement tables openaq_get_measurements staged on a DataCanvas. Reference tables by the name the measurements call returned (measurements_<sensorId>). For aggregation (monthly means, exceedance counts) and cross-sensor comparison over ser
- openaq_dataframe_describe: List the tables and columns staged on a DataCanvas so you can write valid SQL for openaq_dataframe_query without guessing column names. Returns each measurement table (measurements_<sensorId>) with its row count and column names. Requires DataCanvas to be enabled.

Screening checks:
- MCP handshake: pass (Answered in 337ms)
- Domain against threat feeds (Cloudflare security DNS): pass (openaq.caseyjhand.com not flagged)
- Published packages against the OSV malicious-package database: pass (No malicious-package advisories)
- Hidden instructions or invisible characters in tool text: pass (7 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
