Epa Aqs
liveLegalEnvironmentEPA AQS MCP — the Air Quality System, EPA's regulatory-grade air monitoring archive
Tools
aqs_list_parametersLook up the EPA AQS code lists the other tools in this pack need — pollutant parameter codes, parameter classes, states, counties, sites and monitoring agencies. Call this FIRST to turn "ozone" into 4
No parameters required.
Try it
aqs_sample_dataRaw measured air-pollutant sample values from EPA AQS for a date range — the regulatory record, by site, county, state or CBSA. AUTHORITATIVE for "what was the actual ozone/PM2.5/lead concentration he
No parameters required.
Try it
aqs_annual_summaryEPA AQS annual summary statistics for a pollutant and area — arithmetic mean, maximum, 98th/99th percentile, exceedance counts, observation completeness and the certification status behind each. This
No parameters required.
Try it
aqs_monitorsEPA AQS monitor metadata for an area — which pollutants are measured where, by which agency, with what method and network membership (NCore, PAMS, SLAMS), the monitoring objective, and each monitor's
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/epa-aqs/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/epa-aqs/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"aqs_list_parameters","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("aqs_list_parameters", {});// Or ask in plain English:
const answer = await px.ask("epa aqs mcp — the air quality system, epa's regulatory-grade air monitoring archive");