Jupyter Earth MCP Server
Provides tools for geospatial analysis within Jupyter notebooks.
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.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
--ipis set to0.0.0.0to 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-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_URLandTOKENmatch those used in thejupyter labcommand.The
NOTEBOOK_PATHshould 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 <<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
Components
Tools
The server currently offers 1 tool:
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
download_analyze_global_sea_level- To ask for downloading and analyzing global sea level data in Jupyter.
- Returns: Prompt correctly formatted.
Building
You can build the Docker image it from source.
make build-docker
İlgili Sunucular
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
ts-morph Refactoring Tools
Refactor TypeScript and JavaScript codebases using ts-morph. Supports renaming symbols and files, moving symbols, and searching for references.
Remote MCP Server on Cloudflare
Deploy a remote MCP server without authentication on Cloudflare Workers.
MCP Builder
A Python-based server to install and configure other MCP servers from PyPI, npm, or local directories.
Remote MCP Server on Cloudflare
A remote MCP server deployable on Cloudflare Workers with OAuth login support, designed for both local development and cloud deployment.
Commands
An MCP server to run arbitrary commands on the local machine.
React Native Debugger MCP
Connects to the React Native application debugger to retrieve console logs from Metro.
MCP Jenkins Intelligence
AI-powered Jenkins pipeline intelligence platform with natural language interface. Provides comprehensive pipeline analysis, failure prediction, optimization suggestions, and automated Jenkinsfile reconstruction using Model Context Protocol (MCP) integration.
Swagger MCP Server
An example MCP server for deployment on Cloudflare Workers without authentication.
Dify Server
Integrates the Dify AI API to generate Ant Design business component code. Supports text, image inputs, and streaming responses.
Terry-Form MCP
Execute Terraform commands locally in a secure, containerized environment. Features LSP integration for intelligent Terraform development.