Skip to main content
Glama

EPA AQS Daily Air Quality

epa_aqs.air_quality.get_daily_data
Read-onlyIdempotent

Daily summary air quality measurements (e.g. PM2.5, ozone) from EPA monitors in a US county for a date range within one calendar year: arithmetic mean, max value, AQI, site. Source: US EPA AQS.

Input Schema

NameRequiredDescriptionDefault
stateYes2-digit state FIPS code (e.g. "06" California, "36" New York)
countyYes3-digit county FIPS code (e.g. "037" Los Angeles County; see epa-aqs.list_counties)
end_dateYesEnd date (must be in the same calendar year as begin_date) as YYYYMMDD (e.g. "20240101")
max_rowsNoMaximum number of rows to return (1-1000, default 200)
begin_dateYesBegin date as YYYYMMDD (e.g. "20240101")
parameter_codesYesAQS parameter code(s), comma-separated, max 5 (e.g. "88101" PM2.5, "44201" ozone, "42101" CO; see epa-aqs.list_parameters)

Output Schema

NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds useful behavioral context (one-calendar-year range restriction, county scoping, the aggregated fields returned) but says nothing about pagination via max_rows or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the resource and scope, followed by the source attribution. No filler, though the clause stacking makes it slightly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value detail is unnecessary, and full annotations cover the safety profile. The description supplies the key operational constraints (county scope, one-year window) an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents FIPS codes, date formats, parameter codes, and max_rows. The description only echoes that it targets a county and pollutant parameters (PM2.5, ozone) without adding format or syntax detail. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: daily summary air quality measurements from EPA monitors in a US county, and even names the returned aggregates (mean, max, AQI, site). 'Daily' distinguishes it from the sibling get_annual_data implicitly, though it never names the alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies scoping constraints ('US county', 'date range within one calendar year'), which tell the agent how the tool operates, but gives no explicit when-to-use vs when-not guidance or routing to siblings like get_annual_data or get_monitors. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.