The CMR Model Context Protocol (MCP) server enables integration of AI retrievers with NASA's Earthdata Common Metadata Repository (CMR) to search and retrieve datasets. With this server, you can:
Search datasets based on specific criteria or keywords
Filter results by date range using
startdateandstopdateparametersNarrow searches by specifying a particular DAAC (Distributed Active Archive Center), such as NSIDC or PO.DAAC
Use AI agents (like Claude or ChatGPT) to interact with CMR and fetch relevant datasets
Provides access to NASA's Common Metadata Repository (CMR) for Earthdata Search, allowing users to query and retrieve dataset metadata from NASA's catalog based on keywords, time periods, and data providers like PO.DAAC.
Model Context Protocol (MCP) for NASA Earthdata Search (CMR)
This module is a model context protocol (MCP) for NASA's earthdata common metedata repository (CMR). The goal of this MCP server is to integrate AI retrievals with NASA Catalog of datasets by way of Earthaccess.
Dependencies
uv - a rust based python package manager a LLM client, such as Claude desktop or chatGPT desktop (for consuming the MCP)
Related MCP server: Customized MCP Server
Install and Run
Clone the repository to your local environment, or where your LLM client is running.
Install uv
Install packages with uv
use the outputs of which uv (UV_LIB) and PWD (CMR_MCP_INSTALL) to update the following configuration.
Adding to AI Framework
In this example we'll use Claude desktop.
Update the claude_desktop_config.json file (sometimes this must be created). On a mac, this is often found in ~/Library/Application\ Support/Claude/claude_desktop_config.json
Add the following configuration, filling in the values of UV_LIB and CMR_MCP_INSTALL - don't use environment variables here.
Use the MCP Server
Simply prompt your agent to search cmr for... data. Below is a simple example of this in action.

Other prompts that can work:
Search CMR for datasets from 2024 to 2025
Search CMR for PO.DAAC datasets from 2020 to 2024 with keyword Climate