Skip to main content
Glama

Observed precipitation

get_observed_precipitation
Read-onlyIdempotent

How much rain fell: observed precipitation totals at a location. Use for "did it rain", "how much rain fell", "rain in the last 24 hours / since yesterday". Source: MRMS MultiSensor QPE Pass2 (radar bias-corrected to rain gauges) over 1/3/6/24/48/72 h windows (CONUS; 1 h only in Alaska and Hawaii). Values have about 2 mm (0.08 in) resolution, so 0 means under about 1 mm; data runs about an hour behind real time. Pass at (within 33 h) for totals ending at a past time (newest frame up to 3 h before it). With include_nowcast (default) it also returns a next-hour radar nowcast (CONUS): peak intensity (light/moderate/heavy), type and start time, not an amount. Forecast totals past the next hour: get_period_totals (planning); station reports: get_observations (observed).

Input Schema

NameRequiredDescriptionDefault
atNoRFC3339 end time within the last 33 h. Default: latest.
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).
unitsNoUnits of every value in and out: imperial (default; °F, mph, in) or metric (°C, km/h, mm). si is deprecated and will be removed; use metric.imperial
windowsNoAccumulation windows ending at the latest frame (or at `at`).
locationNoFree-text place: "City, ST" (e.g. "Portland, OR"), US ZIP, venue/address where enabled, or "lat,lon". Use this OR lat+lon, not both.
include_nowcastNoNext-hour radar nowcast (CONUS; ignored with `at`).

Output Schema

NameRequiredDescriptionDefault
as_ofNo
notesNo
unitsYes
derivedYes
nowcastNo
windowsYes
_sourcesYes
locationYes
data_statusNo
quantization_stepYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  2. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / data_status / properties
      Added value: +{}
  3. Changed2 schema fields changed
    • changedInput schema / properties / location / description
      Previous value: -"Free-text place: city (\"Denver\"), city+state (\"Portland, OR\"), US ZIP, venue/address where enabled, or \"lat,lon\". Use this OR lat+lon, not both."New value: +"Free-text place: \"City, ST\" (e.g. \"Portland, OR\"), US ZIP, venue/address where enabled, or \"lat,lon\". Use this OR lat+lon, not both."
    • changedInput schema / properties / units / description
      Previous value: -"Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial."New value: +"Units of every value in and out: imperial (default; °F, mph, in) or metric (°C, km/h, mm). si is deprecated and will be removed; use metric."
  4. Changed2 schema fields changed
    • changedInput schema / properties / location / description
      Previous value: -"Free-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."New value: +"Free-text place: city (\"Denver\"), city+state (\"Portland, OR\"), US ZIP, venue/address where enabled, or \"lat,lon\". Use this OR lat+lon, not both."
    • addedOutput schema / properties / location / properties / matched_via
      Added value: +{
      +  "enum": [
      +    "autosuggest",
      +    "fuzzy"
      +  ],
      +  "type": "string"
      +}
  5. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, yet the description still adds substantial behavior: data source (MRMS QPE Pass2, gauge bias-corrected), ~2 mm quantization meaning "0 means under about 1 mm", ~1 hour latency, the 33 h `at` bound and the 3 h staleness of the frame used for past times, and that include_nowcast is ignored when `at` is set.

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?

Front-loaded with the plain-language purpose, then escalating detail (source, resolution, latency, parameter caveats, alternatives). Every sentence carries actionable information; nothing is boilerplate padding.

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?

An output schema exists, so return-value enumeration is unnecessary, and the description instead covers what the output schema can't (what a 0 value means, that nowcast is not an amount, spatial/temporal validity limits). For a 7-parameter, multi-region tool this leaves no meaningful gap for correct invocation.

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 coverage is 100%, so the baseline is 3; the description goes beyond it by explaining the temporal semantics of `at` (totals ending at a past time, newest frame up to 3 h before it) and clarifying that the nowcast is an intensity/type/start-time signal rather than an accumulation. Some of this restates schema text (e.g., "ignored with `at`"), keeping it short of a 5.

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?

States a specific quantity (observed precipitation totals at a location) with plain-language verb framing ("How much rain fell") and concrete query intents ("did it rain", "rain in the last 24 hours"). It explicitly distinguishes itself from get_period_totals (forecast past next hour) and get_observations (station reports), so an agent can route without opening sibling schemas.

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?

Gives explicit when-to-use phrasing plus named alternatives with the condition that selects them ("Forecast totals past the next hour: get_period_totals (planning); station reports: get_observations"). It also states coverage boundaries (CONUS; 1 h only in Alaska and Hawaii), which acts as a de facto when-not rule.

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.