era5-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@era5-mcp-serverDownload ERA5 2m temperature for January 2023"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ERA5 Climate Data MCP Server
This project provides a ready-to-run MCP (Model Context Protocol) server that interfaces with the Copernicus Climate Data Store (CDS). It allows you to use natural language in an AI assistant (like Gemini CLI or Claude Desktop) to fetch and inspect ERA5 climate data.
Features
Easy Data Download: Fetch monthly-averaged ERA5 data for both single levels (e.g., surface temperature) and pressure levels (e.g., geopotential height at 500hPa).
Multi-Year Fetching: Download data for the same month across multiple years in a single request.
Data Inspection: Quickly inspect the contents (dimensions, coordinates, variables) of any downloaded NetCDF file.
1. Setup Copernicus API Key
Before using the server, you must have a Copernicus account and an API key.
Register: Create an account on the CDS Website.
Get Key: Log in and find your API key at the bottom of your user profile page (e.g.,
https://cds.climate.copernicus.eu/user/YOUR_USER_ID).Create
.cdsapircfile: Create a file named.cdsapircin your home directory (~/.cdsapircon Linux/macOS,C:\Users\YourUser\.cdsapircon Windows).Add Credentials: Add your API key to the file in the following format, replacing
YOUR_UIDandYOUR_API_KEYwith your actual values:url: https://cds.climate.copernicus.eu/api/v2 key: YOUR_UID:YOUR_API_KEYAccept Terms: For each dataset you want to access (
reanalysis-era5-single-levels-monthly-meansandreanalysis-era5-pressure-levels-monthly-means), you must visit its page on the CDS website and accept the terms of use manually. The server cannot do this for you.
2. Installation
A requirements.txt file is provided to install all necessary dependencies.
# Create and activate a Python virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On macOS/Linux
# .\venv\Scripts\activate # On Windows
# Install the required packages
pip install -r requirements.txt3. Available Tools
This server exposes the following tools to your AI assistant:
fetch_era5_single_levels
Downloads ERA5 monthly mean surface data.
Parameters:
variable(str): The surface variable to download (e.g.,'2m_temperature').year(str): The year for the data (e.g.,'2023').month(str): The month for the data (e.g.,'01','12').output_filename(str): The local path to save the file (e.g.,'data/2m_temp_2023_01.nc').
fetch_era5_pressure_levels
Downloads ERA5 monthly mean data on specific pressure levels.
Parameters:
variable(str): The variable to download (e.g.,'geopotential','temperature').pressure_level(int): The pressure level in hPa (e.g.,500,850).year(str or list[str]): The year(s) for the data. Can be a single year ('2023') or a list of years for multi-year downloads (['2020', '2021', '2022']).month(str): The month for the data (e.g.,'03').output_filename(str): The local path to save the file.
inspect_netcdf
Inspects a NetCDF file and returns a summary of its contents.
Parameters:
filepath(str): The absolute path to the.ncfile to inspect.
4. Running the Server
Once installed, you can run the MCP server directly from your terminal. This will make the tools available to your connected AI assistant.
python era5_server.pyTo add the server to your assistant permanently:
Gemini CLI:
gemini tools add era5_server.pyClaude: Add a new tool and point it to the server's OpenAPI specification. By default, the server runs on
localhost:8000, and the specification is available athttp://localhost:8000/openapi.json.Other MCP-compatible clients: Follow their instructions for adding a local tool server.
5. Testing the Server
A Jupyter notebook, test_server.ipynb, is provided to test the server's functionality directly from a Python environment.
Install Jupyter: If you don't have it, install Jupyter Lab:
pip install jupyterlabRun the Notebook: Start Jupyter Lab and open
test_server.ipynb:jupyter labExecute Cells: Follow the instructions in the notebook to run the cells. They will guide you through installing dependencies, setting a cache directory, and testing single-year, multi-year, and inspection tools.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/swnesbitt/era5-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server