Climate Data Store (CDS) MCP Server
About
An MCP server for working with ECWMF data catalogues
Details
- Author
- albertdow
- GitHub stars
- 1
- Downloads
- 209
- Categories
- Search
Jump to
- Provides five tools: get_jobs, download_job_result, get_all_collections, get_collection_by_id, and submit_job.
- Environment variable support via .env for API credentials.
- Designed for MCP hosts (Claude Desktop, MCP Inspector).
- Built on the datapi Python library from ECMWF.
- Requires Python 3.13 or higher.
Clone the repository, install dependencies with uv add "mcp[cli]" datapi python-dotenv, then create a .env file with DATAPI_URL and DATAPI_KEY. Test in dev mode with mcp dev datapi_server.py, or integrate with Claude Desktop using mcp install datapi_server.py --name "DatapiServer" -f .env or by adding the server configuration to claude_desktop_config.json.
Climate Data Store (CDS) MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides the LLM an
interface to retrieve CDS catalogue data and job statuses.
The underlying API is datapi - docs found here.
Features
- Tools:
- get_jobs: find the jobs available, optionally add a filter based on status.
Returns a list of job ids.
- download_job_result: downloads the job result using job id.
- get_all_collections: gets all available collection ids in the catalogue.
- get_collection_by_id: fetches information for a specified collection.
- submit_job: submits a download request.
- Environment variable support using .env.
Prerequisites
- Python 3.13 or higher.
- CDS API Key: here
- MCP Host/Client: tested on Claude Desktop and the MCP Inspector.
Installation
- Clone the repository:
git clone git@github.com:albertdow/mcp-datapi.git
cd mcp-datapi
- Install dependencies (using uv):
uv add "mcp[cli]" datapi python-dotenv
- Setup CDS API key by creating a .env file and adding the following:
DATAPI_URL=<DATAPI_URL>
DATAPI_KEY=<DATAPI_KEY>
Details on CDS API key setup can be found here.
Usage
Dev Mode with MCP Inspector
Test the server locally:
mcp dev datapi_server.py
Integrate with Claude Desktop
mcp install datapi_server.py --name "DatapiServer" -f .env
Or directly put add to your claude_desktop_config.json:
{
"mcpServers": {
"DatapiServer": {
"command": "uv",
"args": [
"--directory",
"mcp-datapi",
"run",
"mcp_datapi/datapi_server.py"
],
"env": {
"DATAPI_URL": "<DATAPI_URL>",
"DATAPI_KEY": "<DATAPI_KEY>"
}
}
}
}
Note:
- I had to specify the path to uv, e.g. /Users/username/.local/bin/uv.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

