Skip to main content
Glama

Geo-Insights Environmental Data

Get Historical Readings

get_readings_history
Read-onlyIdempotent

Get historical environmental readings near a location over a time range.

Use this for trend analysis, comparisons, and time-series queries.
Unlike get_latest_readings (which returns only the most recent value),
this returns multiple observations per station within the time window.

Args:
    lat: Latitude in WGS84 (e.g. 51.92 for Rotterdam)
    lon: Longitude in WGS84 (e.g. 4.47 for Rotterdam)
    parameter: Parameter name or alias (required — e.g. "temperature",
               "pm25", "no2"). Use get_parameters() for valid names.
    start: Start of time range in ISO 8601 (e.g. "2026-11-01T00:00:00Z")
    end: End of time range in ISO 8601 (default: now)
    radius_km: Search radius in kilometers (default 10, max 50)
    limit: Maximum readings per station (default 100, max 1000)

Returns stations grouped by location, each with a time-ordered array of
readings, plus parameter info and the actual time range covered.

Invalid coordinates, unrecognized parameters, or unparseable dates return
a structured error. Data source failures include cause and retry timing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "lat": "<lat>",
      "lon": "<lon>",
      "parameter": "<parameter>",
      "start": "<start>"
    },
    "name": "get_readings_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
endNo
latYes
lonYes
limitNo
startYes
parameterYes
radius_kmNo

Output Schema

NameRequiredDescriptionDefault
stationsYes
parameterYes
period_endYes
period_startYes
total_readingsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered; the description goes further by describing the return shape (stations grouped by location with time-ordered arrays, parameter info, actual covered range) and the error contract (structured errors for bad coordinates, unknown parameters, unparseable dates; data-source failures report cause and retry timing). It does not discuss rate limits or per-call cost, keeping it just short of a 5.

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?

The purpose and sibling differentiation are front-loaded, then parameters, then return/error behavior — a sensible ordering. The Args block restates parameter names already in the schema, but since schema descriptions are empty this is additive rather than redundant; the block is slightly bulky but each entry carries a default, bound, or format detail.

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?

For a 7-parameter geo-temporal query tool, the description covers format conventions, defaults, bounds, the return grouping, and failure modes, so an agent has everything needed to construct a valid call. An output schema exists, making the return-value explanation a bonus rather than a requirement.

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%, so the description carries the full burden and does: WGS84 with worked lat/lon examples, ISO 8601 format examples for start/end, documented defaults (end defaults to now, radius_km 10, limit 100), maximums (50, 1000), and the meaning of limit as per-station rather than total. It also identifies the required parameter and routes to get_parameters() for valid values.

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 first sentence gives a specific verb, resource, and scope (historical environmental readings near a location over a time range). The second sentence explicitly contrasts it with get_latest_readings, so the agent can distinguish the two without opening either schema.

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 the intended use cases (trend analysis, comparisons, time-series queries) and names the sibling alternative get_latest_readings with the exact condition that selects it (only most recent value vs multiple observations per station in the window). It also points to get_parameters() for valid parameter names, covering a prerequisite the schema cannot express.

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