Skip to main content
Glama

query_imagery

Read-onlyIdempotent

Query eYKON's satellite imagery OBSERVATIONS (Copernicus Sentinel, via CDSE) over watched sites — refinery complexes, LNG terminals, large/medium ports, curated critical-mineral mines, AIS-derived anchorages, strait windows. sensor="s2_l2a" (default): Sentinel-2 optical, metric ndvi_median (median NDVI of clear pixels — a spectral proxy for surface cover, never a tonnage or activity claim). sensor="s1_grd": Sentinel-1 radar, bright_target_area_m2 and vessel_equivalents (an area estimate, not a count) — returned ONLY for sites the Sentinel-1 measurement study admitted; before admission it returns no rows and says so. Every row carries coverage_state. CRITICAL: a look that is not "clear" (cloudy, partly_cloudy, partial_swath, no_acquisition, processing_error) has a NULL value — it is NOT zero and NOT "no activity"; never add, average or compare values across such looks, say the site was not seen that date. Compare a clear value only with the site's OWN median (ratio_to_baseline, present when baseline_n >= 3). A site missing from the result was not looked at. Pass a bbox, or aoi_id, or kind to narrow. Cite "Contains modified Copernicus Sentinel data " with any figure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNorefinery_complex | lng_terminal | port | mine | anchorage | chokepoint
limitNoMax sites returned. Default 25, max 100.
aoi_idNoOne site, e.g. "mine:…", "port:…", "chokepoint:hormuz".
sensorNos2_l2a (default) | s1_grd
lat_maxNo
lat_minNo
lon_maxNo
lon_minNo
window_daysNoLook-back in days. Default 30, max 120.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations by disclosing that non-clear looks yield NULL (not zero), that values must never be aggregated across such looks, that s1_grd returns no rows before admission, that ratio_to_baseline only appears when baseline_n >= 3, and that a missing site means it was not looked at. It also imposes an attribution obligation ("Contains modified Copernicus Sentinel data <year>"). This is unusually rich behavioral context for a read-only tool.

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 passage is long but front-loaded: the resource and coverage are established first, then sensor-specific semantics, then the critical NULL/interpretation rules and citation requirement. Given the semantic traps involved, most sentences earn their place, though the density of caveats makes it heavier than strictly necessary.

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 present, the description carries the full burden of describing return values — coverage_state, ndvi_median, bright_target_area_m2, vessel_equivalents, ratio_to_baseline — plus the interpretation rules for each. An agent has everything needed to call the tool and read results correctly.

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 56%, and the description adds real meaning for the highest-risk parameters: it defines what s2_l2a vs s1_grd actually return (ndvi_median vs bright_target_area_m2/vessel_equivalents) and clarifies that kind maps to the enumerated site categories. The limit, window_days, and lat/lon bounds are left to the schema, so the description does not fully compensate for the coverage gap.

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 verb and resource — query satellite imagery OBSERVATIONS from Copernicus Sentinel via CDSE — and enumerates the exact site classes covered (refineries, LNG terminals, ports, mines, anchorages, strait windows). This clearly distinguishes it from siblings like query_mines, query_ports, or query_refineries, which return entity data rather than imagery 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?

Gives concrete selection guidance: sensor="s2_l2a" is the default, sensor="s1_grd" is returned ONLY for sites admitted by the measurement study, and narrowing is done via bbox, aoi_id, or kind. However, it never states when to prefer this tool over its entity-oriented siblings (e.g., query_mines vs query_imagery), so the routing guidance is contextual rather than explicit.

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