🌎 ✨ Jupyter Earth MCP-Server
🌍 Jupyter Earth MCP Server ist eine Model Context Protocol (MCP)-Serverimplementierung, die eine Reihe von Tools für 🗺️ Georäumliche Analysen in 📓 Jupyter-Notebooks bereitstellt.
Die folgende Demo verwendet den Earthdata MCP-Server, um auf NASA Earthdata nach Datensätzen und Datengranulaten zu suchen, diesen MCP-Server, um die Daten in Jupyter herunterzuladen, und den Jupyter-MCP-Server, um weitere Analysen durchzuführen.
Starten Sie JupyterLab
Stellen Sie sicher, dass Sie Folgendes installiert haben. Das Collaboration-Paket wird benötigt, da die am Notebook vorgenommenen Änderungen dank Jupyter Real Time Collaboration sichtbar sind.
pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.17Starten Sie dann JupyterLab mit dem folgenden Befehl.
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0Sie können auch make jupyterlab ausführen.
[!NOTIZ]
Die
--ipwird auf0.0.0.0gesetzt, um dem in einem Docker-Container ausgeführten MCP-Server den Zugriff auf Ihr lokales JupyterLab zu ermöglichen.
Related MCP server: MCP Google Map Server
Verwendung mit Claude Desktop
Claude Desktop kann von dieser Seite für macOS und Windows heruntergeladen werden.
Für Linux hatten wir Erfolg mit diesem inoffiziellen Build-Skript basierend auf 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-commandUm dies mit Claude Desktop zu verwenden, fügen Sie Folgendes zu Ihrer claude_desktop_config.json hinzu (lesen Sie mehr auf der MCP-Dokumentationswebsite ).
[!WICHTIG]
Stellen Sie sicher, dass der Port der
SERVER_URLundTOKENmit denen imjupyter lab-Befehl übereinstimmen.Der
NOTEBOOK_PATHsollte relativ zum Verzeichnis sein, in dem JupyterLab gestartet wurde.
Claude-Konfiguration unter macOS und 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-Konfiguration unter 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_CONFIGKomponenten
Werkzeuge
Der Server bietet derzeit 1 Tool:
download_earth_data_granules
Fügen Sie in einem Jupyter-Notebook eine Codezelle hinzu, um Erddatengranulate von NASA Earth Data herunterzuladen.
Eingang:
folder_name(Zeichenfolge): Name des lokalen Ordners zum Speichern der Daten.short_name(Zeichenfolge): Kurzname des herunterzuladenden Earth-Datensatzes.count(int): Anzahl der herunterzuladenden Datengranulate.temporal(Tupel): (Optional) Zeitbereich im Format (Datum_von, Datum_bis).bounding_box(Tupel): (Optional) Begrenzungsrahmen im Format (untere_linke_Länge, untere_linke_Breitengrad, obere_rechte_Länge, obere_rechte_Breitengrad).
Rückgabe: Zellenausgabe.
Eingabeaufforderungen
download_analyze_global_sea_levelUm das Herunterladen und Analysieren globaler Meeresspiegeldaten in Jupyter anzufordern.
Rückgabe: Eingabeaufforderung korrekt formatiert.
Gebäude
Sie können das Docker-Image aus der Quelle erstellen.
make build-docker