Skip to main content
Glama

Daily air quality history

get_air_quality_history
Read-onlyIdempotent

Daily PM2.5 of a city from the Atmy Data Hub (UTC days, sensors after the quality check) with the day's weather from 2026-01-19 (mean, lowest and highest temperature, humidity, pressure, wind, strongest gust, clouds): the last days, or any period since 2017 with from/to, at most 400 days per call. For the whole history or records use get_air_quality_monthly first.

Input Schema

NameRequiredDescriptionDefault
toNoLast day YYYY-MM-DD; default the last completed day.
latNoLatitude; with lon, the nearest city with an Atmy summary within 50 km.
lonNoLongitude.
cityNoCity name in any of the site languages, a slug like "russia/krasnoyarsk", or the Atmy city id.
daysNoHow many days back from the last completed day; ignored with from/to.
fromNoFirst day YYYY-MM-DD (2017-01-01 or later).
langNoLanguage of city and country names and of the page link; default en.
countryNoCountry name, to tell apart cities with the same name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / days / description
      Previous value: -"How many days back."New value: +"How many days back from the last completed day; ignored with from/to."
    • addedInput schema / properties / from
      Added value: +{
      +  "description": "First day YYYY-MM-DD (2017-01-01 or later).",
      +  "format": "date",
      +  "type": "string"
      +}
    • addedInput schema / properties / to
      Added value: +{
      +  "description": "Last day YYYY-MM-DD; default the last completed day.",
      +  "format": "date",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the description only needs to add operational context. It does: UTC-day bucketing, sensors passing a quality check, a 2017 floor, a 400-day cap per call, and 'last completed day' as the implicit default. It does not cover truncation/pagination behavior when a range is near the cap.

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?

Two sentences, resource and data source front-loaded, with the sibling routing last. The first sentence is densely nested with parentheticals and the 2026-01-19 clause, which costs some readability, but there is no filler.

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?

For an 8-parameter, all-optional tool with no output schema, the description lists the returned measures (PM2.5 plus temperature/humidity/pressure/wind/gust/clouds) and the date semantics, which is what an agent needs to call it correctly. Remaining gaps are response shape details and the meaning of the 2026-01-19 reference.

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

Parameters4/5

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

With 100% schema description coverage the baseline is 3, and the description earns an increment by stating the 400-day span cap on from/to, a constraint absent from the schema's per-field bounds. It also reinforces that 'days' is ignored with from/to, though that particular fact is already in the schema.

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?

The description names a specific verb+resource: daily PM2.5 values for a city from a named data source, enriched with same-day weather variables. It also differentiates itself from get_air_quality_monthly by pointing to it for whole-history needs. The only blemish is the ambiguous 'weather from 2026-01-19' clause, which can be misread as a start date and sit awkwardly next to 'since 2017'.

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

Usage Guidelines5/5

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

It states concrete modes of use (default last days, or an explicit from/to span), gives the hard constraint of at most 400 days per call, and names the alternative tool for whole history or records. The agent has an explicit routing rule rather than having to infer one.

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.

Resources