OpenAQ
live EnvironmentHealthGet current air quality readings from worldwide sensor stations. Filter by country code (e.g., "US", "IN").
Tools
get_latest Get current air quality readings from worldwide sensor stations. Filter by country code (e.g., "US", "IN"). Returns PM2.5, PM10, ozone, NO2, SO2, CO levels with timestamps.
limit opt number Maximum number of station results to return (default 10, max 100). country opt string ISO 3166-1 alpha-2 country code to filter by (e.g. "US", "GB", "DE"). Try it
get_locations Find air quality monitoring stations by city and/or country (e.g., city="Delhi", country="IN"). Returns station coordinates, names, and available pollutant parameters.
limit opt number Maximum number of locations to return (default 10, max 100). city opt string City name to filter locations by (e.g. "London", "Los Angeles"). country opt string ISO 3166-1 alpha-2 country code to filter by (e.g. "US", "GB"). Try it
get_measurements
required: location_id Get historical air quality data for a specific station. Filter by pollutant (e.g., "pm25", "o3", "no2"). Returns timestamped readings and values over time.
location_id req number Numeric location ID from get_locations (e.g. 2178). limit opt number Maximum number of measurement records to return (default 20, max 100). parameter opt string Pollutant parameter to filter by. One of: pm25, pm10, o3, no2, so2, co. Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/openaq/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/openaq/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_latest","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("get_latest", {}); // Or ask in plain English:
const answer = await px.ask("get current air quality readings from worldwide sensor stations"); Related packs
Other Pipeworx packs in the same categories (Environment, Health):