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ツールとして利用可能。
一般的なワークフロー
- Jupyterを起動(ローカル、JupyterHub、またはホストされたDatalayerノートブック)。
- Jupyter MCP Serverを実行(
uvx、Docker、またはJupyter Server拡張として)。 - MCPクライアントを設定 – 例:Claude Desktop、VS Code拡張、または
clineCLI – サーバーのエンドポイントと認証変数を指定。 - クライアントはサーバーのツールリストを発見し、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ワークフローを探索する人。
さらに学ぶには
- 全文ドキュメント:https://jupyter-mcp-server.datalayer.tech
- APIリファレンス(自動生成ツールリスト):https://jupyter-mcp-server.datalayer.tech/mcp
- コミュニティDiscord:https://discord.gg/YQFwvmSSuR
- ソースコード&リリース:https://github.com/datalayer/jupyter-mcp-server
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト