- Home
- MCP servers
- Jupyter Earth
Jupyter Earth
- python
6
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"datalayer-jupyter-earth-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"datalayer/jupyter-earth-mcp-server:latest"
],
"env": {
"TOKEN": "MY_TOKEN",
"SERVER_URL": "http://host.docker.internal:8888",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
}
}The Jupyter Earth MCP Server exposes a dedicated MCP endpoint that lets you interact with NASA Earthdata datasets and run geospatial analyses inside Jupyter notebooks. It provides a focused set of tools to search, download, and analyze Earth science data directly from your notebook environment, enabling streamlined workflows between data discovery and computation.
How to use
To start using the MCP server, run it in Docker and connect your MCP client or integration to the provided MCP endpoints. You will configure environment variables to point to your local Jupyter notebook or remote notebook server and to supply an access token for secure communication. Once running, you can trigger the server to download Earth data granules and perform analysis directly from notebook cells using the available tools and prompts.
A core tool is download_earth_data_granules which enables you to download Earth data granules from NASA Earthdata into a local folder. You can specify the dataset short name, how many granules to download, and optionally constrain the data by a temporal range or a geographic bounding box.
You can also start analysis workflows by invoking prompts designed to initialize data retrieval and analysis, such as preparing a global sea level data download and analysis sequence within your notebook.
To integrate with other tools or clients, you can configure an MCP client to point at the running MCP server URL and supply the required token for access. Use the port and host information exposed by your Docker setup to establish the connection.
The server is designed to be run in a container and can be used alongside JupyterLab or other notebook interfaces to facilitate end-to-end data access and analysis workflows.
Code example: the following configuration shows two possible ways to run the MCP server via Docker for different environments. Use the one matching your platform and network setup.
{
"mcpServers": [
{
"type": "stdio",
"name": "jupyter-earth_mac",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"datalayer/jupyter-earth-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://host.docker.internal:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
},
{
"type": "stdio",
"name": "jupyter-earth_linux",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"--network=host",
"datalayer/jupyter-earth-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://localhost:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
]
}
```"}]} ,{
How to install
Prerequisites: you need Docker installed on your system. You may also run in conjunction with a Jupyter notebook environment if you plan to interact with Earthdata through notebooks.
Step by step commands to run the MCP server via Docker (macOS/Windows):
# Pull and run the MCP server image for macOS/Windows deployment
# Prepare environment variables in your shell or via a config file
export SERVER_URL=http://host.docker.internal:8888
export TOKEN=MY_TOKEN
export NOTEBOOK_PATH=notebook.ipynb
docker run -i --rm \
-e SERVER_URL \
-e TOKEN \
-e NOTEBOOK_PATH \
datalayer/jupyter-earth-mcp-server:latest
```"} ,{
Step by step commands to run the MCP server via Docker (Linux):
export SERVER_URL=http://localhost:8888
export TOKEN=MY_TOKEN
export NOTEBOOK_PATH=notebook.ipynb
docker run -i --rm \
-e SERVER_URL \
-e TOKEN \
-e NOTEBOOK_PATH \
--network=host \
datalayer/jupyter-earth-mcp-server:latest
```"}]} ,{
After starting the container, connect your MCP client to the configured SERVER_URL with the provided TOKEN. Your notebook can trigger data downloads and analyses through the available tools and prompts.
Additional notes
Environment variables and their meanings are shown in the Docker run examples. SERVER_URL points to the notebook or JupyterLab host, TOKEN is your access token, and NOTEBOOK_PATH is the relative path to your notebook within the container or host where the notebook runs.
If you are using Claude Desktop or other MCP clients, ensure the SERVER_URL, TOKEN, and NOTEBOOK_PATH values match your local setup so the client can communicate with the running MCP server.
The server offers the tool download_earth_data_granules to pull Earthdata granules and the prompt download_analyze_global_sea_level to guide end-to-end workflows inside a notebook.
Available tools
download_earth_data_granules
Downloads Earth data granules from NASA Earthdata into a local folder using a notebook-based workflow.
download_analyze_global_sea_level
Prompts the user to initiate a global sea level data download and analysis workflow inside a notebook.