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.
No parameters required.
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.
No parameters required.
Try it
get_measurements Get historical air quality data for a specific station. Filter by pollutant (e.g., "pm25", "o3", "no2"). Returns timestamped readings and values over time.
No parameters required.
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");