Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CDSE_PASSWORDNoYour Copernicus Data Space Ecosystem (CDSE) password for optional full-granule downloads.
CDSE_USERNAMENoYour Copernicus Data Space Ecosystem (CDSE) email/username for optional full-granule downloads.
EARTHDATA_TOKENNoYour NASA Earthdata token for optional full-granule downloads.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
assess_location_hazardA

Ergonomic All-in-One Planetary Hazard Assessment ("Create with Compute" pattern).

Bundles geocoding, STAC discovery, optimal scene filtering, and specialized hazard modeling into a single turnkey call. Replaces 4-6 manual tool calls.

Args: location: City/region name ('Valencia, Spain', 'Rhodes, Greece') or bbox 'min_lon, min_lat, max_lon, max_lat'. hazard_type: Type of hazard to evaluate: - 'flood_inundation' / 'sea_level_rise': Sea-level rise and storm surge inundation (EU Floods Directive). - 'wildfire': Active fires, Fire Radiative Power (FRP), and perimeter clustering (EFFIS). - 'burn_severity': Multi-temporal dNBR and post-fire scar analysis (EFFIS/USGS). - 'coastal_erosion': Shoreline retreat rates in m/year via baseline transects (EU Climate Adaptation). - 'drought': Freshwater depletion and reservoir margin desiccation (EU Water Framework Directive). - 'urban_heat': Land surface temperature and urban heat island intensity. - 'dark_vessels': Radar vessel detection and AIS correlation (MSFD Descriptor 8). datetime_range: Optional date or date range string (e.g. '2024-07-01/2024-07-31'). format: Output format ('summary', 'geojson', or 'csv'). water_level_rise_m: Projected sea-level rise in meters for flood inundation (default 1.0m). storm_surge_m: Additional storm surge water elevation in meters (default 0.0m). scenario: Optional IPCC AR6 preset ('SSP1-2.6', 'SSP2-4.5', or 'SSP5-8.5'). days: Historical lookback days for active wildfire monitoring (default 2).

Returns: JSON string or formatted report with end-to-end hazard metrics and resolved location context.

References:

  • Fox-Kemper, B., et al. (2021). IPCC AR6 WGI Chapter 9. DOI: 10.1017/9781009157896.011

  • Key, C. H., & Benson, N. C. (2006). USDA Forest Service RMRS-GTR-164-CD, pp. LA 1-55.

  • Schroeder, W., et al. (2014). Remote Sensing of Environment, 143, 85-96. DOI: 10.1016/j.rse.2013.12.008

  • Thieler, E. R., et al. (2009). USGS Open-File Report 2008-1278. DOI: 10.3133/ofr20081278

environmental_site_auditA

Ergonomic Composite Environmental Site Audit ("Create with Compute" pattern).

Produces a holistic environmental and climate scorecard for any city or region:

  1. Vegetation Vitality (NDVI stats & canopy vigor)

  2. Surface Water & Moisture (NDWI stats)

  3. Topography & Elevation Dynamics (Copernicus DEM min/mean/max/slope)

  4. Thermal & Flood Hazard Vulnerability Indicators

Args: location: City/region name ('Valencia, Spain', 'Ames, Iowa') or bbox 'min_lon, min_lat, max_lon, max_lat'. datetime_range: Observation window for satellite pass search (default summer 2024). format: Output format ('summary' or 'geojson').

Returns: JSON string with executive environmental scorecard and multi-layer indicators.

References:

  • Tucker, C. J. (1979). Remote Sensing of Environment, 8(2), 127-150. DOI: 10.1016/0034-4257(79)90013-0

  • McFeeters, S. K. (1996). International Journal of Remote Sensing, 17(7), 1425-1432. DOI: 10.1080/01431169608948714

  • Guth, P. L., & Geoffroy, T. M. (2021). Transactions in GIS, 25(5), 2245-2261. DOI: 10.1111/tgis.12825

run_pipelineA

Execute a declarative multi-step Earth Observation processing pipeline or pre-built recipe. Empowers users and AI agents to compose custom multi-hazard workflows without self-hosted infrastructure.

Pre-built Recipes:

  • 'compound_wildfire_runoff_risk': Wildfire burn severity (dNBR) + DEM slope gradient -> Debris flow risk

  • 'coastal_storm_surge_infrastructure_exposure': Copernicus DEM + SLR + surge -> OSM transport & hospital exposure

  • 'agricultural_drought_thermal_stress': Sentinel-2 NDVI + Land Surface Temp + Surface water shrinkage

  • 'maritime_environmental_patrol': Sentinel-1 SAR CFAR + Live Baltic AIS + Low-backscatter oil slick delineation

Or pass a custom declarative JSON specification defining steps:

  • 'fetch_raster': Copernicus DEM or Sentinel-2 / Landsat windowed COG

  • 'spectral_index': NDVI, NDWI, MNDWI, NBR

  • 'terrain_analysis': Slope gradient, aspect, elevation stats

  • 'inundation_model': 8-connected bathtub flood simulation

  • 'wildfire_activity': NASA FIRMS active hotspots and perimeters

  • 'burn_severity': Multi-temporal dNBR calculation

  • 'maritime_sar_ais': SAR CFAR detection and AIS correlation

  • 'exposure_overlay': Intersect hazard zone with OpenStreetMap roads and critical facilities

  • 'compound_risk_synthesis': Weighted multi-hazard score and EU Directive alignment

Args: spec: Pre-built recipe name (e.g. 'compound_wildfire_runoff_risk') or JSON string containing pipeline definition. location: Optional location name ('Valencia, Spain') or bbox 'min_lon,min_lat,max_lon,max_lat'. format: Output format: 'summary' (JSON report with ASCII map), 'geojson' (RFC 7946), or 'csv'. parameters: Optional JSON string of parameter overrides (e.g. '{"water_level_rise_m": 1.8, "storm_surge_m": 0.5}').

Returns: Formatted summary JSON, GeoJSON FeatureCollection, or CSV string.

list_pipeline_recipesA

List available pre-built compound hazard and multi-spectral pipeline recipes.

Returns: JSON string cataloging recipe names, descriptions, categories, and step counts.

describe_pipeline_recipeB

Retrieve the detailed configuration, parameters, and step sequence for a pipeline recipe.

Args: recipe_name: Name of the recipe (e.g. 'compound_wildfire_runoff_risk', 'coastal_storm_surge_infrastructure_exposure').

Returns: JSON string with recipe specification and step definitions.

discover_eo_toolsA

Search and progressively discover eo-mcp tools across categories. Implements the client-side progressive discovery pattern (search, inspect, execute) recommended for modern MCP clients (Claude Code, Codex, Cursor, Antigravity).

Categories:

  • 'workflows': Ergonomic multi-step tools (assess_location_hazard, environmental_site_audit).

  • 'core': Fundamental spatial discovery and geocoding.

  • 'spectral': Optical band indices (NDVI, NDWI, NBR, EVI) and SAR backscatter.

  • 'hazards': Wildfire, flood inundation, burn severity, coastal erosion.

  • 'climate': Urban heat, drought, crop phenology, atmospheric emissions.

  • 'maritime': Dark vessel tracking, radar detection, and AIS correlation.

  • 'advanced': Custom geospatial Python script runner and CDSE downloads.

Args: category: Optional category name to filter tools. query: Optional search keyword to filter tool names and descriptions.

Returns: JSON string listing available tools, categories, descriptions, and active profile.

eo_geocodeA

Geocode a natural language place name into a standard WGS84 bounding box.

Args: place_name: Location name, city, or geographic feature (e.g. 'Valencia, Spain', 'Lake Tahoe', 'Imperial Valley').

Returns: JSON string with resolved display_name, center coordinates, and [min_lon, min_lat, max_lon, max_lat] bbox.

stac_searchA

Search free STAC catalogs for available satellite scenes matching spatial, temporal, and cloud criteria. Zero-config: Queries public STAC endpoints with zero credentials or API keys required.

Args: collections: List of collection IDs, e.g. ['sentinel-2-l2a'] or ['landsat-c2-l2']. bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84 coordinates. datetime_range: RFC3339 date or date range string (e.g. '2024-06-01/2024-06-30' or '2024-05-15'). max_cloud_cover: Maximum allowed cloud cover percentage (0 - 100). Default is 20.0. catalog_url: STAC API root endpoint URL. Defaults to AWS Earth Search. limit: Maximum number of scenes to return. Default is 5.

Returns: JSON string listing discovered satellite scenes, dates, cloud cover, and asset keys.

calculate_spectral_indexA

Autonomously stream satellite bands via Cloud-Optimized GeoTIFF HTTP range reads and compute a spectral index (NDVI, NDWI, NBR, or EVI) for an Area of Interest (AOI). Zero-config: Streams public COG bands via open HTTP range reads. No API keys or Copernicus account required.

Args: collection: Satellite collection name ('sentinel-2-l2a' or 'landsat-c2-l2'). index: Index name ('NDVI', 'NDWI', 'NBR', or 'EVI'). bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. datetime_range: Target date or range (e.g. '2024-06-01/2024-06-30'). max_cloud_cover: Max allowed cloud cover percentage. Default is 15.0.

Returns: JSON string with summary statistics, pixel count, and ASCII spatial density visualization.

References:

  • Rouse et al. (1974), NASA SP-351, 1, 309-317.

  • Tucker, C. J. (1979). Remote Sensing of Environment, 8(2), 127-150. DOI: 10.1016/0034-4257(79)90013-0

  • McFeeters, S. K. (1996). International Journal of Remote Sensing, 17(7), 1425-1432. DOI: 10.1080/01431169608948714

  • Key, C. H., & Benson, N. C. (2006). USDA Forest Service RMRS-GTR-164-CD, pp. LA 1-55.

get_elevation_profileA

Extract digital elevation (in meters) and terrain slope from the gold-standard Copernicus DEM GLO-30. Zero-config: Queries Copernicus DEM GLO-30 from open AWS STAC. No API keys or credentials required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. calculate_slope: If True, computes mean and maximum terrain slope in degrees.

Returns: JSON string with min, max, and mean elevation (m), slope statistics, and ASCII elevation contour map.

References:

  • Horn, B. K. P. (1981). Proceedings of the IEEE, 69(1), 14-47. DOI: 10.1109/PROC.1981.11918

  • Guth, P. L., & Geoffroy, T. M. (2021). Transactions in GIS, 25(5), 2245-2261. DOI: 10.1111/tgis.12825

  • European Space Agency. (2020). Copernicus DEM Validation Report v4.0.

detect_water_sarA

Perform all-weather surface water and flood inundation mapping using Sentinel-1 C-band SAR radar backscatter. Zero-config: Runs out-of-the-box without requiring API keys or user credentials.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. datetime_range: Acquisition date range (e.g. '2024-06-01/2024-06-30'). threshold_db: Backscatter threshold in decibels below which pixels are classified as water. Default is -16.0 dB.

Returns: JSON string with detected surface water percentage and backscatter characteristics.

References:

  • Twele, A., et al. (2016). International Journal of Remote Sensing, 37(13), 2990-3004. DOI: 10.1080/01431161.2016.1192304

  • Bioresita, F., et al. (2018). Remote Sensing, 10(2), 217. DOI: 10.3390/rs10020217

run_geospatial_scriptA

Execute an arbitrary agent-generated Python geospatial processing script. The sandbox comes pre-loaded with rasterio, numpy (as np), shapely, and standard mathematical tools.

Args: script_code: Valid Python code string to execute.

Returns: JSON string with script execution status, stdout, stderr, and exported variables.

list_supported_collectionsA

List all supported open satellite collections, spatial resolutions, available spectral bands, and STAC sources.

Returns: JSON string detailing open data collections available in eo-mcp.

detect_dark_vesselsA

Detect maritime vessels in Sentinel-1 SAR imagery and correlate them with open AIS transponder data to flag unreported 'Dark Vessels' conforming to European Maritime Security and MSFD Descriptor 8 standards. Zero-config: Queries public Sentinel-1 and open AIS telemetry without credentials or API keys.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. datetime_range: Date or date range (e.g. '2024-06-01/2024-06-30'). ais_source: 'open_baltic_api' to query live Finnish/Baltic public marine AIS endpoint, or 'custom'. pfa_factor: CFAR threshold sensitivity multiplier above ocean clutter standard deviation (default 3.2). sea_state: Ocean roughness condition ('calm', 'moderate', 'rough', or 'auto' for adaptive clutter tuning). custom_ais_records: Optional user-supplied list of AIS dicts ({mmsi, lat, lon, speed_knots, course_deg}). format: Output format ('summary', 'geojson', or 'csv').

Returns: Classified vessels: TRUSTED (AIS matched), DARK_VESSEL (SAR target with no AIS), and SPOOF_OR_ABSENT (AIS broadcast with no radar reflector), with oil slick alerts.

References:

  • Finn, H. M., & Johnson, R. S. (1968). RCA Review, 29(3), 414-464.

  • Crisp, D. J. (2004). DSTO Research Report DSTO-RR-0272.

  • Stasolla, M., & Greidanus, H. (2016). Remote Sensing Letters, 7(12), 1219-1228. DOI: 10.1080/2150704X.2016.1226522

  • Pelich, R., et al. (2019). Remote Sensing, 11(9), 1078. DOI: 10.3390/rs11091078

  • Alpers, W., & Hühnerfuss, H. (1988). Journal of Geophysical Research: Oceans, 93(C4), 3642-3648. DOI: 10.1029/JC093iC04p03642

analyze_coastal_erosionA

Quantify coastal shoreline retreat and erosion rates (m/year) between two observation dates using automated MNDWI waterlines and DSAS baseline transects conforming to USGS DSAS and EU Climate Adaptation standards. Zero-config: Multi-temporal analysis on open Sentinel-2 archives. No credentials or API keys required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. historical_date_range: Baseline date range (e.g. '2019-05-01/2019-08-31'). recent_date_range: Comparison modern date range (e.g. '2024-05-01/2024-08-31'). transect_sample_step: Interval in pixels between perpendicular cross-shore transects (default 5). collection: Satellite collection name ('sentinel-2-l2a' or 'landsat-c2-l2'). format: Output format ('summary', 'geojson', or 'csv').

Returns: JSON or formatted string with transect measurements, End Point Rate (m/year), hazard classification, and eroding coastline percentage.

References:

  • Xu, H. (2006). International Journal of Remote Sensing, 27(14), 3025-3033. DOI: 10.1080/01431160600589179

  • Otsu, N. (1979). IEEE Transactions on Systems, Man, and Cybernetics, 9(1), 62-66. DOI: 10.1109/TSMC.1979.4310076

  • Thieler, E. R., et al. (2009). USGS Open-File Report 2008-1278. DOI: 10.3133/ofr20081278

  • Vos, K., et al. (2019). Environmental Modelling & Software, 122, 104528. DOI: 10.1016/j.envsoft.2019.104528

simulate_sea_level_riseA

Simulate coastal sea-level rise and storm surge inundation using Copernicus DEM GLO-30 and hydrologically connected flood-fill modeling conforming to the EU Floods Directive (2007/60/EC Art. 6). Zero-config: Streams Copernicus DEM GLO-30 from open AWS STAC. No API keys or credentials required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. water_level_rise_m: Projected sea-level rise in meters (default 1.0m). storm_surge_m: Additional storm surge water elevation in meters (default 0.0m). scenario: Optional IPCC AR6 preset ('SSP1-2.6', 'SSP2-4.5', or 'SSP5-8.5'). format: Output format ('summary', 'geojson', or 'csv').

Returns: JSON or formatted string with submerged land area (ha, km²), percentage inundated, mean/max depth, hazard zone breakdown, and ASCII flood distribution map.

References:

  • Poulter, B., & Halpin, P. N. (2008). International Journal of Geographical Information Science, 22(2), 167-182. DOI: 10.1080/13658810701371858

  • Gesch, D. B. (2018). Frontiers in Earth Science, 6, 230. DOI: 10.3389/feart.2018.00230

  • Fox-Kemper, B., et al. (2021). IPCC AR6 WGI Chapter 9. DOI: 10.1017/9781009157896.011

detect_active_wildfiresA

Detect active wildfires and thermal anomalies from open NASA FIRMS feeds (VIIRS / MODIS) and delineate clustered fire perimeters with Fire Radiative Power (MW) and fire danger classification. Zero-config: Uses open NASA FIRMS feeds. No credentials or API keys required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. days: Observation lookback in days (1 to 10). Default is 2. source: Sensor product ('VIIRS_NOAA20_NRT', 'VIIRS_SNPP_NRT', or 'MODIS_NRT'). format: Output format ('summary', 'geojson', or 'csv').

Returns: Hotspot locations, Fire Radiative Power (MW), brightness temperature (K), clustered fire perimeters, and EFFIS fire danger rating.

References:

  • Schroeder, W., et al. (2014). Remote Sensing of Environment, 143, 85-96. DOI: 10.1016/j.rse.2013.12.008

  • Giglio, L., et al. (2016). Remote Sensing of Environment, 178, 31-41. DOI: 10.1016/j.rse.2016.02.054

  • Wooster, M. J. (2003). Remote Sensing of Environment, 86(1), 83-107. DOI: 10.1016/S0034-4257(03)00070-1

monitor_atmospheric_emissionsA

Monitor atmospheric trace gas emissions (NO2, SO2, CO, CH4 Methane) using Sentinel-5P TROPOMI tropospheric column densities correlated with open OpenAQ ground station validation. Zero-config: Uses open Sentinel-5P & OpenAQ telemetry. No API keys or credentials required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. gas: Target trace gas ('NO2', 'CH4', 'SO2', or 'CO'). Default is 'NO2'. datetime_range: Acquisition date window (e.g. '2024-06-01/2024-06-30'). format: Output format ('summary', 'geojson', or 'csv').

Returns: Tropospheric column densities (mean/max), plume detection status, EU directive compliance, and correlated ground station measurements.

References:

  • Veefkind, J. P., et al. (2012). Remote Sensing of Environment, 120, 70-83. DOI: 10.1016/j.rse.2011.09.027

  • van Geffen, J., et al. (2020). Atmospheric Measurement Techniques, 13(3), 1315-1335. DOI: 10.5194/amt-13-1315-2020

analyze_reservoir_droughtA

Analyze reservoir surface water shrinkage and drought dynamics using multi-temporal optical imagery and EC JRC Global Surface Water parameters. Zero-config: Multi-year surface water depletion analysis. No credentials or API keys required.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. historical_year: Baseline year (default 2019). recent_year: Comparison year (default 2024). format: Output format ('summary', 'geojson', or 'csv').

Returns: Historical vs modern water surface area (ha, km²), net water loss, percentage deficit, seasonal vs permanent transition breakdown, and drought severity classification.

References:

  • Pekel, J.-F., Cottam, A., Gorelick, N., & Belward, A. S. (2016). Nature, 540(7633), 418-422. DOI: 10.1038/nature20584

configure_credentialsA

Dynamically configure optional credentials for government satellite providers (CDSE, NASA Earthdata, Planetary Computer, FIRMS). Optional: standard zero-config public access works out-of-the-box without credentials. Providing credentials unlocks official full-granule archive downloads and higher rate limits.

Args: provider: 'cdse' (Copernicus Data Space Ecosystem), 'earthdata' (NASA), 'planetary_computer' (Microsoft), or 'firms'. username: Username or email (required for CDSE). password: Password (required for CDSE). token_or_key: API token or subscription key (for Earthdata, Planetary Computer, or FIRMS).

Returns: JSON string with credential configuration status and verified capabilities.

get_credential_statusA

Inspect the current status of all satellite provider credentials, zero-config mode, and active capabilities.

Returns: JSON string detailing configured accounts (masked for privacy) and unlocked satellite APIs.

download_copernicus_granuleA

Generate an authenticated download URL and curl command to download an official full Sentinel/Copernicus product package from the Copernicus Data Space Ecosystem (CDSE). Requires CDSE credentials (username/password) configured via environment variables or configure_credentials().

Args: product_id: Official Copernicus Product UUID or name (e.g. 'S2A_MSIL2A_20240618T105631_N0510_R094_T31TDF_20240618T164223').

Returns: JSON string with verified download endpoint, authorization header, and execution instructions.

calculate_burn_severityA

Quantify post-fire burn severity and vegetation destruction using the Normalized Burn Ratio Difference (dNBR) from pre-fire and post-fire Sentinel-2 (NIR B08 and SWIR22 B12) observations. Zero-config: Streams public COG tiles without credentials. Classifies according to USGS & EFFIS fire standards.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. pre_fire_date_range: Date range prior to the wildfire (e.g. '2023-06-01/2023-06-30'). post_fire_date_range: Date range immediately following the wildfire (e.g. '2023-08-01/2023-08-31'). collection: Satellite collection ('sentinel-2-l2a' or 'landsat-c2-l2'). format: Output format ('summary', 'geojson', or 'csv').

Returns: JSON or formatted string with mean/max dNBR, total burned area (ha), severity zone breakdown, and EFFIS damage rating.

References:

  • Key, C. H., & Benson, N. C. (2006). USDA Forest Service RMRS-GTR-164-CD, pp. LA 1-55.

  • Parks, S. A., Dillon, G. K., & Miller, C. (2014). Remote Sensing, 6(3), 1827-1844. DOI: 10.3390/rs6031827

analyze_urban_heat_islandA

Compute Land Surface Temperature (LST in °C) and map Urban Heat Island (UHI) microclimate hotspots using Landsat 8/9 Thermal Infrared (TIRS Band 10) and NDVI-derived surface emissivity. Zero-config: Streams public Landsat surface reflectance and thermal data without credentials.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. datetime_range: Acquisition date window during warm season (e.g. '2024-06-01/2024-08-31'). format: Output format ('summary', 'geojson', or 'csv').

Returns: JSON or formatted string with mean/min/max LST (°C), UHI intensity (delta °C), thermal hotspot area (ha), cool island buffer area, and thermal risk classification.

References:

  • Valor, E., & Caselles, V. (1996). Remote Sensing of Environment, 57(3), 167-184. DOI: 10.1016/0034-4257(96)00039-9

  • Sobrino, J. A., et al. (2004). Remote Sensing of Environment, 90(4), 434-440. DOI: 10.1016/j.rse.2004.02.003

  • Jiménez-Muñoz, J. C., et al. (2009). IEEE TGRS, 47(1), 339-349. DOI: 10.1109/TGRS.2008.2007125

monitor_crop_phenologyA

Monitor agricultural crop phenology, growth trajectories, and vegetative anomalies across seasonal cycles. Tracks Start of Season (SOS), Peak of Season (POS), End of Season (EOS), and drought stress vs baseline. Zero-config: Automatically samples cloud-free Sentinel-2 observations across the agricultural calendar.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. year: Observation year (default 2024). crop_type: Optional crop descriptor (e.g. 'Wheat', 'Maize', 'Vineyard', 'Olives'). format: Output format ('summary', 'geojson', or 'csv').

Returns: JSON or formatted string with Start/Peak/End of Season dates, peak NDVI, seasonal biomass proxy, and crop vigor anomaly evaluation.

References:

  • Reed, B. C., et al. (1994). Journal of Vegetation Science, 5(5), 703-714. DOI: 10.2307/3235884

  • Zhang, X., et al. (2003). Remote Sensing of Environment, 84(3), 471-475. DOI: 10.1016/S0034-4257(02)00135-9

  • Jönsson, P., & Eklundh, L. (2004). Computers & Geosciences, 30(8), 833-845. DOI: 10.1016/j.cageo.2004.05.006

query_nasa_operaA

Search and inspect NASA JPL OPERA (Observational Products for End-Users from Remote Sensing Analysis) datasets.

Supported Products:

  • 'dswx': Dynamic Surface Water Extent from HLS (30m). Delineates open water, partial water, and flooded vegetation.

  • 'dist': Surface Disturbance Alert from HLS (30m). Detects vegetation loss, wildfire scars, and deforestation.

  • 'rtc': Radiometric Terrain Corrected SAR from Sentinel-1 (30m). Normalized C-band backscatter for all-weather mapping.

Args: bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. datetime_range: Observation date or range (e.g. '2024-06-01/2024-06-30'). product_type: Product line ('dswx', 'dist', 'rtc'). max_cloud_cover: Cloud cover threshold (0 - 100). limit: Max scenes to discover. format: Output format ('summary' or 'geojson').

Returns: JSON string containing discovered OPERA granules, asset URLs (COGs), and coverage metadata.

export_interactive_mapA

Generate a standalone interactive MapLibre GL JS HTML application from hazard results. Bridges eo-mcp planetary analytics with rich client-side GIS visualization (compatible with GeoLibre).

Features:

  • Dark titanium glassmorphic UI overlay

  • Interactive vector layers (points, polygons, lines) with attribute inspection popups

  • 3D perspective pitch toggle and responsive bounding box fitting

Args: title: Title of the map application (e.g. 'Valencia Flood Inundation Assessment'). bbox: Bounding box [min_lon, min_lat, max_lon, max_lat] in WGS84. geojson: Optional GeoJSON FeatureCollection string (from any eo-mcp hazard tool). hazard_type: Optional hazard descriptor ('flood', 'wildfire', 'vessels', 'erosion', 'opera'). output_html_path: Optional file path to save HTML directly to disk.

Returns: Confirmation JSON with file path and status, or HTML content preview.

export_geolibre_projectA

Export a native GeoLibre project configuration file (.geolibre / .json). Allows one-click importing of eo-mcp analysis layers directly into GeoLibre Desktop (Tauri) or Web (geolibre.app).

Args: title: Project title. bbox: Bounding box [min_lon, min_lat, max_lon, max_lat]. layers: Optional JSON string of layer specifications or GeoJSON layer references. output_json_path: Optional destination file path (e.g. 'valencia_flood.geolibre'). basemap_theme: Basemap style ('dark', 'positron', 'voyager', 'satellite').

Returns: JSON string of GeoLibre project definition or file confirmation.

query_spatial_sqlA

Execute spatial SQL queries on GeoJSON FeatureCollections or tabular geospatial metadata. Modeled after GeoLibre's DuckDB Spatial query panel.

Supports:

  • Standard SQL: SELECT, WHERE, GROUP BY, ORDER BY, LIMIT

  • Spatial Predicates: ST_Area, ST_Centroid, ST_Length, ST_Intersects

Args: sql: SQL query string (e.g. "SELECT id, severity, ST_Area(geom) as area_ha FROM features WHERE severity = 'HIGH'") geojson: GeoJSON FeatureCollection string (from any eo-mcp tool). table_name: Virtual table name (default 'features').

Returns: JSON string containing result columns, rows, and matched feature count.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 29 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but there is overlap between the bundled assess_location_hazard and individual hazard tools like simulate_sea_level_rise or detect_active_wildfires, which could cause misselection if an agent doesn't read descriptions carefully. Detailed descriptions mitigate ambiguity, so the set is mostly distinct.

Naming Consistency3/5

Tool names mix verb-first patterns (detect_active_wildfires, analyze_coastal_erosion) with noun-first patterns (stac_search, query_nasa_opera) and some phrasal names (assess_location_hazard, run_pipeline). While readable, the inconsistency makes predicting tool names from purpose harder.

Tool Count2/5

With 29 tools, the server exceeds the typical well-scoped range and feels heavy, even for a broad EO domain. Many hazard-specific tools could be consolidated under the bundled assess_location_hazard, reducing the surface area.

Completeness4/5

The tool set covers a wide range of Earth observation analyses, including multiple hazard types, spectral indices, terrain, exports, and custom script execution, with few obvious dead ends. Minor gaps like soil moisture or land cover classification exist, but the surface is comprehensive for its stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues