Skip to main content
Glama

Hermes — Air Quality Intelligence

get_historical_aq

Get historical air quality data for a site or location, with health context.

Returns a 'narrative' with plain-English interpretation of trends, WHO guideline exceedances, and guideline comparisons. Present the narrative to users first. Also returns raw 'data' and 'summary' statistics.

Args: start_date: Start date (ISO format, e.g. "2025-01-01"). end_date: End date (ISO format). location: Postcode, place name, or "lat,lon". Provide this or site_code. site_code: Direct site code. Provide this or location. pollutants: Optional filter, e.g. ["NO2", "PM2.5"]. frequency: "hourly", "daily", or "monthly" (default "daily").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateYes
locationNo
frequencyNodaily
site_codeNo
pollutantsNo
start_dateYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the return structure (narrative, data, summary) and gives a specific behavioral instruction: 'Present the narrative to users first.' It also explains that either location or site_code is required. It doesn't mention limitations like data gaps or authentication, but for a read-only historical data tool, the provided behavior is sufficient.

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

Conciseness5/5

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

The description is front-loaded with a clear one-sentence purpose, followed by the output structure and a terse but complete parameter list. Every sentence earns its place; no redundant or filler content. The structure is logical and easy to scan.

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

Completeness4/5

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

The description covers the core purpose, output, and all parameters, and no output schema exists, so explaining return values is necessary and done adequately. It lacks details on the exact shape of the raw 'data' or 'summary' fields and doesn't clarify behavior if both location and site_code are given, but these are minor gaps given the tool's complexity.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates fully with an 'Args' section that explains each parameter: ISO format for dates, the 'location or site_code' alternative, optional pollutants with an example, and the frequency options with default. This goes far beyond the schema's bare types and defaults, adding critical meaning.

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

Purpose5/5

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

The description clearly states the tool retrieves historical air quality data for a site or location and includes health context. It distinguishes itself from siblings like get_current_aq by specifying 'historical' and adds a unique output (narrative with WHO guideline comparisons). The verb 'Get' and the resource are specific and non-tautological.

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

Usage Guidelines4/5

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

The description makes it evident this is for historical data (vs current), and the mention of health context and narrative implies use when users need plain-English interpretations. However, it does not explicitly state when not to use this tool or mention alternative tools like trend_analysis or get_aqi_summary, so it lacks explicit exclusions but provides clear context.

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.

TDQS

A4/5.0
Disambiguation3/5

Three tools (assess_location_aq, get_current_aq, get_aqi_summary) all provide current air quality and health context, creating potential misselection. The assess tool is positioned as the default entry point, but the boundaries between detailed readings, AQI summary, and comprehensive assessment could confuse an agent. Other tools are more clearly distinct.

Naming Consistency4/5

Most tools follow a verb_noun pattern (get_current_aq, list_monitors, chart_aq_trend), but three use noun phrases (regulatory_stats, time_patterns, trend_analysis). The kb_ prefix is used consistently for knowledge base lookups. Overall conventions are mostly consistent with minor deviations.

Tool Count5/5

15 tools is at the upper end of the ideal range and each serves a distinct function within the air quality domain, from current conditions to historical trends, comparisons, and regulatory compliance. No tool feels redundant, and the count is appropriate for the server's stated purpose.

Completeness5/5

The tool set covers current conditions, historical data, trend analysis, temporal patterns, location comparisons, regulatory statistics, monitor discovery, and a knowledge base for guidelines, health effects, and practical advice. This is a comprehensive surface with no glaring missing operations for the domain.

Resources