Skip to main content
Glama

eo-processor-mcp

Coverage

An MCP (Model Context Protocol) server for Earth Observation processing, powered by eo-processor.

Similar to stac-mcp for STAC catalog operations, this server exposes eo-processor's high-performance Rust-accelerated EO computation functions as MCP tools that AI agents can invoke.

Features

  • 15 MCP tools covering spectral indices, change detection, temporal statistics, masking, morphology, distances, trend analysis, classification, texture features, zonal statistics, and more

  • Rust-accelerated computation via eo-processor's PyO3 bindings (GIL-released, multi-core parallel)

  • stdio and HTTP transport support

  • Observability built in (structured logging, metrics, correlation IDs, latency histograms)

  • Prompts to guide AI agents in using the tools effectively

Related MCP server: Google Earth Engine MCP Server

Tools

Tool

Description

compute_spectral_index

Compute spectral indices (NDVI, NDWI, EVI, SAVI, etc.) from band .npy files

compute_change_index

Change detection (delta_ndvi, delta_nbr, dnbr, rbr) from pre/post imagery

temporal_statistics

Median, mean, std, sum along the time axis

temporal_composite

Weighted temporal composite of 4D arrays

moving_average

Moving average with optional stride/downsampling

apply_mask

Unified masking (by values, range, SCL, NaN replacement)

morphological_operation

Binary dilation, erosion, opening, closing

compute_distances

Pairwise distances (euclidean, manhattan, chebyshev, minkowski)

analyze_trends

Linear regression and trend analysis with break detection

bfast_monitor

BFAST Monitor change detection on time series

classify

Random Forest train/predict, complex multi-band classification

texture_features

Haralick/GLCM texture features

zonal_statistics

Zonal statistics (count, sum, mean, min, max, std per zone)

pixelwise_transform

Linear transform with optional clamping

list_capabilities

List all available indices, operations, and tools

Installation

pip install -e .
# or with uv
uv pip install -e .

Usage

stdio (default)

eo-processor-mcp
# or
python -m eo_processor_mcp

HTTP/SSE

EO_PROCESSOR_MCP_TRANSPORT=http python -m eo_processor_mcp

MCP Client Configuration

{
  "eo-processor": {
    "command": "uvx",
    "args": ["--from", "git+https://github.com/BnJam/eo-processor-mcp", "eo-processor-mcp"],
    "transport": "stdio"
  }
}

Container (GHCR)

A pre-built image is published to GitHub Container Registry on every merge to main:

docker pull ghcr.io/bnjam/eo-processor-mcp:latest
docker run --rm ghcr.io/bnjam/eo-processor-mcp:latest

Available tags:

  • latest — most recent main build

  • sha-<short-sha> — immutable build for a specific commit

  • <X.Y.Z>, <X>.<Y>, <X> — semver tags (only when a version bump occurs)

To use the container with an MCP client:

{
  "eo-processor": {
    "command": "docker",
    "args": ["run", "--rm", "ghcr.io/bnjam/eo-processor-mcp:latest"],
    "transport": "stdio"
  }
}

Data Format

All tools accept NumPy .npy file paths as input and write results to .npy files. Tool responses include:

  • output_path: Path to the result .npy file

  • stats: Summary statistics (shape, dtype, min, max, mean, std, NaN count)

Environment Variables

Variable

Default

Purpose

EO_PROCESSOR_MCP_TRANSPORT

stdio

Transport mode (stdio, http, streamable-http, sse)

EO_PROCESSOR_MCP_HOST

127.0.0.1

HTTP host

EO_PROCESSOR_MCP_PORT

8000

HTTP port

EO_PROCESSOR_MCP_LOG_LEVEL

WARNING

Logging level

EO_PROCESSOR_MCP_LOG_FORMAT

text

Log format (text or json)

EO_PROCESSOR_MCP_ENABLE_METRICS

true

Enable in-process metrics

EO_PROCESSOR_MCP_ENABLE_TRACE

false

Enable trace span logging

Development

make install-dev    # Install with dev dependencies
make test           # Run tests
make lint           # Run ruff
make format         # Auto-format
make coverage       # Coverage report

License

Apache-2.0

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A self-hosted MCP server that gives LLM agents local, reproducible access to Copernicus environmental data including observations, reanalysis, forecasts, and climate indicators.
    14
    BSD 3-Clause
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that connects AI agents to cloud-native geospatial data via STAC metadata and DuckDB with H3 spatial indexing, enabling zero-configuration SQL queries on terabyte-scale datasets over S3.
    23
    BSD 3-Clause

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BnJam/eo-processor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server