Skip to main content
Glama

Air quality now in a city

city_air
Read-only

PM2.5 now in a city: the latest hourly value, its 24-hour, 7-day, 30-day and year-to-date averages with its rank among all measured cities, the US EPA category, how it compares with the WHO guideline, and the "why it ranks here" notes (patterns in its own history and nearby fire, smoke and volcano evidence, named as likely causes, never confirmed), and the local hours its air was usually worst and cleanest over the last 30 days. Each measured city's trust says what stands behind it: checked (reference monitors at 2+ sites), one (a single reference site) or low (3+ low-cost sensors). Cities without a monitor get a model estimate, labelled as one, plus few_sensors when one or two low-cost sensors measure there (not ranked). No forecasts.

Input Schema

NameRequiredDescriptionDefault
cityYesCity as its page path ("us/los-angeles"), a SmogRank URL, or a name ("Lahore", "Delhi, India"). find_city lists the paths.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds substantial context beyond them: trust tiers (checked/one/low), model estimates for unmonitored cities, the few_sensors qualifier, the 'not ranked' caveat, and that cause notes are 'named as likely causes, never confirmed'. That provenance and uncertainty disclosure is genuinely useful, though it doesn't mention rate limits or data latency beyond 'latest hourly'.

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

Conciseness3/5

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

The opening clause names the core metric up front, which is good front-loading, but the body is one very long comma-chained sentence packed with secondary details. Given there is no output schema the information largely earns its place, yet the structure could be broken into digestible statements.

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 no output schema, the description carries the full burden of explaining return content, and it does: values, averages, rank, EPA category, WHO comparison, cause notes, worst/cleanest hours, and the trust/model-estimate labelling. An agent can interpret the response without further documentation.

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 coverage is 100% with a single required parameter, and the schema itself explains the accepted forms (page path, SmogRank URL, or name) and points at find_city. The description adds no parameter guidance of its own, so the baseline of 3 applies.

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 pins down a specific resource and metric: 'PM2.5 now in a city' with latest hourly value plus averages and rankings. It is clearly a current-conditions reader rather than a historical or ranking tool, and it explicitly rules out forecasts. It never names its siblings (city_history, rankings) for contrast, so differentiation is inferential rather than stated.

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?

Usage is implied by content: use this for current city air quality with ranking context, and the schema points to find_city for path resolution. There is no explicit 'use this when... instead of city_history/rankings' routing, and no stated preconditions beyond the city identifier.

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