mcp-datapi
0
The Climate Data Store MCP Server is designed to provide an interface for accessing climate data from the CDS catalog. It includes tools for job management and integrates with existing MCP Host/Client platforms, such as Claude Desktop.
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
.