jupyter-earth-mcp-server
πͺ π Jupyter Earth MCP Server
Documentation
> This repository is archived - Use https://github.com/datalayer/earthdata-mcp-server instead.
π β¨ Jupyter Earth MCP Server
π Jupyter Earth MCP Server is a Model Context Protocol (MCP) server implementation that provides a set of tools for πΊοΈ Geospatial analysis in π Jupyter notebooks.
The following demo uses the Earthdata MCP server to search for datasets and data granules on NASA Earthdata, this MCP server to download the data in Jupyter and the jupyter-mcp-server to run further analysis.
Start JupyterLab
Make sure you have the following installed. The collaboration package is needed as the modifications made on the notebook can be seen thanks to Jupyter Real Time Collaboration.
pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.17Then, start JupyterLab with the following command.
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0You can also run `make jupyterlab`.
> [!NOTE]
>
> The `--ip` is set to `0.0.0.0` to allow the MCP server running in a Docker container to access your local JupyterLab.
Use with Claude Desktop
Claude Desktop can be downloaded from this page for macOS and Windows.
For Linux, we had success using this UNOFFICIAL build script based on nix
# β οΈ UNOFFICIAL
# You can also run `make claude-linux`
NIXPKGS_ALLOW_UNFREE=1 nix run github:k3d3/claude-desktop-linux-flake \
--impure \
--extra-experimental-features flakes \
--extra-experimental-features nix-commandTo use this with Claude Desktop, add the following to your `claude_desktop_config.json` (read more on the MCP documentation website).
> [!IMPORTANT]
>
> Ensure the port of the `SERVER_URL`and `TOKEN` match those used in the `jupyter lab` command.
>
> The `NOTEBOOK_PATH` should be relative to the directory where JupyterLab was started.
Claude Configuration on macOS and Windows
{
"mcpServers": {
"jupyter-earth": {
"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"
}
}
}
}Claude Configuration on Linux
CLAUDE_CONFIG=${HOME}/.config/Claude/claude_desktop_config.json
cat $CLAUDE_CONFIG
{
"mcpServers": {
"jupyter-earth": {
"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"
}
}
}
}
EOF
cat $CLAUDE_CONFIGComponents
Tools
The server currently offers 1 tool:
1. `download_earth_data_granules`
- Add a code cell in a Jupyter notebook to download Earth data granules from NASA Earth Data.
- Input:
- `folder_name`(string): Local folder name to save the data.
- `short_name`(string): 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).
- Returns: Cell output.
Prompts
1. `download_analyze_global_sea_level`
Building
You can build the Docker image it from source.
make build-dockerFrequently asked questions
What is jupyter-earth-mcp-server?
jupyter-earth-mcp-server is πͺ π Jupyter Earth MCP Server
How do I install jupyter-earth-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 jupyter-earth-mcp-server open source?
Yes β it is hosted on GitHub at https://github.com/datalayer/jupyter-earth-mcp-server and has 6 stars.
Related MCP tools
Model Context Protocol with Neo4j Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers. Trusted by 700+ developers.
πͺ β¨ Model Context Protocol (MCP) Server for Jupyter. Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers.
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.
AWS MCP Servers β helping you get the most out of AWS, wherever you use MCP. Python-based implementation. Trusted by 6900+ developers.
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP. Python-based implementation. Trusted by 4100+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP