MCP ExplorerExplorer

Mcp Datapi

@albertdowon 14 days ago
1 MIT
FreeCommunity
AI Systems
An MCP server for working with ECWMF data catalogues

Overview

What is Mcp Datapi

mcp-datapi is an MCP server designed for interfacing with the European Centre for Medium-Range Weather Forecasts (ECMWF) Climate Data Store (CDS) data catalogues, allowing users to retrieve catalogue data and job statuses.

Use cases

Use cases for mcp-datapi include retrieving climate data for research projects, monitoring job statuses for data downloads, and integrating climate data access into applications that require real-time data.

How to use

To use mcp-datapi, clone the repository, install the necessary dependencies, and set up your CDS API key in a .env file. You can run the server in development mode locally or integrate it with Claude Desktop for production use.

Key features

Key features include tools for finding available jobs, downloading job results, retrieving collection information, and submitting download requests. It also supports environment variable configuration through a .env file.

Where to use

mcp-datapi can be used in fields that require access to climate data, such as meteorology, environmental science, and research institutions that utilize ECMWF data for analysis and modeling.

Content

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 [email protected]: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.

Tools

No tools

Comments