earthdata-mcp-server
๐ โจ Earthdata MCP Server.
Documentation
๐ช โจ Earthdata MCP Server
Earthdata MCP Server is a Model Context Protocol (MCP) server implementation that provides tools to interact with NASA Earth Data.
This server is intentionally Earthdata-only.
If you need notebook/runtime tools, compose this server with `jupyter-mcp-server` using mcp-compose.
Key Features
- Dataset discovery on NASA Earthdata
- Granule search with temporal and bounding box filters
- Flexible download workflow with explicit execution modes
Getting Started
Local install
pip install earthdata-mcp-serverDocker with Claude Desktop
{
"mcpServers": {
"earthdata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"datalayer/earthdata-mcp-server:latest"
],
"env": {
"EARTHDATA_USERNAME": "your_username",
"EARTHDATA_PASSWORD": "your_password"
}
}
}
}Linux host networking
{
"mcpServers": {
"earthdata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network=host",
"datalayer/earthdata-mcp-server:latest"
],
"env": {
"EARTHDATA_USERNAME": "your_username",
"EARTHDATA_PASSWORD": "your_password"
}
}
}
}Tools
The server offers 3 Earthdata tools.
`search_earth_datasets`
- Search for datasets on NASA Earthdata.
- Input:
- search_keywords (str): Keywords to search for in the dataset titles.
- count (int): Number of datasets to return.
- temporal (tuple): (Optional) Temporal range in the format (date_from, date_to).
- bounding_box (tuple): (Optional) Bounding box in the format (lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat).
- Returns: List of dataset abstracts.
`search_earth_datagranules`
- Search for data granules on NASA Earthdata.
- Input:
- short_name (str): Short name of the dataset.
- count (int): Number of data granules to return.
- temporal (tuple): (Optional) Temporal range in the format (date_from, date_to).
- bounding_box (tuple): (Optional) Bounding box in the format (lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat).
- Returns: List of data granules.
`download_earth_data_granules`
- Search and optionally download granules with explicit modes.
- Authentication: Requires NASA Earthdata Login credentials (see authentication guide)
- Input:
- folder_name (str): Local folder name to save the data.
- short_name (str): Short name of the Earth dataset to download.
- count (int): Number of data granules to download.
- temporal (tuple): (Optional) Temporal range in the format (date_from, date_to).
- bounding_box (tuple): (Optional) Bounding box in the format (lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat).
- mode (str): One of:
- `manifest`: Returns granule metadata only.
- `download`: Downloads files directly on server side.
- `script`: Returns Python code to execute elsewhere.
- max_manifest_items (int): Max items returned in `manifest` mode.
How download works
`download_earth_data_granules` always starts by searching for granules with your filters, then behaves based on `mode`:
1. `manifest`
2. `download`
3. `script`
Recommended download strategy
1. Use `mode="manifest"` first to inspect results safely.
2. Use `mode="script"` when you want notebook-driven execution via `mcp-compose` + `jupyter-mcp-server`.
3. Use `mode="download"` only when server-side file writes are intended.
For a full composition example with `mcp-compose`, see download workflow docs.
Prompts
1. `download_analyze_global_sea_level`
2. `sealevel_rise_dataset`
3. `ask_datasets_format`
Building
# or run `docker build -t datalayer/earthdata-mcp-server .`
make build-dockerIf you prefer, you can pull the prebuilt images.
make pull-dockerFrequently asked questions
What is earthdata-mcp-server?
earthdata-mcp-server is ๐ โจ Earthdata MCP Server.
How do I install earthdata-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is earthdata-mcp-server open source?
Yes โ it is hosted on GitHub at https://github.com/datalayer/earthdata-mcp-server and has 21 stars.
Related MCP tools
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! Python-based implementation. Trusted by 11000+ developers.
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP. Python-based implementation. Trusted by 4100+ developers.
A middleware to provide an openAI compatible endpoint that can call MCP tools Python-based implementation. Trusted by 800+ developers.
๐ช โจ Model Context Protocol (MCP) Server for Jupyter. Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers.
Chat with your Kubernetes Cluster using AI tools and IDEs like Claude and Cursor! for the Model Context Protocol. Enhance AI assistants with powerful integratio
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP