get_sensor_registry_info
Retrieve details about available sensors in the STAC geospatial catalog to identify data sources for satellite imagery, weather, and other spatial datasets.
Instructions
Get information about the STAC sensor registry.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- stac_mcp/server.py:181-189 (handler)MCP tool handler for 'get_sensor_registry_info', decorated with @app.tool for registration, proxies execution to the inner 'sensor_registry_info' tool.@app.tool async def get_sensor_registry_info() -> list[dict[str, Any]]: """Get information about the STAC sensor registry.""" return await execution.execute_tool( "sensor_registry_info", arguments={}, catalog_url=None, headers=None, )
- stac_mcp/tools/sensor_dtypes.py:23-40 (handler)Core handler function that executes the tool logic for sensor_registry_info, serializing the SensorDtypeRegistry contents into a dictionary.def handle_sensor_registry_info( _client: Any, _arguments: dict[str, Any], ) -> dict[str, Any]: """Handle the sensor_registry_info tool. Returns a mapping of collection ids to their sensor dtype info. """ registry_info: dict[str, Any] = {} for collection_id, sensor_info in SensorDtypeRegistry.registry.items(): registry_info[collection_id] = { "default_dtype": str(sensor_info.default_dtype), "band_overrides": { k: str(v) for k, v in sensor_info.band_overrides.items() }, "ignore_asset_name_substrings": sensor_info.ignore_asset_name_substrings, } return {"sensor_registry": registry_info}
- stac_mcp/tools/execution.py:56-67 (registration)Dispatch registry mapping tool names to handlers, including 'sensor_registry_info' to handle_sensor_registry_info._TOOL_HANDLERS: dict[str, Handler] = { "search_collections": handle_search_collections, "get_collection": handle_get_collection, "search_items": handle_search_items, "get_item": handle_get_item, "estimate_data_size": handle_estimate_data_size, "get_root": handle_get_root, "get_conformance": handle_get_conformance, "get_queryables": handle_get_queryables, "get_aggregations": handle_get_aggregations, "sensor_registry_info": handle_sensor_registry_info, }
- SensorDtypeRegistry class with static registry dictionary containing dtype information for various STAC collections/sensors, used by the handler.class SensorDtypeRegistry: """Registry that maps exact collection ids (lower-cased) to SensorInfo. Edit the `registry` dict to add explicit, exact collection id mappings. """ registry: ClassVar[dict[str, SensorInfo]] = { # Sentinel / Copernicus "sentinel-2-l2a": _make_si("uint16", {"scl": "int8"}), "sentinel-2-l1c": _make_si("uint16"), # AWS Earth Search uses the 'collection 1' ids (sentinel-2-c1-l2a). The # Planetary Computer uses the simpler 'sentinel-2-l2a' id. Provide # catalog_aliases so callers can resolve catalog-specific ids. "sentinel-2-c1-l2a": _make_si( "uint16", {"scl": "int8"}, None, {"https://earth-search.aws.element84.com/v1": "sentinel-2-c1-l2a"}, ), "sentinel-2-pre-c1-l2a": _make_si( "uint16", {"scl": "int8"}, None, {"https://earth-search.aws.element84.com/v1": "sentinel-2-pre-c1-l2a"}, ), "sentinel-1-grd": _make_si("float32"), "sentinel-1-rtc": _make_si("float32"), "sentinel-3-olci-lfr-l2-netcdf": _make_si("float32"), "sentinel-5p-l2-netcdf": _make_si("float32"), # Landsat "landsat-c2-l2": _make_si("uint16", {"qa": "uint16"}), "landsat-c2-l1": _make_si("uint16", {"qa": "uint16"}), # HLS "hls2-s30": _make_si("uint16", {"scl": "int8"}), "hls2-l30": _make_si("uint16", {"scl": "int8"}), # MODIS "modis-09a1-061": _make_si("int16"), "modis-09q1-061": _make_si("int16"), # NAIP "naip": _make_si("uint8"), # Climate / gridded "daymet-daily-pr": _make_si("float32"), "daymet-daily-na": _make_si("float32"), "daymet-annual-na": _make_si("float32"), "daymet-monthly-na": _make_si("float32"), "gridmet": _make_si("float32"), "terraclimate": _make_si("float32"), "era5-pds": _make_si("float32"), # DEMs "cop-dem-glo-30": _make_si("float32"), "cop-dem-glo-90": _make_si("float32"), "3dep-seamless": _make_si("float32"), "3dep-lidar-dsm": _make_si("float32"), "3dep-lidar-dtm": _make_si("float32"), "3dep-lidar-intensity": _make_si("float32"), # Misc "gpm-imerg-hhr": _make_si("float32"), "nasadem": _make_si("float32"), "hgb": _make_si("float32"), "ms-buildings": _make_si("uint8"), "io-lulc": _make_si("uint8"), "us-census": _make_si("uint8"), }