# Copernicus Data Space MCP

> Copernicus Data Space connects your AI agent to Earth's largest open archive of satellite imagery. You can query terabytes of environmental and geospatial data—including radar, optical, and altimetry passes—by filtering for specific dates, locations, or atmospheric conditions.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** satellite-imagery, geospatial-analysis, earth-observation, environmental-data, remote-sensing, api-integration

## Description

This MCP gives you direct access to the EU Copernicus program archives. Instead of navigating complex government portals, your agent handles the heavy lifting: it searches across multiple satellite types (like Sentinel-1 radar and Sentinel-2 optical) using spatial coordinates, temporal filters, and detailed metadata attributes. You can count how many products are available before committing to a full search, inspect specific product files for necessary data nodes, or generate temporary download links for raw datasets. The system allows you to find the best data source—say, cloud-free imagery from three days ago rather than yesterday's cloudy shot—and pull that data directly into your workflow via Vinkius.

The key thing is that it doesn't just give you a list of files; it gives you the means to assess the entire dataset and plan the retrieval process.

## Tools

### check_copernicus_status
Verifies that your credentials are correct and the data space API is running properly.

### count_products
Calculates how many satellite products exist for a given collection and date range without downloading anything.

### get_collection
Retrieves details about specific data collections, like Sentinel-1 or SENTINEL-2.

### get_product_download_url
Creates a secure, time-limited URL that allows direct download of the raw satellite data file.

### get_product
Gathers detailed technical metadata for a single satellite product using its unique identifier.

### get_quicklook
Gets a small preview and file node listing for a product so you can see its structure before downloading.

### list_attributes
Shows the specific metadata fields available to filter searches, like cloud cover or processing level.

### list_collections
Lists all satellite data collections (e.g., Sentinel-1, Sentinel-3) and their temporal coverage.

### list_latest_products
Fetches a list of the most recently published satellite products available in the archives.

### list_product_nodes
Returns a full file hierarchy listing for a product, including all measurement data and auxiliary files.

### search_by_bbox
Finds satellite products that fall within a specific geographic bounding box on the map.

### search_by_name
Searches for products using a partial name, useful for finding specific tile identifiers or orbits.

### search_by_orbit_number
Filters results to include only data captured from the exact same satellite orbit geometry.

### search_products
Runs a full search by specifying a collection name, date range, and an optional area of interest polygon.

## Prompt Examples

**Prompt:** 
```
Find Sentinel-2 satellite images over Lisbon from the last week.
```

**Response:** 
```
Searching the Copernicus catalogue for SENTINEL-2 products over Lisbon... I found 8 products in the last 7 days. The most recent is S2B_MSIL2A acquired yesterday with 12% cloud cover. The cleanest scene has only 3% cloud cover from 3 days ago. Would you like me to get the download URL for the cloud-free scene?
```

**Prompt:** 
```
How many Sentinel-1 radar products are available for January 2026?
```

**Response:** 
```
Counting SENTINEL-1 products for January 2026... The catalogue contains 42,738 products for that period. Sentinel-1 acquires radar imagery regardless of cloud cover or daylight, so coverage is continuous. Would you like me to search for products in a specific region?
```

**Prompt:** 
```
What data collections are available in the Copernicus Data Space?
```

**Response:** 
```
Fetching available collections... The Copernicus Data Space currently hosts 15 data collections including SENTINEL-1 (C-band SAR radar), SENTINEL-2 (multispectral optical at 10-60m), SENTINEL-3 (ocean color and land surface), SENTINEL-5P (tropospheric monitoring), SENTINEL-6 (precise ocean altimetry), plus Landsat-5/7/8/9, SMOS, MERIS, and DEM datasets. Would you like details about a specific collection?
```

## Capabilities

### Validate Credentials
Confirms your connection details are correct before running large searches.

### Count Potential Data
Estimates how many products match your criteria, saving time and bandwidth by preventing unnecessary full searches.

### Discover Available Sensors
Lists all the specific satellite data collections available (e.g., Sentinel-2, Landsat) and their coverage details.

### Inspect Product Metadata
Retrieves full technical metadata for a single product using its UUID, detailing file size, geometry, and sensing time.

### Generate Download Links
Creates secure, temporary download URLs with Bearer tokens so your agent can pull the raw satellite files directly.

### Preview Data Structure
Provides quicklook previews and file node hierarchies for a product without downloading all the data.

### Targeted Search Queries
Searches products using precise methods, such as bounding boxes (a defined map area) or specific satellite orbital numbers.

## Use Cases

### Assessing Disaster Impact
An emergency team needs to know what happened in a flood zone. They use `search_by_bbox` combined with `list_collections` to narrow down available radar and optical data for the specific coordinates, quickly assessing which sensor type is best for the damage assessment.

### Tracking Agricultural Change
An agronomist wants to know if a field's yield declined. They use `search_products` with a two-year date range and a specific collection name, then compare the resulting metadata files for consistent cloud coverage across both years.

### Academic Climate Modeling
A climate scientist needs to analyze atmospheric data over decades. They use `list_collections` to find appropriate long-term datasets and rely on `search_by_orbit_number` to ensure the historical records are geometrically comparable.

### Monitoring Urban Sprawl
A city planner tracks development by running multiple searches over specific regions. They use `get_product` on promising results to pull detailed metadata, confirming the exact footprint and sensing time for legal documentation.

## Benefits

- You don't waste time on failed downloads. By using `count_products` first, you estimate the total volume before running a full search, saving significant processing cycles.
- The ability to specify an orbit geometry via `search_by_orbit_number` is critical for scientific analysis; it ensures you compare images taken under identical conditions, which standard searches can't guarantee.
- Need to understand exactly what data exists? Running `list_attributes` tells you every possible filter—from cloud cover percentage to processing level—so your search query hits the right parameters.
- Getting a raw file is hard. Using `get_product_download_url` generates authenticated, temporary links, making it simple for your agent to grab massive, complex files automatically.
- You can inspect data structure using `list_product_nodes` or get a quick look via `get_quicklook`. This lets you validate the product's file contents before committing to a full retrieval.

## How It Works

The bottom line is: you use natural language to run complex, multi-filter searches across massive global datasets without ever touching a web portal.

1. First, you connect your client using your credentials and verify the connection status.
2. Next, you tell your agent what you need—for instance, 'Find cloud-free images over London last month'—and specify any needed filters (location box, date range).
3. Your agent runs the search query, assesses the results, and if everything looks right, uses a function to generate a direct, time-limited download link for your final output.

## Frequently Asked Questions

**How do I find out what satellite data types are available using list_collections?**
Calling `list_collections` gives you a comprehensive inventory of every dataset, such as Sentinel-1 (radar) and Landsat. It shows their technical name and general coverage area.

**What is the best search method: search_by_bbox or search_products?**
If you only have coordinates, use `search_by_bbox`. If you know the collection type (like SENTINEL-2) and a date range, `search_products` offers the most detailed control.

**Can I check if my credentials are working before searching with check_copernicus_status?**
Yes. Running `check_copernicus_status` verifies your client ID and secret keys immediately, confirming connectivity without wasting time on a large data query.

**Does get_quicklook download the whole file for me?**
No. `get_quicklook` only fetches thumbnail previews and the internal file node structure. It lets you verify product contents before triggering the full download using `get_product_download_url`.

**How can I check the data volume using count_products before running a full search?**
The `count_products` tool provides an immediate estimate of how many products match your criteria. This saves time and resources by letting you gauge scale without executing a massive, slow search query.

**What is the difference between get_product and list_product_nodes?**
`get_product` returns core metadata like file size and checksum. However, `list_product_nodes` gives you the full directory hierarchy, showing every contained file—measurement data, XML files, quicklooks, etc.—essential for selective downloading.

**How does get_product_download_url handle secure access to raw satellite data?**
`get_product_download_url` generates a time-limited Bearer token and the direct download URL. This ensures that your access is authenticated and temporary, keeping the raw product retrieval secure.

**If I want to refine my search criteria, how do I use list_attributes?**
`list_attributes` shows you all available metadata filters for a given collection. Before running `search_products`, run this tool first; it tells you exactly what parameters (like cloud cover or processing level) you can include.

**How do I get Copernicus OAuth2 credentials?**
Register for free at dataspace.copernicus.eu, navigate to your User Settings dashboard, and create a new OAuth client. You'll receive a Client ID and Client Secret — enter them in the format client_id:client_secret. The entire process takes under 2 minutes.

**What satellite data is available through this server?**
You can access data from all Copernicus Sentinel missions: Sentinel-1 (SAR radar imagery), Sentinel-2 (high-resolution optical imagery at 10m), Sentinel-3 (ocean and land monitoring), Sentinel-5P (atmospheric composition), Sentinel-6 (sea level altimetry), plus complementary data from Landsat, SMOS, and MERIS missions.

**Can I download satellite products through this server?**
Yes. Use the get_product_download_url tool with a product UUID to generate a time-limited authenticated download URL. The URL and Bearer token are valid for approximately one hour. Products are typically in ESA SAFE format and can range from hundreds of megabytes to several gigabytes.