rasdaman-mcp v0.2.1

AI Agent Intelligence on Datacubes

Enable natural language interaction with geo-spatial datacubes in rasdaman: satellite time-series, climate models, simulations, etc.

AI Conversation
User Summarize the available datacubes.
AI There are 244 coverages available in rasdaman, including
- Climate data: ERA5 / ERA5_Land_monthly, CMIP6
- Soil moisture: C3S (active, passive, combined)
- Sentinel missions: S1 (SAR), S2 (MSI), S3 (OLCI, SLSTR)
- Land cover: CLMS products
- Bathymetry/Topography: Bathymetry_insitu, EU_DEM
- ...
 
User Can you create NDVI for June 12, 2025?
AI I will execute the query below to calculate an NDVI map:
for $c in (Sentinel2_L2A_10m)
return encode(
  ( ( $c.B04 - $c.B08 ) / ( $c.B04 + $c.B08 ) )
  [ time("2025-06-12"), Lat(*:*), Lon(*:*) ], "tiff" )
The result is saved to /tmp/tmpqjtfkplm

Installation

Get up and running in seconds with pip or install from source for development

šŸ“¦ PyPI Install

Install the latest stable release from PyPI

pip install rasdaman-mcp

šŸ”§ Development Install

Clone and install from source for development

git clone https://github.com/rasdaman/rasdaman-mcp.git
cd rasdaman-mcp && uv pip install -e .

Usage Modes

Choose between stdio for direct AI integration or HTTP for microservice deployment

stdio Mode

Direct integration with AI agents via standard input/output

General Command

rasdaman-mcp --username rasguest \
  --password rasguest \
  --rasdaman-url "..."

Example: gemini-cli

gemini mcp add rasdaman-mcp \
  "rasdaman-mcp --username rasguest \
  --password rasguest \
  --rasdaman-url http://localhost:8080/rasdaman/ows"

Benefits

  • Simplicity: No separate server process or ports
  • Seamless Integration: Tools available within client environment

HTTP Mode

Standalone Web server for microservice deployment

Start Server

rasdaman-mcp --transport http \
  --host 127.0.0.1 --port 8000 \
  --rasdaman-url "..."

Configure Agent: Mistral Vibe

[[mcp_servers]]
name = "rasdaman-mcp"
transport = "streamable-http"
url = "http://127.0.0.1:8000/mcp/"

Benefits

  • Scalability: Containerize or deploy on a separate server
  • Decoupling: Any HTTP client can connect and interact

Rasdaman Connection

Configure rasdaman connection via environment variables or CLI arguments

šŸ” Environment Variables

RASDAMAN_URL Server endpoint
RASDAMAN_USERNAME Valid username
RASDAMAN_PASSWORD Corresponding password

āš™ļø CLI Arguments

--rasdaman-url Server endpoint
--username Valid username
--password Corresponding password

Example Interactions

See how AI agents can interact with rasdaman through natural language

Listing available coverages in rasdaman

Listing Coverages

"What coverages are available in my rasdaman instance?" — AI discovers and categorizes the available datasets.

Describing ERA5_Land_monthly coverage metadata

Describing a Coverage

"Describe the ERA5_Land_monthly coverage" — The agent retrieves comprehensive datacube metadata, which allows to perform accurate queries for processing and analytics later on.

Executing WCPS query for wind speed calculation

Performing Calculations

"Calculate wind speed for 2025-10" — The AI agent translates natural language to a WCPS query computing √(u²+v²), linear stretching, and export to PNG for visualization.

Global wind speed visualization result

Query Result Visualization

Global wind speed patterns for October 2025 — 3600Ɨ1801 pixel grayscale image with darker values representing lower wind speeds and brighter values higher speeds.

Natural language query suggestion for wind farm analysis

Query Suggestion

"Analyze wind potential for optimal wind farm locations" — AI generates a complex WCPS query with 6-month averaging, coefficient of variation, and composite scoring to identify prime candidate areas.