Copernicus Earth Observation

Provides multi-mission search, download, and file management for Copernicus Sentinel data via an MCP server.
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "wb1016-copernicus-mcp": {
      "command": "python",
      "args": [
        "-m",
        "copernicus_mcp"
      ],
      "env": {
        "COPERNICUS_PASSWORD": "your-password",
        "COPERNICUS_USERNAME": "your-email@example.com",
        "COPERNICUS_DEBUG_AUTH": "true",
        "COPERNICUS_TEST_REAL_DOWNLOAD": "true"
      }
    }
  }
}

You can access Copernicus Earth Observation data through this MCP server, which combines search, download, and file management for multiple Sentinel missions. It enables you to discover recent imagery, evaluate coverage, download full products or previews, and organize your local downloads with automatic cleanup and statistics.

How to use

You interact with the MCP server by running it locally and connecting your MCP client to its interface. Start the server from your development environment, then configure your client to point at the local process. You can search for images across Sentinel missions, inspect metadata, check download availability, and perform single or batch downloads. Use the client’s tools to list downloaded files, monitor progress, and run cleanup actions. The server handles authentication to Copernicus Data Space behind the scenes and caches tokens for efficient repeated use.

How to install

Prerequisites: you need Python 3.11 or higher and the pip package manager. You also should have a Copernicus Data Space account for download-enabled operations.

Step by step commands to set up and run the server locally:

# 1. Clone the project
git clone <repository-url>
cd copernicus-mcp

# 2. Install dependencies
pip install -r requirements.txt

# 3. Install in development mode
pip install -e .

# 4. Set up authentication (choose your shell)
# Linux/Mac
export COPERNICUS_USERNAME="your-email@example.com"
export COPERNICUS_PASSWORD="your-password"

# Windows (Command Prompt)
set COPERNICUS_USERNAME=your-email@example.com
set COPERNICUS_PASSWORD=your-password

# Windows (PowerShell)
$env:COPERNICUS_USERNAME="your-email@example.com"
$env:COPERNICUS_PASSWORD="your-password"

# Register for free at your Copernicus Data Space account
# Open a browser to complete the signup

"} ,{

## Additional sections

Configuration, security, testing, and troubleshooting details are provided below to help you deploy and operate the MCP server smoothly.

## Configuration

Environment variables you will use during operation and testing are shown here. They control authentication and debugging behavior.

Core authentication (set these before running the server or when testing)

export COPERNICUS_USERNAME="your-email@example.com" export COPERNICUS_PASSWORD="your-password"

Enable authentication debugging during development

export COPERNICUS_DEBUG_AUTH="true"

Optional: enable real download tests if you have valid credentials

export COPERNICUS_TEST_REAL_DOWNLOAD="true"

## Server connection methods

The server is designed to run locally as a Python module. You can start it directly from your development environment using Python’s module execution form.

Start the MCP server (standard local run)

python -m copernicus_mcp

Or start the server using the server module directly

python -m copernicus_mcp.server

## Security notes

Protect credentials by using environment variables rather than hardcoding values. Tokens are acquired securely and cached with expiration handling. All API calls use HTTPS with certificate validation, and cleanup actions default to a dry-run to prevent accidental data loss.

## Testing

Run test scripts to verify authentication and end-to-end workflows. Use credentials when performing end-to-end tests that require real downloads.

Example test commands

export COPERNICUS_USERNAME="your-email@example.com" export COPERNICUS_PASSWORD="your-password" python test_simple_download.py python test_download_e2e.py

## Notes

The server is actively maintained and evolves as Copernicus data services expand. For client-side usage, you typically configure your MCP client to connect to the locally running server process and perform searches, downloads, and file management through the provided tools.

## Available tools

### search\_copernicus\_images

Search for satellite images across Copernicus missions using geometry, mission, date range, and cloud cover filters.

### get\_image\_details

Retrieve comprehensive metadata for a specific image, including download links and processing level.

### get\_mission\_info

Obtain detailed information about Copernicus missions, including sensors and applications.

### get\_recent\_images

Fetch the most recent images for a region and mission.

### check\_coverage

Analyze image coverage over a time range for a given region.

### download\_image

Download a Copernicus image by ID in full, quicklook, or compressed form.

### batch\_download\_images

Download multiple images concurrently with configurable concurrency.

### search\_and\_download

Search for images and automatically download the best match.

### check\_download\_availability

Check whether images are available for download and retrieve sizes.

### get\_product\_download\_links

Retrieve all available download URLs for an image.

### list\_downloaded\_files

List and filter downloaded files by type, size, and date.

### cleanup\_downloads

Clean up old or oversized downloads with dry-run support.

### get\_download\_statistics

Provide statistics about downloaded files by mission, type, and time period.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational