Provides tools for geospatial analysis within Jupyter notebooks.
π 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.
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.17
Then, start JupyterLab with the following command.
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
You can also run make jupyterlab
.
[!NOTE]
The
--ip
is set to0.0.0.0
to allow the MCP server running in a Docker container to access your local JupyterLab.
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-command
To 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
andTOKEN
match those used in thejupyter lab
command.The
NOTEBOOK_PATH
should be relative to the directory where JupyterLab was started.
{
"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_CONFIG=${HOME}/.config/Claude/claude_desktop_config.json
cat <<EOF > $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_CONFIG
The server currently offers 1 tool:
download_earth_data_granules
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).download_analyze_global_sea_level
You can build the Docker image it from source.
make build-docker
Introspects Laravel codebases to provide structured information about views, routes, classes, and models using the mateffy/laravel-introspect package.
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Obtains latest dependency details for Clojure libraries.
A quantum circuit simulator with noise models and OpenQASM 2.0 support, accessible via the Model Context Protocol (MCP).
Generate visualizations from fetched data using the VegaLite format and renderer.
An autonomous memory management system for Claude AI, featuring multi-provider LLM integration and a persistent memory database.
A suite of tools for developers to build AI applications that integrate with Tableau.
Integrate Testomat.io API with AI assistants for test management.
Tools to query latest Maven dependency information
A Grey Hack server for Cursor IDE, providing GitHub code search, Greybel-JS transpilation, API validation, and script generation.