Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| catalog_info | Return metadata about the OpenLandMap STAC root catalog. Returns the catalog identifier, description, STAC version, total number of collections, and conformance classes. Example return: {"id": "openlandmap", "stac_version": "1.0.0", "total_collections": 104, ...} |
| list_collections | List available data collections in the OpenLandMap catalog. Supports filtering by thematic category and keyword search in title/description. Returns lightweight summaries for browsing. Args: theme: Filter by theme alias ('soil', 'vegetation', 'climate', 'land_cover', 'terrain', 'water', 'atmosphere', 'population') or native theme name. Case-insensitive. keyword: Text search across title, description, and keywords. Case-insensitive. limit: Maximum number of results (1-200, default: 50). Returns: List of CollectionSummary dicts with id, title, theme, temporal extent, item count, etc. Example: list_collections(theme="soil", limit=10) list_collections(keyword="organic carbon") |
| get_collection_schema | Return the full schema of a collection including asset definitions. Provides complete metadata: asset types with MIME types and roles, STAC extensions, spatial/temporal extent, contact info, style URLs, related links (DOI, documentation, thumbnail). Args: collection_id: Collection identifier (e.g. 'organic.carbon_usda.6a1c'). Use list_collections() to discover available IDs. Returns: CollectionSchema dict with all metadata fields. Example: get_collection_schema("organic.carbon_usda.6a1c") |
| compare_collections | Compare multiple collections side by side. Shows temporal coverage, resolution, variable/layer info, theme, and keyword overlap for each collection. Useful for deciding which dataset best fits an analysis. Args: collection_ids: List of collection IDs to compare (2-10). Use list_collections() to discover IDs. Returns: CollectionComparison with one entry per collection. Example: compare_collections(["organic.carbon_usda.6a1c", "ph.h2o_usda.6a1c"]) |
| get_collection_temporal_stats | Get temporal statistics for a collection. Returns earliest/latest dates, total item count, distribution by year, and estimated update frequency (median interval between items). Args: collection_id: Collection identifier. Returns: TemporalStats dict with dates, counts, and year distribution. Example: get_collection_temporal_stats("evi_mod13q1.tmwm.inpaint") |
| find_related_collections | Find collections related by theme or temporal overlap. Useful for discovering complementary datasets (e.g., finding climate data to correlate with vegetation indices). Args: collection_id: Collection identifier to find relations for. Returns: List of RelatedCollection dicts with relation type. Example: find_related_collections("evi_mod13q1.tmwm.inpaint") |
| get_soil_collections | List all soil-related collections with depth information. Shortcut for soil analysis. Returns collections about bulk density, organic carbon, pH, sand/clay/silt content, texture, water content, and soil taxonomy. Returns: List of CollectionSummary dicts for soil collections. |
| get_vegetation_collections | List all vegetation-related collections. Returns collections about EVI, FAPAR, forest cover, potential vegetation, and plant functional types. Returns: List of CollectionSummary dicts for vegetation collections. |
| get_land_cover_collections | List all land cover and land use collections. Returns collections about land cover classification, cropland, pasture, urban areas, and land use change. Returns: List of CollectionSummary dicts for land cover collections. |
| search_items | Search items in a STAC collection with spatial and temporal filters. Items represent temporal snapshots of the collection's data. Each item contains one or more assets (Cloud-Optimized GeoTIFFs). Args: collection_id: Collection ID (e.g. 'organic.carbon_usda.6a1c'). bbox: Bounding box in WGS84 [min_lon, min_lat, max_lon, max_lat]. Example: [-54.0, -18.0, -45.0, -12.0] (part of Cerrado). datetime_range: ISO 8601 interval. Examples: '2010-01-01/2020-12-31', '2015-06-01/..', '../2020-01-01' limit: Max items to return (1-200, default: 20). offset: Number of results to skip for pagination. Returns: ItemCollection with total_matched, returned, items, next_offset. Example: search_items("organic.carbon_usda.6a1c", bbox=[-54,-18,-45,-12], limit=5) |
| get_item_detail | Get full details for a specific STAC item including all assets. Returns complete metadata, bounding box, geometry, temporal range, and all available assets with resolved URLs, MIME types, roles, and file sizes. Args: collection_id: Collection identifier. item_id: Item identifier within the collection. Returns: ItemDetail dict with geometry, properties, and assets list. Example: get_item_detail("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231") |
| list_items_temporal | List all items in a collection organized chronologically. Shows the temporal coverage of the dataset — useful for understanding data availability and update frequency. Args: collection_id: Collection identifier. Returns: List of TemporalSlice dicts sorted by start date. Example: list_items_temporal("evi_mod13q1.tmwm.inpaint") |
| find_items_by_point | Find items that cover a specific geographic point. Searches across one or more collections for items whose bounding box contains the given coordinate. Filters collections by spatial extent before fetching items. Args: lon: Longitude in WGS84 (-180 to 180). lat: Latitude in WGS84 (-90 to 90). collection_ids: Collections to search. If None, searches all (filtered by spatial extent first, max 50). Returns: List of ItemMatch dicts with collection_id, item_id, temporal info. Example: find_items_by_point(-47.9, -15.8) # Brasília find_items_by_point(-47.9, -15.8, ["organic.carbon_usda.6a1c"]) |
| get_asset_url | Resolve the full URL and metadata for a specific asset. Returns the direct S3 URL, MIME type, roles, COG status, and S3 bucket/key for programmatic access. Args: collection_id: Collection identifier. item_id: Item identifier. asset_key: Asset key within the item (e.g. the layer name). Returns: AssetInfo dict with url, type, roles, is_cog, s3_bucket, s3_key. Example: get_asset_url("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231", "organic.carbon_usda.6a1c_m_1km_b30cm_s") |
| list_assets_for_item | List all assets of a specific item with complete metadata. Returns every asset including data layers, thumbnails, style files (SLD/QML), with URLs, MIME types, file sizes, and roles. Args: collection_id: Collection identifier. item_id: Item identifier. Returns: Dict mapping asset keys to AssetInfo dicts. Example: list_assets_for_item("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231") |
| get_all_data_assets | Get only data assets (excluding thumbnails, styles). Filters assets by role='data', returning only actual raster data layers (Cloud-Optimized GeoTIFFs). Useful when you need download URLs. Args: collection_id: Collection identifier. item_id: Item identifier. Returns: List of AssetInfo dicts with role 'data'. Example: get_all_data_assets("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231") |
| get_asset_download_info | Get download instructions for an asset in multiple formats. Returns the direct S3 URL plus ready-to-use commands and code snippets for curl, wget, Python (rasterio), and R (terra). Args: collection_id: Collection identifier. item_id: Item identifier. asset_key: Asset key to get download info for. Returns: DownloadInfo dict with url and code snippets. Example: get_asset_download_info("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231", "organic.carbon_usda.6a1c_m_1km_b30cm_s") |
| get_visualization_assets | Get visualization-related assets: thumbnails, QML, SLD styles. Returns assets useful for previewing and styling the data in GIS applications like QGIS (QML) or WMS services (SLD). Args: collection_id: Collection identifier. item_id: Item identifier. Returns: List of AssetInfo dicts with visualization roles. Example: get_visualization_assets("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231") |
| get_bbox_for_region | Get the WGS84 bounding box for a named region. Supports countries, Brazilian states, Brazilian biomes, continents, and macro-regions. Useful for building spatial queries. Args: region_name: Region name (case-insensitive, underscores for spaces). Examples: 'brazil', 'goias', 'cerrado', 'europe', 'south_america', 'amazonia_legal', 'global'. Returns: Dict with bbox [west, south, east, north] and region name. If not found, returns error with list of available regions. Example: get_bbox_for_region("cerrado") # → {"region": "cerrado", "bbox": [-60.47, -24.68, -41.28, -2.33]} |
| find_collections_for_bbox | Find collections whose spatial extent intersects a bounding box. Searches all collections for spatial overlap with the given area. Optionally filters by theme. Args: bbox: Bounding box in WGS84 [min_lon, min_lat, max_lon, max_lat]. theme: Optional theme filter ('soil', 'vegetation', etc.). Returns: List of CollectionMatch dicts with id, title, theme, extents. Example: find_collections_for_bbox([-54, -18, -45, -12], theme="soil") |
| get_collection_spatial_coverage | Get the full spatial coverage details of a collection. Returns the bounding box, a GeoJSON polygon of the extent, the native ground sample distance (resolution in meters), and the coordinate reference system. Args: collection_id: Collection identifier. Returns: SpatialCoverage dict with bbox, geometry, gsd, and CRS. Example: get_collection_spatial_coverage("organic.carbon_usda.6a1c") |
| discover_data_for_topic | Discover relevant datasets for a research topic. Given a natural language description of a topic (e.g., 'soil organic carbon', 'Amazon deforestation', 'air quality', 'snow cover'), searches across all collection titles, descriptions, and keywords to find relevant datasets ranked by relevance. Args: topic: Research topic in natural language. Examples: 'carbono orgânico do solo', 'vegetation indices', 'land surface temperature', 'human footprint'. Returns: TopicDiscovery dict with ranked results and total found. Example: discover_data_for_topic("soil organic carbon") discover_data_for_topic("desmatamento na Amazônia") |
| get_data_timeline | Generate a structured timeline of data availability across collections. Shows when data is available for each collection, useful for planning multi-temporal or multi-variable analyses. Args: collection_ids: List of collection IDs (1-10). Returns: DataTimeline dict with entries sorted chronologically. Example: get_data_timeline(["organic.carbon_usda.6a1c", "evi_mod13q1.tmwm.inpaint"]) |
| find_overlapping_datasets | Find datasets with temporal overlap for correlation analysis. Given a collection and a year range, finds all other collections that have data within that period. Useful for multi-variable studies. Args: collection_id: Reference collection identifier. start_year: Start year (inclusive). end_year: End year (inclusive). Returns: List of OverlapInfo dicts with overlapping period details. Example: find_overlapping_datasets("organic.carbon_usda.6a1c", 2010, 2020) |
| get_stac_item_as_geojson | Return a STAC item as a pure GeoJSON Feature. Ready for use in any GIS system, web map, or geospatial tool. Strips STAC-specific fields and returns standard GeoJSON. Args: collection_id: Collection identifier. item_id: Item identifier. Returns: GeoJSON Feature dict with geometry, properties, and bbox. Example: get_stac_item_as_geojson("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231") |
| build_python_snippet | Generate a ready-to-use Python code snippet for accessing a raster asset. Supports multiple operations: open, info, plot, clip_bbox, stats, export_csv. Args: collection_id: Collection identifier. item_id: Item identifier. asset_key: Asset key within the item. operation: Code operation to generate: 'open' — open the raster with rasterio 'info' — print raster metadata 'plot' — plot with matplotlib 'clip_bbox' — clip to a bounding box 'stats' — compute zonal statistics 'export_csv' — export values to CSV Returns: Python code snippet as a string. Example: build_python_snippet("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231", "organic.carbon_usda.6a1c_m_1km_b30cm_s", "plot") |
| build_r_snippet | Generate a ready-to-use R code snippet for accessing a raster asset. Uses terra, sf, and rstac packages. Args: collection_id: Collection identifier. item_id: Item identifier. asset_key: Asset key within the item. operation: Code operation: 'open' — open with terra::rast() 'info' — print metadata 'plot' — plot the raster 'clip_bbox' — crop to bounding box 'stats' — compute statistics 'export_csv' — export to CSV Returns: R code snippet as a string. Example: build_r_snippet("organic.carbon_usda.6a1c", "organic.carbon_usda.6a1c_20180101_20181231", "organic.carbon_usda.6a1c_m_1km_b30cm_s", "plot") |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| explore_collection | Generate a prompt to fully explore a STAC collection. Guides the AI agent through collection metadata, temporal coverage, available assets, and access methods. Args: collection_id: The collection to explore. |
| find_data_for_analysis | Generate a prompt to find data for a specific analysis. Guides the agent to discover relevant datasets, check coverage, and prepare access instructions. Args: topic: Research topic (e.g., 'soil carbon stocks'). region: Geographic region (e.g., 'cerrado', 'brazil'). period: Time period of interest (e.g., '2010-2020'). |
| download_workflow | Generate a complete download and access workflow. Provides step-by-step instructions for accessing data from a specific item in multiple ways. Args: collection_id: Collection identifier. item_id: Item identifier. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog_resource | Complete metadata of the OpenLandMap STAC root catalog as JSON. |
| themes_resource | Index of collections organized by thematic category. |
| guide_resource | Usage guide for the OpenLandMap MCP server. |