🌎 ✨ Jupyter Earth MCP サーバー
🌍 Jupyter Earth MCP サーバーは、📓 Jupyter ノートブックでの🗺️ 地理空間分析用のツールセットを提供するモデル コンテキスト プロトコル(MCP) サーバー実装です。
次のデモでは、Earthdata MCP サーバーを使用して NASA Earthdata 上のデータセットとデータ グラニュールを検索し、この MCP サーバーを使用して Jupyter にデータをダウンロードし、 jupyter-mcp-server を使用してさらに分析を実行します。
JupyterLabを起動する
以下のパッケージがインストールされていることを確認してください。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.15次に、以下のコマンドでJupyterLabを起動します。
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0make jupyterlabを実行することもできます。
[!注記]
--ipは0.0.0.0に設定され、Docker コンテナで実行されている MCP サーバーがローカルの JupyterLab にアクセスできるようになります。
Related MCP server: MCP Google Map Server
Claude Desktop で使用する
Claude Desktop は、macOS および Windows 向けにこのページからダウンロードできます。
Linuxでは、 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これを Claude Desktop で使用するには、 claude_desktop_config.jsonに次のコードを追加します (詳細については、 MCP ドキュメント Web サイトを参照してください)。
[!重要]
SERVER_URLとTOKENのポートが、jupyter labコマンドで使用されているポートと一致していることを確認します。
NOTEBOOK_PATHは、JupyterLab が起動されたディレクトリを基準にする必要があります。
macOSとWindowsでのClaudeの構成
{
"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"
}
}
}
}LinuxでのClaudeの設定
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コンポーネント
ツール
サーバーは現在 1 つのツールを提供しています:
download_earth_data_granules
Jupyter ノートブックにコード セルを追加して、NASA Earth Data から地球データの粒度をダウンロードします。
入力:
folder_name(文字列): データを保存するローカル フォルダー名。short_name(文字列): ダウンロードする Earth データセットの短縮名。count(int): ダウンロードするデータ粒度数。temporal(タプル): (オプション) (date_from、date_to) 形式の時間範囲。bounding_box(タプル): (オプション) (lower_left_lon、lower_left_lat、upper_right_lon、upper_right_lat) 形式の境界ボックス。
戻り値: セル出力。
プロンプト
download_analyze_global_sea_levelJupyter で世界の海面データをダウンロードして分析することを依頼します。
戻り値: プロンプトは正しくフォーマットされます。
建物
Docker イメージをソースからビルドできます。
make build-docker