EPA AQS

Provides access to EPA AQS data via MCP endpoints for querying air quality, monitors, and QA data.
  • typescript

0

GitHub Stars

typescript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "tyson-swetnam-aqs-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/aqs-mcp/dist/index.js"
      ],
      "env": {
        "AQS_EMAIL": "your.email@example.com",
        "AQS_API_KEY": "your-api-key"
      }
    }
  }
}

You can query the EPA Air Quality System (AQS) data through a dedicated MCP server. This server exposes a range of endpoints to access air quality measurements, monitor information, and QA data, enabling tools and clients to retrieve data efficiently while enforcing API guidelines.

How to use

Use an MCP client to connect to the AQS MCP Server and run the available tools to query state, county, site, monitor, and data endpoints. You can request authentication status, list reference data, fetch raw sample data, and retrieve various summaries (daily, quarterly, annual) for the areas you care about. Expect a 5-second delay between requests to comply with API guidelines and make sure your date ranges stay within a single calendar year. You can provide credentials either per request or through environment variables, depending on your setup. With proper credentials, you can retrieve data for states like California, counties such as Los Angeles, and specific sites or CBSA regions.

How to install

Prerequisites: Node.js and npm must be available on your system. You will run the MCP server locally as a stdio process.

Step-by-step commands you will run:

Clone the MCP server repository

cd aqs-mcp

Install dependencies

npm install

Build the project

npm run build

Run the server locally as a stdio process

node dist/index.js

Configuration

Get an API key for AQS by signing up and checking your email for the key. You can supply credentials per request or via environment variables to avoid repeating them.

Environment variables (optional but recommended):

export AQS_EMAIL="your.email@example.com" and export AQS_API_KEY="your-api-key"

Claude Desktop Configuration

Add to your Claude desktop config to load MCP server details

{
  "mcpServers": {
    "aqs": {
      "command": "node",
      "args": ["/absolute/path/to/aqs-mcp/dist/index.js"],
      "env": {
        "AQS_EMAIL": "your.email@example.com",
        "AQS_API_KEY": "your-api-key"
      }
    }
  }
}

Available tools

aqs_signup

Register for an API key and receive it via email so you can authenticate requests.

aqs_is_available

Check whether the AQS API is operational and reachable.

aqs_list_states

Retrieve all US state FIPS codes for filtering and querying data.

aqs_list_counties

Get counties within a specific state by FIPS code.

aqs_list_sites

List monitoring sites within a given county.

aqs_list_cbsas

Fetch Core Based Statistical Areas (CBSAs) data.

aqs_list_parameter_classes

Obtain parameter classification groups to organize pollutant data.

aqs_list_parameters

List parameters within a selected class for querying data.

aqs_monitors_by_site

Query monitors located at a specific site.

aqs_monitors_by_county

Query monitors within a county.

aqs_monitors_by_state

Query monitors within a state.

aqs_monitors_by_box

Query monitors within a latitude/longitude bounding box.

aqs_monitors_by_cbsa

Query monitors within a CBSA region.

aqs_sample_data_by_site

Retrieve raw sample data for a specific site.

aqs_sample_data_by_county

Retrieve raw sample data for a county.

aqs_sample_data_by_state

Retrieve raw sample data for a state.

aqs_sample_data_by_box

Retrieve raw sample data within a bounding box.

aqs_sample_data_by_cbsa

Retrieve raw sample data for a CBSA.

aqs_daily_summary_by_site

Get daily summary data for a site.

aqs_daily_summary_by_county

Get daily summary data for a county.

aqs_daily_summary_by_state

Get daily summary data for a state.

aqs_daily_summary_by_box

Get daily summary data within a bounding box.

aqs_daily_summary_by_cbsa

Get daily summary data for a CBSA.

aqs_quarterly_summary_by_site

Get quarterly summary data for a site.

aqs_quarterly_summary_by_county

Get quarterly summary data for a county.

aqs_quarterly_summary_by_state

Get quarterly summary data for a state.

aqs_annual_summary_by_site

Get annual summary data for a site.

aqs_annual_summary_by_county

Get annual summary data for a county.

aqs_annual_summary_by_state

Get annual summary data for a state.

aqs_annual_summary_by_box

Get annual summary data within a bounding box.

aqs_annual_summary_by_cbsa

Get annual summary data for a CBSA.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational