# Copernicus Cds [Health: Active]

**Category:** 🌳 Environment & Nature  
**Repository:** https://github.com/pipeworx-io/mcp-copernicus-cds  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1080  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/copernicus-cds

## Description
The Copernicus Climate Data Store (C3S/ECMWF) catalogue — browse or search the ~140 published…

## Tools
Capabilities this server exposes over MCP:

- **cds_collections** — List or keyword-search the Copernicus Climate Data Store catalogue — the ~140 published climate datasets (ERA5 reanalysis, CMIP6/CORDEX projections, satellite ECVs, seasonal forecasts, in-situ networks). Returns each collection id (pass it to cds_collection or cds_submit_request), title, and the temporal/spatial extent it covers. Keyless. AUTHORITATIVE for "which Copernicus/C3S dataset covers X" — the catalogue itself, not a description of it.
- **cds_collection** — Full detail for ONE Copernicus Climate Data Store collection by id (e.g. "reanalysis-era5-single-levels"). Returns the STAC record — title, abstract, keywords, licence, temporal and bounding-box extent, documentation links — AND the request form: the variables, years, months, pressure levels, area and output formats the retrieval job will accept. Keyless. Call this before cds_submit_request to learn what the dataset actually accepts.
- **cds_submit_request** — Submit a data-retrieval job to the Copernicus Climate Data Store and return the job id and status. Requires your own free CDS Personal Access Token, passed as _apiKey. Use cds_collection first to learn the accepted inputs; CDS jobs are asynchronous — this returns immediately with a job id. Poll it with cds_job_status (same _apiKey) until it reads "successful", then collect the download link with cds_job_result.
- **cds_job_status** — Check a Copernicus Climate Data Store retrieval job submitted with cds_submit_request. Returns its status (accepted, running, successful, failed or dismissed), timestamps and ready (true only when the data can be collected). Unknown or other-account job id returns found:false. Poll until ready is true, then call cds_job_result. Requires the same _apiKey (your own CDS Personal Access Token) that submitted the job.
- **cds_job_result** — Collect the output of a Copernicus Climate Data Store retrieval job: when the job is successful returns the download URL (href) with file type, size in bytes and expiry where the service states them. If the job is not finished it does NOT return an empty result: it returns ready:false with the current status and tells you to poll cds_job_status. A failed job returns its failure reason. Unknown job id returns found:false. Requires the same _apiKey that submitted the job.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "copernicus-cds": {
    "command": "npx",
    "args": ["-y","@pipeworx/mcp-copernicus-cds"]
  }
}
```

## Documentation

## What Copernicus Cds does

Copernicus Cds connects MCP clients to the Copernicus Climate Data Store operated by C3S/ECMWF. It covers the catalogue of modelled and satellite-derived climate datasets, including data associated with ERA5, CMIP6 and CORDEX projections, essential climate variables, and seasonal forecasts.

The integration is separate from the Copernicus Data Space catalogue. Copernicus Cds targets climate variables at `cds.climate.copernicus.eu`; the other service targets Sentinel satellite imagery.

## How it works

The hosted MCP endpoint is available at `https://gateway.pipeworx.io/copernicus-cds/mcp`. A client can also connect to the full Pipeworx gateway, where the same pack is available alongside other data sources. Pack endpoints include shared Pipeworx meta-tools in addition to the pack-specific tools; `ask_pipeworx` can route questions across the wider catalogue.

A local npm bridge is available as `@pipeworx/mcp-copernicus-cds`. It runs with `npx`, forwards requests to the hosted gateway, and requires network access. HTTP callers can invoke tools through the gateway's `/v1/tools/{tool}` endpoints.

## Setup and configuration

For a hosted MCP connection, add the endpoint to a client configuration:

```json
{
  "mcpServers": {
    "copernicus-cds": {
      "url": "https://gateway.pipeworx.io/copernicus-cds/mcp"
    }
  }
}
```

For the local bridge, use:

```json
{
  "mcpServers": {
    "copernicus-cds": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-copernicus-cds"]
    }
  }
}
```

Anonymous local-bridge use is limited to 50 calls per day. Setting `PIPEWORX_API_KEY` raises the allowance to 200 calls per day. `PIPEWORX_META_TOOLS=1` adds the shared gateway tools to the local bridge's listed tools. The bridge can use `NODE_USE_ENV_PROXY=1` with Node versions that support the built-in environment proxy behavior.

## Tools and capabilities

- `cds_collections` lists or locally filters the catalogue by keyword, with limit and offset controls.
- `cds_collection` returns a collection's STAC metadata and, optionally, its retrieval form. The form identifies accepted variables, years, levels, geographic area, and output formats.
- `cds_submit_request` starts an asynchronous retrieval and returns a job identifier. It requires `_apiKey`.
- `cds_job_status` reports whether a job is accepted, running, successful, or failed, along with timestamps.
- `cds_job_result` returns the download URL, file type, size, and expiry after success. In-progress jobs return `ready:false` and their status.

## Limitations and notes

Catalogue operations are keyless, but retrieval operations require a free CDS Personal Access Token passed as `_apiKey`. The token must use the CDS API's `PRIVATE-TOKEN` authentication mechanism. Dataset licence acceptance is a separate requirement; a valid token can still receive a 403 until the account accepts the relevant terms.

The upstream collection-list endpoint returns the complete catalogue and ignores its own query and paging parameters. The integration applies keyword filtering and pagination after receiving that response. Retrievals are asynchronous, so callers should retain the job ID and poll status before requesting the result. This is an unofficial integration and is not affiliated with the upstream provider.

_Full upstream README: https://allmcps.com/mcp/copernicus-cds/readme_

