Skip to main content
Glama

OpenSenseMap Sensor Time-Series Data

opensensemap.sensors.timeseries
Read-onlyIdempotent

Retrieve historical time-series measurements for a specific sensor on an OpenSenseMap station. Returns up to 10,000 measurement points (value + ISO 8601 timestamp) in reverse-chronological order (newest first). Specify box_id and sensor_id (both from box_search or sensors_latest), and optionally narrow the window with from_date/to_date in ISO 8601 format. Sensors on active stations record every 1–10 minutes, so a 24-hour window for a station with 5-min intervals yields ~288 data points. Useful for charting pollution spikes, computing daily averages, building climate datasets, or triggering alerts on threshold crossings. Supports any sensor type: PM2.5 (µg/m³), temperature (°C), relative humidity (%), air pressure (hPa), UV intensity, CO₂ (ppm), and more. Source: OpenSenseMap, PDDL 1.0 public domain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of measurements to return, newest first (1–10000, default 100).
box_idYesOpenSenseMap station (box) ID — the 24-character MongoDB ObjectId from box_search or box_detail results (e.g. "578207d56fea661300861f3b").
to_dateNoEnd of time range in ISO 8601 format (e.g. "2024-01-02T00:00:00.000Z"). Defaults to now.
from_dateNoStart of time range in ISO 8601 format (e.g. "2024-01-01T00:00:00.000Z"). Defaults to 2 days ago.
sensor_idYesSensor ID within the station — the 24-character MongoDB ObjectId found in sensors_latest or box_detail sensor list (e.g. "578207d56fea661300861f3d").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses the 10,000-point cap, the value + timestamp payload shape, newest-first ordering, and typical recording cadence (1–10 minutes) with a concrete 288-point estimate. It is consistent with the annotations and adds substantial operational context.

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 core operation, ordering, and size cap are front-loaded in the first two sentences, and each later sentence earns its place. The 'Useful for' and 'Supports any sensor type' lists are helpful but slightly extend length, so it is not maximally tight.

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 rich input schema and an output schema available, the description adds exactly the missing operational context: response ordering, size cap, parameter provenance, and sampling cadence for planning queries. Nothing an agent needs to call it correctly is missing.

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?

The schema already documents all five parameters at 100% coverage, so the baseline is 3. The description adds value by explaining that from_date/to_date 'narrow the window' and by pointing to box_search or sensors_latest as the source of the two required IDs.

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 names a specific verb ('Retrieve') and resource ('historical time-series measurements for a specific sensor'), and the 'historical' qualifier clearly distinguishes it from the sibling opensensemap.sensors.latest. It also tells the agent that box_id and sensor_id come from box_search or sensors_latest, tying it to sibling lookup tools.

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 states clear use cases (charting pollution spikes, computing daily averages, building climate datasets, triggering alerts) and instructs the agent to obtain box_id/sensor_id from box_search or sensors_latest. It does not explicitly say when not to use this tool or name an alternative for current data, so it stops short of a 5.

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.