Skip to main content
Glama

Search Sentinel Satellite Scenes

copernicus-sentinel.imagery.search
Read-onlyIdempotent

Search the Copernicus Data Space Ecosystem STAC catalog for Sentinel satellite scenes covering an area and date range, with optional maximum cloud cover filter and sort by date or cloudiness. Returns scene IDs, acquisition time, cloud cover, and a quicklook thumbnail URL for each match. Data: ESA/EU Copernicus Sentinel program, public STAC catalog, no auth required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoLatitude of a point of interest. Use with "lon" (and optional "radius_km") instead of bbox.
lonNoLongitude of a point of interest. Use with "lat" (and optional "radius_km") instead of bbox.
bboxNoBounding box [min_lon, min_lat, max_lon, max_lat] in WGS84 decimal degrees. Provide this OR lat + lon.
sortNoSort order: "date_desc" (newest first, default) or "cloud_asc" (least cloudy first).
limitNoMaximum number of scenes to return (default 10, max 50).
end_dateYesEnd of the acquisition date range, format YYYY-MM-DD.
radius_kmNoSearch radius in kilometers around lat/lon (default 20, max 500). Ignored if bbox is given.
collectionNoSTAC collection ID to search (default "sentinel-2-l2a"). Other common values: "sentinel-1-grd" (radar), "sentinel-2-l1c" (top-of-atmosphere optical), "sentinel-3-olci-2-wfr-nrt" (ocean color). See copernicus-sentinel.list_collections for the full list.
start_dateYesStart of the acquisition date range, format YYYY-MM-DD.
max_cloud_coverNoMaximum acceptable cloud cover percentage (0-100). Applies to optical collections like Sentinel-2; omit for radar collections such as Sentinel-1.

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. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It adds valuable context beyond those hints by specifying that the catalog is public, that 'no auth required', and by describing the return fields. This provides useful behavioral information without contradicting the 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 three sentences with no wasted words: the first states the action and key filters, the second summarizes outputs, and the third provides data provenance and auth status. Every sentence earns its place, and the most important scoping information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters fully documented in the schema, an output schema present, and annotations covering safety, the description only needs to add access context, which it does by noting the public catalog and no-auth requirement. It does not need to enumerate every parameter or return field. A small improvement would be an explicit pointer to sibling tools for collections or detail, but invocation is unambiguous without it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, including details on bbox vs. lat/lon usage, defaults, max values, and collection options. The description adds only high-level references to cloud cover filtering and sorting, which do not materially extend the schema. Baseline 3 is appropriate since the schema already carries the explanatory burden.

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 states a specific verb ('Search'), a specific resource ('Sentinel satellite scenes' in the Copernicus Data Space Ecosystem STAC catalog), and the key filtering dimensions (area, date range, cloud cover, sort). It also lists what is returned (scene IDs, acquisition time, cloud cover, thumbnail URL). This clearly distinguishes the tool from its siblings (collections, detail) by focusing on the search use case.

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 conveys clear context for when to use the tool: when the agent needs to find Sentinel scenes by area and date range. It does not, however, explicitly mention alternatives or exclusions, such as 'use copernicus-sentinel.imagery.detail for a single scene' or 'use collections to get the full list of collection IDs'. This is a minor gap but not a confusing one.

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.