- Home
- MCP servers
- Copernicus Earth Observation
Copernicus Earth Observation
- 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.