datalayer/jupyter-mcp-server

🪐 🔧 Model Context Protocol (MCP) Server for Jupyter.

🪐🔧 Jupyter MCP Server

何であるか – Model Context Protocol (MCP) を実装したオープンソースサーバーで、AIエージェント(Claude、Cursor、VS Code拡張機能など)がリアルタイムで実行中のJupyter環境と通信できるようにします。このサーバーは、Jupyterノートブック(またはJupyterHub、Datalayerホストノートブック、Kaggle、Colabなど)と、任意のMCP互換クライアントの間に位置し、ノートブックファイル、セル、カーネル実行をLLMが呼び出せる構造化ツールとして公開します。

なぜ重要か – 現代のAIアシスタントは、コード、データ、可視化出力へのライブアクセスが必要です。安定したプロトコルを通じてノートブックを公開することで、エージェントは以下のことが可能になります:

  • ノートブックの変更を即座に監視可能
  • セルをプログラム的に実行または編集可能
  • マルチモーダル出力(プロット、画像、テーブル)を取得可能
  • ユーザーが切断しても、GPUバックエンドのクラウドなどのリモートサンドボックス上で作業を継続可能

主な機能

  • リアルタイムコラボレーション – サンドボックスに接続されたエージェントは、ノートブックの変更を即座に反映。
  • スマート実行 – 前回の実行が失敗した場合、出力フィードバックを使ってセルを自動的に再実行。
  • コンテキスト対応ツール – サーバーは、開いているノートブック、カーネル一覧、セル実行など、すべての操作についてリアルタイムの説明を生成し、MCPクライアントが自動的に発見可能。
  • マルチモーダル対応 – テキスト、画像、プロットを構造化データとして返却。
  • 複数のサンドボックスバックエンド – ローカルJupyterサーバーまたはDatalayer、Kaggle、Google Colab、Modal、E2B、CoreWeave、Cloudflareなど、クラウドサンドボックスでコードを実行可能。
  • OAuth 2.1認証 – エージェントはブラウザログインにリダイレクトされ、ユーザーのパスワードを一切見ることなく、スコープ付きトークン(例:notebooks:read, code:execute)を取得。
  • 観測性 – OpenTelemetryフックにより、ツール呼び出しやカーネル実行のトレースが可能。
  • JupyterLab統合 – JupyterLabモードを有効にすると、ネイティブなLabコマンドがMCPツールとして利用可能。

一般的なワークフロー

  1. Jupyterを起動(ローカル、JupyterHub、またはホストされたDatalayerノートブック)。
  2. Jupyter MCP Serverを実行(uvx、Docker、またはJupyter Server拡張として)。
  3. MCPクライアントを設定 – 例:Claude Desktop、VS Code拡張、またはcline CLI – サーバーのエンドポイントと認証変数を指定。
  4. クライアントはサーバーのツールリストを発見し、LLMがnotebook_open、cell_insert、execute_cellなどのコマンドを発行して、結果を即座に受け取る。

すぐに始める(クイック)

# サーバーとJupyterLabスタックをインストール
pip install jupyterlab jupyter-collaboration jupyter-mcp-tools ipykernel

# JupyterLabを起動(MY_TOKENを秘密の値に置き換える)
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

# uvxでサーバーを実行(Docker不要)
uvx jupyter-mcp-server@latest \
  --env JUPYTER_URL=http://localhost:8888 \
  --env JUPYTER_TOKEN=MY_TOKEN \
  --env ALLOW_IMG_OUTPUT=true

その後、任意のMCP互換クライアントをhttp://localhost:8888(またはホストエンドポイントhttps://mcp.datalayer.run/mcp)に接続し、ブラウザベースのOAuthフローに従ってください。

インストールオプション

  • Pythonパッケージ – pip install jupyter-mcp-server(PyPIの最新版)。
  • Dockerイメージ – docker pull datalayer/jupyter-mcp-server(公式イメージ、自動取得)。
  • ホストサービス – Datalayerは、ローカルプロセス不要のマネージドエンドポイント(https://mcp.datalayer.run/mcp)を提供。

サポートされるサンドボックスバリアント(SANDBOX_VARIANTで選択、オプションの追加が必要な場合あり):

バリアント インストール追加 キー環境変数
jupyter-server(デフォルト) – JUPYTER_URL, JUPYTER_TOKEN
datalayer jupyter-mcp-server[datalayer] CODE_SANDBOX_URL, CODE_SANDBOX_TOKEN, SANDBOX_ENVIRONMENT
kaggle jupyter-mcp-server[kaggle] Kaggle資格情報
google-colab – CODE_SANDBOX_URL, CODE_SANDBOX_ID, CODE_SANDBOX_PROXY_TOKEN
modal jupyter-mcp-server[modal] Modal APIキー
…(e2b、coreweave、cloudflare、daytona、montyなど) 対応する追加 各自のAPIキー

ライセンス – BSD 3‑Clause(許容性高く、商用利用に適しています)。

誰が使うか

  • AIアシスタント開発者:ノートブックの読み書き、コード実行、プロット取得が必要なエージェントを開発する人。
  • データサイエンティスト:LLMがノートブックを自動編集しながら、完全な監査トレースを維持したい人。
  • プラットフォームプロバイダー(Datalayer、Kaggleなど):サードパーティAIツールがホストノートブックとやり取りする標準的な方法を提供したい人。
  • 研究者:コード、データ、可視化出力を組み合わせたマルチモーダルLLMワークフローを探索する人。

さらに学ぶには

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト