🚀 NASA Earth Data Search (CMR) Model Context Protocol (MCP)
This module is the Model Context Protocol (MCP) for NASA's Earth Data Common Metadata Repository (CMR). The goal of this MCP server is to integrate AI retrieval with NASA's dataset catalog through Earthaccess.
🚀 Quick Start
✨ Features
- Integrate AI retrieval with NASA's dataset catalog.
- Use MCP to search for datasets in CMR.
📦 Installation
-
Dependencies:
- uv - A Rust-based Python package manager.
- An LLM client, such as Claude Desktop or ChatGPT Desktop (for consuming MCP).
-
Clone the repository:
git clone https://github.com/podaac/cmr-mcp.git
cd cmr-mcp
- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
- Install packages using uv:
uv sync
Update the following configuration using the output of which uv
(UV_LIB) and PWD
(CMR_MCP_INSTALL).
💻 Usage Examples
Basic Usage
Add to the AI framework:
In this example, we'll use Claude Desktop.
Update the claude_desktop_config.json
file (sometimes you have to create this file). On a Mac, it's usually located at ~/Library/Application\ Support/Claude/claude_desktop_config.json
.
Add the following configuration, filling in the values for UV_LIB and CMR_MCP_INSTALL - don't use environment variables here.
{
"mcpServers": {
"cmr": {
"command": "$UV_LIB$",
"args": [
"--directory",
"$CMR_MCP_INSTALL$",
"run",
"cmr-search.py"
]
}
}
}
Advanced Usage
Use the MCP server:
Just prompt your agent to execute Search cmr for...
data. Here's a simple example operation.
Other available prompts:
- Search for datasets in CMR from 2024 to 2025.
- Search for datasets in PO.DAAC from 2020 to 2024 with the keyword "climate".







