Skip to main content
Glama

Get station observations

get_observations
Read-onlyIdempotent

METAR surface observations from weather stations: temperature, wind, visibility, ceiling, flight category, raw METAR. Nearest mode (default) returns the closest N stations to a location; station mode returns history for a specific ICAO identifier. Examples: {"location": "Denver", "n": 3} or {"station": "KJFK", "hours": 6}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNoNumber of nearest stations (1-10). Default 1. Ignored in station mode.
latNoLatitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.
lonNoLongitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).
hoursNoHours of history in station mode (1-24).
stationNoICAO station identifier (e.g. KJFK). Switches to station-history mode.
locationNoFree-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stationNo
locationNo
observationsYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/destructive hints, so the bar is lower. The description adds behavioral detail beyond annotations by explaining the default nearest mode, the switch to station-history mode when an ICAO is provided, and what fields the observations contain. No contradictions with annotations.

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 compact, information-dense, and front-loaded with the core resource before moving to modes and examples. Every sentence earns its place and the two short examples make the schema concrete without bloat.

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 a 100%-covered schema, an output schema, and safety-relevant annotations, the description fills the remaining gap by explaining mode semantics and typical use cases. It is complete enough for an agent to invoke the tool correctly in either mode.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining how the parameters interact (nearest mode vs station mode) and by giving working examples for each mode, which helps an agent choose between location/station and n/hours. This goes beyond the individual parameter descriptions.

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 opens with a precise definition: METAR surface observations from weather stations, listing the data fields (temperature, wind, visibility, ceiling, flight category, raw METAR). It clearly distinguishes the tool's two modes and differentiates it from the many forecast/alerts siblings by anchoring on surface observations.

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 gives clear mode-selection guidance: nearest mode for closest N stations and station mode with hours for ICAO history, along with concrete JSON examples. It does not explicitly contrast the tool with sibling tools such as get_current_conditions, but the mode guidance is enough for correct usage.

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.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, and the detailed descriptions generally prevent misselection. A few near-overlapping pairs exist — get_current_conditions vs get_observations, and get_forecast already bundling current conditions, alerts, and outlooks — so some ambiguity remains.

Naming Consistency4/5

The overwhelming majority of tools follow a get_<object>_<modifier> pattern in snake_case, and the non-get tools still use an imperative verb_noun form. The mix of verbs (get, list, describe, find, query, search, reverse) is a minor inconsistency, but the overall pattern is predictable.

Tool Count2/5

At 32 tools, the surface is heavy and exceeds the 25+ threshold for a large tool set. The weather domain justifies much of the breadth, but several tools overlap in scope and could plausibly be consolidated, making the count feel higher than necessary.

Completeness5/5

The tool set comprehensively covers current conditions, forecasts, hourly data, climate, alerts, severe weather, air quality, tropical systems, upper-air soundings, maps, model data, geocoding, and platform status. There are no obvious dead-end workflows, and raw access via query_dataset fills most remaining gaps.