mcp-datapi
If you are the rightful owner of mcp-datapi and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server implementation that provides the LLM an interface to retrieve CDS catalogue data and job statuses.
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
.