earthdata
π π§ Earthdata MCP Server.
claude mcp add --transport stdio datalayer-earthdata-mcp-server docker run -i --rm -e DOCUMENT_URL -e DOCUMENT_TOKEN -e DOCUMENT_ID -e RUNTIME_URL -e RUNTIME_TOKEN --network=host datalayer/earthdata-mcp-server:latest \ --env DOCUMENT_ID="notebook.ipynb" \ --env RUNTIME_URL="http://localhost:8888" \ --env DOCUMENT_URL="http://localhost:8888" \ --env RUNTIME_TOKEN="MY_TOKEN" \ --env DOCUMENT_TOKEN="MY_TOKEN" \ --env EARTHDATA_PASSWORD="your_password" \ --env EARTHDATA_USERNAME="your_username"
How to use
Earthdata MCP Server provides a unified interface for discovering and downloading NASA Earthdata datasets, with additional Jupyter notebook manipulation capabilities via composition. The server exposes tools to search datasets and granules on Earthdata and to download data in a way that integrates smoothly with Jupyter notebooks. It also includes a set of composed Jupyter tools that let you programmatically modify and run notebook cells, append or insert content, and monitor execution progress, enabling streamlined data analysis workflows within a MCP environment.
To get started, deploy the server (commonly via Docker as shown in the configuration), then interact with the Earthdata tools to search for datasets or granules using keywords, short names, or temporal and geographic filters. Use the download tool to fetch granules and save them to a local folder, which can then be loaded into your Jupyter notebook for analysis. The Jupyter tools allow you to manipulate notebook content directly from MCP calls, making it easy to build end-to-end data processing pipelines inside your analysis environment.
How to install
Prerequisites:
- Docker installed and running on your host (or compatible container runtime).
- Basic familiarity with MCP configuration structure and environment variable usage.
Installation steps:
-
Install Docker if you havenβt already:
- macOS/Linux: follow official Docker install instructions for Docker Desktop or Docker Engine.
- Windows: install Docker Desktop and ensure WSL 2 integration if using Linux containers.
-
Pull and run the Earthdata MCP Server container (as part of MCP setup, the README suggests using the docker-based configuration):
# Ensure Docker is running
docker --version
docker pull datalayer/earthdata-mcp-server:latest
- Prepare environment variables for your runtime and Earthdata credentials. Example values are placeholders:
export DOCUMENT_URL=http://localhost:8888
export DOCUMENT_TOKEN=MY_TOKEN
export DOCUMENT_ID=notebook.ipynb
export RUNTIME_URL=http://localhost:8888
export RUNTIME_TOKEN=MY_TOKEN
export EARTHDATA_USERNAME=your_username
export EARTHDATA_PASSWORD=your_password
- Run the container with the required environment variables (mirroring the MCP config example):
docker run -i --rm \
-e DOCUMENT_URL \
-e DOCUMENT_TOKEN \
-e DOCUMENT_ID \
-e RUNTIME_URL \
-e RUNTIME_TOKEN \
--network=host \
-e EARTHDATA_USERNAME \
-e EARTHDATA_PASSWORD \
datalayer/earthdata-mcp-server:latest
- Verify the MCP server is reachable and consult the provided documentation for available tools and prompts. You may also configure the server in a project-specific MCP manifest as shown in the readme example.
Additional notes
Notes and tips:
- The Earthdata authentication relies on NASA Earthdata Login credentials. Store EARTHDATA_USERNAME and EARTHDATA_PASSWORD securely (avoid committing to version control).
- When using Docker, --network=host is used in Linux to simplify port exposure; if youβre on Mac or Windows without host networking, you may need to adapt the network configuration or use a bridge network and map ports accordingly.
- The environment variables DOCUMENT_URL, DOCUMENT_TOKEN, DOCUMENT_ID, RUNTIME_URL, and RUNTIME_TOKEN must match between the DOCUMENT and RUNTIME endpoints as described in the MCP configuration notes.
- The EARTHDATA_USERNAME and EARTHDATA_PASSWORD are optional in environments where unauthenticated access is sufficient for your workflow, but to download Earthdata granules youβll typically need Earthdata credentials.
- The Jupyter tools are composed and available alongside Earthdata tools; consult the Jupyter MCP Server documentation for details on each notebook manipulation function, such as append_markdown_cell or execute_cell_with_progress.
Related MCP Servers
jupyter
πͺ π§ Model Context Protocol (MCP) Server for Jupyter.
mcp -odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
falcon
Connect AI agents to CrowdStrike Falcon for automated security analysis and threat hunting
beemcp
BeeMCP: an unofficial Model Context Protocol (MCP) server that connects your Bee wearable lifelogger to AI via the Model Context Protocol
MCP-MultiServer-Interoperable-Agent2Agent-LangGraph-AI-System
This project demonstrates a decoupled real-time agent architecture that connects LangGraph agents to remote tools served by custom MCP (Modular Command Protocol) servers. The architecture enables a flexible and scalable multi-agent system where each tool can be hosted independently (via SSE or STDIO), offering modularity and cloud-deployable execut
Helios
An AI IDE secure coding MCP service