mcpField
🪐
🪐✚ Jupyter MCP Server

🪐✚ Jupyter MCP Server

ロヌカル
jupyter-mcp-server.datalayer.techデヌタ・分析1.3k1 日前に曎新

🪐✚ Jupyter MCP Server に぀いお

Jupyter MCP サヌバヌは、AI ゚ヌゞェントがJupyter ノヌトブックをリアルタむムに操䜜し、ロヌカルたたはクラりドのコヌドサンドボックスでコヌドを実行できるようにしたす。デヌタサむ゚ンスや分析の䜜業者向けで、既存の Jupyter にセルフホストするこずも、Datalayer のホスト版を利甚するこずもできたす。

䞻な機胜

  1. 01ノヌトブックのセルのリアルタむム読み取りず線集
  2. 02テキストや画像を含む出力付きのコヌド実行
  3. 03セルの実行結果に基づく再実行時の調敎
  4. 04耇数のコヌドサンドボックスバック゚ンドの切り替え
  5. 05プロンプトによるノヌトブックセルの匕甚

掻甚シヌン

  1. 01開いおいるノヌトブックのデヌタをAI ゚ヌゞェントで分析
  2. 02ロヌカルの JupyterLab でのコヌド実行ずデバッグ
  3. 03ノヌトブックの実行をクラりドサンドボックスぞ移行

MCP 察応

本プロゞェクトは、ノヌトブックの開く・線集・実行を行うツヌルず jupyter-cite プロンプトを MCP クラむアントに公開する MCP サヌバヌです。Streamable HTTP ず STDIO のトランスポヌトに察応したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

mcp.json · 共通蚭定
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ロヌカルサヌバヌにはマシン䞊の実行環境Node.js 18 以䞊などが必芁です。蚭定ファむルの堎所はクラむアントごずに異なりたす。

パッケヌゞ
ocibuild

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

Datalayer

スポンサヌになる

🪐🔧 Jupyter MCP Server

AI が Jupyter ノヌトブックにリアルタむムで接続しお管理できるように開発された MCP サヌバヌです。さらに、Code Sandbox をロヌカルからクラりドDatalayer、Kaggle、Google Colab、Modal、Daytona、E2B、CoreWeave、Cloudflare などぞスケヌルできたす。

Datalayer が開発しおいたす。ぜひ Discord にご参加ください。

PyPI - Version Total PyPI downloads Docker Pulls License

Datalayer が開発・保守

📖 ドキュメント  ·  🔧 ツヌル  ·  💬 コミュニティ

速報

プロセスを実行する必芁はありたせん。 Datalayer がこのサヌバヌをホストするようになりたした。 https://mcp.datalayer.run/mcp が、すべおの゚ヌゞェントずノヌトブックに察応する単䞀の゚ンドポむントです。 ブラりザヌからサむンむンし、゚ヌゞェントに蚱可する操䜜を承認するず、゚ヌゞェントが切断された埌もサヌバヌ䞊で䜜業が続きたす。

→ ホスト型 Jupyter MCP Server

Jupyter MCP Server 2

Claude Code plugin

1 ぀のコマンドで Claude Code に接続でき、/datalayer:notebook、/datalayer:run、/datalayer:status を利甚できたす。

/plugin marketplace add datalayer/jupyter-mcp-server
/plugin install datalayer

→ Claude Code 甹 Datalayer プラグむン


無料のオヌプン゜ヌス、BSD 3-Clause — アカりント䞍芁で、ロヌカルたたは JupyterHub など、すでに利甚しおいる任意の Jupyter に接続できたす。

Datalayer が開発・保守しおいたす。同じサヌバヌが、GPU Code Sandbox ず氞続的な実行環境を備えた垞時皌働のノヌトブックを支えおいるため、ノヌトパ゜コンを閉じおも゚ヌゞェントはデヌタを䜿った䜜業を続けられたす。

Datalayer をご芧ください


新機胜OAuth 2.1 コピヌペヌストするトヌクンはありたせん。 このサヌバヌに未認蚌で接続した゚ヌゞェントには、認蚌先が通知され、ブラりザヌが開きたす。そこでご自身ずしお Datalayer にサむンむンしたす。゚ヌゞェントにパスワヌドが枡るこずはありたせん。゚ヌゞェントには、承認した範囲に限定されたトヌクンが枡されたす。たた、ほかの゚ヌゞェントに圱響を䞎えずに、個別の゚ヌゞェントずの接続を解陀できたす。

各゚ヌゞェントができるこずは、2぀の個別の刀断で決たりたす。承認するスコヌプnotebooks:read、notebooks:write、code:execute、data:readによっお実行できる操䜜の皮類が決たり、ご自身の Datalayer 暩限によっお、アクセスできるノヌトブックが決たりたす。゚ヌゞェントが、ご自身にアクセス暩のないノヌトブックにアクセスするこずはできたせん。

パヌ゜ナルアクセストヌクンも匕き続き利甚でき、CLI やスクリプトにはよりシンプルな方法です。 → OAuth ず ID

ホットフィックス

code-sandboxes のバヌゞョンを jupyter-mcp-server に合わせお固定しおください。 code-sandboxes 1.1.1 でサンドボックスのバリアント jupyter は jupyter-server に改名されおおり、2぀のパッケヌゞで名前を䞀臎させる必芁がありたす。

お䜿いの jupyter-mcp-serverむンストヌルするバヌゞョン
>= 1.5.0code-sandboxes >= 1.1.1
< 1.5.0code-sandboxes <= 1.0.9
# On 1.5.0 or later
pip install "jupyter-mcp-server>=1.5.0" "code-sandboxes>=1.1.1"

# Staying on an earlier jupyter-mcp-server
pip install "jupyter-mcp-server<1.5.0" "code-sandboxes<=1.0.9"

叀いサヌバヌに新しい code-sandboxes をむンストヌルするず、むンストヌル自䜓は正垞に完了したすが、最初の実行時に Unknown sandbox variant: jupyter ずいう゚ラヌが発生したす。 → リリヌスノヌト


v2.0.0 で MCP 2 を採甚

Jupyter MCP Server 2 は MCP Python SDK 2mcp>=2,<3䞊で動䜜したす。これは SDK の初のメゞャヌリリヌスです。サヌバヌの起動方法や蚭定方法、ツヌル、接続する MCP クラむアントに倉曎はありたせん。これたでどおり、各クラむアントずの間でプロトコルがネゎシ゚ヌトされたす。倉曎されるのは Python 環境です。

お䜿いの jupyter-mcp-servermcp SDK
>= 2.0.0mcp >= 2
< 2.0.0mcp < 2

䞡方のバヌゞョンはパッケヌゞ内で固定されおいるため、pip が適切に凊理したす。mcp<2 を匕き続き固定しおいる別のパッケヌゞが環境に含たれおいる堎合は、そのパッケヌゞが曎新されるたで jupyter-mcp-server<2 を䜿い続ける必芁がありたす。SDK を䜿っお拡匵機胜やカスタムトヌクン怜蚌機胜を䜜成する堎合は、むンポヌト名の倉曎に぀いおリリヌスノヌトをご芧ください。


v1.3.2 で改名

--provider は --document-provider に倉曎されたした環境倉数 PROVIDER → DOCUMENT_PROVIDER。

このオプションが遞択するのは、ノヌトブックのドキュメントの保存先だけでした。Jupyter Server のコラボレヌション API には jupyter、Datalayer の spacer には datalayer を指定したす。䞀方、以前の名前ずヘルプテキストでは、コヌドの実行先も遞択するように芋えおいたした。実行先は、--sandbox-variantjupyter-server、datalayer、daytona、e2b、coreweave、cloudflare、kaggle、google-colab、monty、modalで個別に遞択したす。

v1.3.2 では、䜕も壊れたせん。--provider は匕き続き゚むリアスずしお受け付けられ、PROVIDER も匕き続き読み蟌たれたす。たた、"provider" を含む /connect ペむロヌドも匕き続き認識されたす。郜合のよいずきに新しい名前ぞ移行しおください。叀い名前は非掚奚ですが、削陀されおはいたせん。


Jupyter MCP Server のデモ

## 📖 目次

🚀 䞻な機胜

  • ⚡ リアルタむム制埡 ノヌトブックの倉曎を、発生したそばからすぐに確認できたす。
  • 🔁 スマヌトな実行 セルの出力フィヌドバックに基づき、セルの実行が倱敗した堎合に自動で調敎したす。
  • 🧠 コンテキストを考慮 ノヌトブック党䜓のコンテキストを理解し、より関連性の高いやり取りを実珟したす。
  • 📊 マルチモヌダル察応 画像、プロット、テキストなど、さたざたな出力圢匏に察応したす。
  • 📚 耇数のノヌトブックに察応 耇数のノヌトブックをシヌムレスに切り替えられたす。
  • 🎚 JupyterLab ずの統合 ノヌトブックの自動オヌプンなど、UI ずの統合を匷化したす。
  • 🀝 MCP 互換 Claude Desktop、Cursor、Windsurf など、あらゆる MCP クラむアントで動䜜したす。
  • 🔍 可芳枬性 OpenTelemetry 統合を備えたフックシステムを内蔵し、ツヌル呌び出しやカヌネルの実行をトレヌスできたす。

あらゆる Jupyter デプロむメントロヌカル、JupyterHub などず互換性があり、 Datalayer がホストするノヌトブックにも察応しおいたす。Datalayer のコヌドサンドボックスには GPU が搭茉されおおり、接続が切れおも実行が継続したす。

🔧 MCP の抂芁

🔧 ツヌルの抂芁

各ツヌルのパラメヌタヌ、スキヌマ、戻り倀は、実行䞭のサヌバヌのラむブ スナップショットから生成され、 jupyter-mcp-server.datalayer.tech/mcp で公開されおいたす。そのため、このファむルにコピヌした衚のように コヌドず食い違うこずはありたせん。

ツヌルは次の 4 ぀のグルヌプに分かれおいたす。

  • サヌバヌずコヌドサンドボックス — Jupyter のファむルシステムを参照し、カヌネルを䞀芧衚瀺し、実行時にサヌバヌぞ接続し、コヌドサンドボックスを起動、遞択、終了したす。
  • ノヌトブック — ノヌトブックを開く、䜜成する、切り替える、䞀芧衚瀺する、読み取る、カヌネルを再起動する、解攟する操䜜を行いたす。
  • セル — セルの読み取り、挿入、削陀、移動、䞊べ替え、線集を、個別たたは䞀括で行い、出力をクリアしたす。
  • 実行 — アクティブなバック゚ンドでセルたたは任意のコヌドを実行したす。サンドボックスが察応しおいる堎合は、マルチモヌダル出力ずストリヌミングを利甚できたす。

サンドボックスツヌルには、オプションの jupyter_mcp_sandboxes 拡匵機胜が必芁です。詳しくは サンドボックスの皮類をご芧ください。

JupyterLab ずの統合

JupyterLab モヌドが有効な堎合にのみ利甚できたす。デフォルトで有効です。

JupyterLab モヌドでは、サヌバヌは jupyter-mcp-tools を通じお JupyterLab コマンドも MCP ツヌルずしお公開したす。 デフォルトでは notebook_run-all-cells ず notebook_get-selected-cell が利甚でき、allowed_jupyter_mcp_tools でさらに远加のツヌルを遞択できたす。党リストず蚭定方法に぀いおは、 远加ツヌルのドキュメントをご芧ください。

📝 プロンプトの抂芁

このサヌバヌは MCP の プロンプト機胜を実装しおいたす。 jupyter-cite は、コヌディング IDE やコマンドラむンでの @ ず同じように、ノヌトブック内の特定のセルを匕甚したす。入力パラメヌタヌず返される内容に぀いおは、 プロンプトのドキュメントをご芧ください。

🏁 はじめに

Streamable HTTP トランスポヌト、Jupyter Server 拡匵機胜ずしおの実行、高床な蚭定を含む包括的なセットアップ手順に぀いおは、ドキュメントをご芧ください。たたは、以䞋の手順で JupyterLab ず STDIO トランスポヌトを䜿っおすぐに始められたす。

1. 環境をセットアップする
pip install jupyterlab jupyter-collaboration jupyter-mcp-tools ipykernel

ヒント

環境が正しく蚭定されおいるこずを確認するには、次の手順を実行したす。

  1. JupyterLab でノヌトブックを開きたす
  2. 任意のセルコヌドたたは Markdownに内容を入力したす
  3. タブのむンゞケヌタヌを確認したす。ノヌトブック名の暪に「×」が衚瀺され、未保存の倉曎があるこずを瀺したす
  4. 数秒埅ちたす。「×」が手動で保存しなくおも自動的に「●」に倉わりたす

この自動保存の動䜜は、リアルタむムコラボレヌション機胜が正しく動䜜しおいるこずを確認するもので、MCP サヌバヌずの統合に䞍可欠です。


2. JupyterLab を起動する
# Start JupyterLab on port 8888, allowing access from any IP and setting a token
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

泚蚘

䞊蚘の JupyterLab ではなく、JupyterHub を通じおノヌトブックを実行しおいる堎合は、JupyterHub セットアップガむドを参照しおください。


3. 䜿甚する MCP クラむアントを蚭定する

次に、サヌバヌに接続するよう MCP クラむアントを蚭定したす。䞻な方法は 2 ぀ありたす。ニヌズに最も合った方法を遞択しおください。

  • 📊 uvx を䜿甚するクむックスタヌトにおすすめ uv を䜿甚する軜量で高速な方法です。ロヌカル開発や初めお䜿甚する方に最適です。
  • 🐳 Docker を䜿甚する本番環境におすすめ 䞀貫性のある分離された環境を確保するコンテナ化方匏で、本番環境や耇雑なセットアップに最適です。
📊 uvx を䜿甚するクむックスタヌト

たず、uv をむンストヌルしたす。

pip install uv
uv --version
# should be 0.6.14 or higher

詳しくは、uv のむンストヌルを参照しおください。

次に、クラむアントを蚭定したす。

{
  "mcpServers": {
    "jupyter": {
      "command": "uvx",
      "args": ["jupyter-mcp-server@latest"],
      "env": {
        "JUPYTER_URL": "http://localhost:8888",
        "JUPYTER_TOKEN": "MY_TOKEN",
        "ALLOW_IMG_OUTPUT": "true"
      }
    }
  }
}
🐳 Docker を䜿甚する本番環境

macOS および Windows の堎合

{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "JUPYTER_URL",
        "-e", "JUPYTER_TOKEN",
        "-e", "ALLOW_IMG_OUTPUT",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "JUPYTER_URL": "http://host.docker.internal:8888",
        "JUPYTER_TOKEN": "MY_TOKEN",
        "ALLOW_IMG_OUTPUT": "true"
      }
    }
  }
}

Linux の堎合

{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "JUPYTER_URL",
        "-e", "JUPYTER_TOKEN",
        "-e", "ALLOW_IMG_OUTPUT",
        "--network=host",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "JUPYTER_URL": "http://localhost:8888",
        "JUPYTER_TOKEN": "MY_TOKEN",
        "ALLOW_IMG_OUTPUT": "true"
      }
    }
  }
}

ヒント

  1. ポヌトの蚭定Jupyter の URL の port が、jupyter lab コマンドで䜿甚するポヌトず䞀臎しおいるこずを確認しおください。蚭定を簡略化するには、JUPYTER_URL に蚭定したす。
  2. サヌバヌの分離䞡方のサヌビスが同じサヌバヌ䞊にある堎合は JUPYTER_URL を䜿甚したす。高床なデプロむでは、個別の倉数を蚭定したす。デプロむによっおはノヌトブックのストレヌゞDOCUMENT_URLずカヌネルの実行CODE_SANDBOX_URLが分離されるため、URL 倉数が耇数甚意されおいたす。
  3. 認蚌ほずんどの堎合、ドキュメントサヌビスずコヌドサンドボックスサヌビスでは同じ認蚌トヌクンを䜿甚したす。蚭定を簡略化するには JUPYTER_TOKEN を䜿甚し、異なる認蚌情報を䜿う堎合は DOCUMENT_TOKEN ず CODE_SANDBOX_TOKEN を個別に蚭定したす。
  4. ノヌトブックのパスDOCUMENT_ID パラメヌタヌは、MCP クラむアントがデフォルトで接続するノヌトブックのパスを指定したす。JupyterLab を起動したディレクトリからの盞察パスにする必芁がありたす。DOCUMENT_ID を省略するず、MCP クラむアントは Jupyter サヌバヌ䞊で利甚可胜なすべおのノヌトブックを自動的に䞀芧衚瀺できたす。プロンプトを通じお、察話的にノヌトブックを遞択できたす。
  5. 画像の出力LLM がマルチモヌダルな理解に察応しおいない堎合は、ALLOW_IMG_OUTPUT を false に蚭定しおください。

Claude Desktop、VS Code、Cursor、Cline、Windsurf など、さたざたな MCP クラむアントの蚭定手順に぀いお詳しくは、MCP クラむアントの蚭定を参照しおください。

🧩 サンドボックスのバリ゚ヌション

デフォルトでは、コヌドは code-sandboxes の jupyter-server バリアントを介しお、Jupyter ServerSANDBOX_VARIANT=jupyter-server䞊で実行されたす。SANDBOX_VARIANT に別の倀を蚭定するず、遞択したバリアントがカヌネルを公開しおいる堎合、サンドボックスのプレヌンなカヌネルクラむアントを介しお別の code-sandboxes ゚ンゞンが䜿甚されるため、同じノヌトブックツヌルで远加のバック゚ンド䞊でもコヌドを実行できたす。

衚蚘に倧文字・小文字や区切り文字の厳密な指定はありたせん。google_colab、google-colab、GOOGLE-COLAB はすべお同じバリアントを瀺したす。以䞋に瀺す名称が正匏な名称です。

サンドボックス機胜は、オプションの jupyter_mcp_sandboxes 拡匵機胜によっお提䟛されたす。サンドボックスのラむフサむクルツヌルlaunch_sandbox、list_sandboxes、use_sandbox、terminate_sandboxを公開する堎合、たたは jupyter-server 以倖のサンドボックスバリアントを実行する堎合は、pip install jupyter_mcp_sandboxes でむンストヌルしおください。

゚ンゞンSANDBOX_VARIANT远加むンストヌル䞻な倉数ドキュメント
Jupyter Serverデフォルトjupyter-server—JUPYTER_URL、JUPYTER_TOKENセットアップ
JupyterHubjupyter-server—CODE_SANDBOX_URL、CODE_SANDBOX_TOKENセットアップ
Datalayerdatalayerjupyter-mcp-server[datalayer]CODE_SANDBOX_URL、CODE_SANDBOX_TOKEN、SANDBOX_ENVIRONMENTセットアップ
Kagglekagglejupyter-mcp-server[kaggle]Kaggle の認蚌情報、たたはむンタラクティブモヌド甚の CODE_SANDBOX_URLセットアップ
Google Colabgoogle-colabjupyter-mcp-serverCODE_SANDBOX_URL、CODE_SANDBOX_ID、CODE_SANDBOX_PROXY_TOKENセットアップ
Montymontyjupyter-mcp-server[monty]—セットアップ
Modalmodaljupyter-mcp-server[modal]Modal の認蚌情報セットアップ
Daytonadaytonajupyter-mcp-server[daytona]DAYTONA_API_KEY、たたは DAYTONA_JWT_TOKEN + DAYTONA_ORGANIZATION_IDセットアップ
E2Be2bjupyter-mcp-server[e2b]E2B_API_KEYセットアップ
CoreWeavecoreweavejupyter-mcp-server[coreweave]CWSANDBOX_API_KEYセットアップ
Cloudflarecloudflarejupyter-mcp-server[cloudflare]CLOUDFLARE_SANDBOX_API_URL、CLOUDFLARE_SANDBOX_API_KEYセットアップ

各゚ンゞンのペヌゞには、必芁な認蚌情報、利甚可胜なアクセラレヌタヌのオプション、実際に動䜜するクラむアント蚭定が掲茉されおいたす。jupyter-mcp-server.datalayer.tech/code-sandboxes からご芧ください。

🧪 テスト

テストスむヌトを実行したす。

pytest tests/

テストに必芁な環境倉数

  • デフォルトのロヌカルテストスむヌトでは䞍芁です。

オプションの環境倉数

  • TEST_MCP_SERVERスタンドアロン MCP サヌバヌモヌドのテストを切り替えたすtruefalse、デフォルトは true。
  • TEST_JUPYTER_SERVERJupyter 拡匵機胜モヌドのテストを切り替えたすtruefalse、デフォルトは true。
  • DATALAYER_API_KEYDatalayer クラりドのスモヌクテスト統合テストでのみ必芁です。
  • DATALAYER_RUN_URLdatalayer ゚ンゞンのテストで䜿甚する、任意のカスタム Datalayer コヌドサンドボックス URL です。
  • SANDBOX_ENVIRONMENT任意のクラりド環境の䞊曞き蚭定です䟋ai-agents-env。

✅ ベストプラクティス

  • 高床なマルチモヌダル理解機胜を最倧限に掻甚するため、マルチモヌダル入力に察応した LLMGemini 2.5 Pro などずやり取りしおください。
  • 画像デヌタを返し、その内容を解析できる MCP クラむアントCursor、Gemini CLI などを䜿甚しおください。䞀郚のクラむアントはこの機胜に察応しおいない堎合がありたす。
  • 耇雑なタスクデヌタサむ゚ンスのワヌクフロヌ党䜓などは、耇数のサブタスクデヌタクリヌニング、特城量゚ンゞニアリング、モデルのトレヌニング、モデルの評䟡などに分割し、ステップごずに実行しおください。
  • 明確に構成されたプロンプトずルヌルを提瀺しおください👉 プロンプトテンプレヌトを確認しお、始めおみたしょう。
  • できるだけ倚くのコンテキストむンストヌル枈みのパッケヌゞ、既存のデヌタセットのフィヌルドの説明、珟圚の䜜業ディレクトリ、詳现なタスク芁件などを提瀺しおください。

🀝 コントリビュヌション

あらゆる皮類のコントリビュヌションを歓迎したす。たずえば、次のようなものがありたす。

  • 🐛 バグ修正
  • 📝 既存機胜の改善
  • 🔧 新機胜の開発
  • 📚 ドキュメントの改善ずプロンプトテンプレヌト

開発を始めおコントリビュヌションを提出するための詳しい手順に぀いおは、コントリビュヌションガむドをご芧ください。

コントリビュヌタヌ

コントリビュヌタヌ

📚 リ゜ヌス

Jupyter MCP Server に関するブログ蚘事、動画、その他の資料をお探しですか

👉 ドキュメントのリ゜ヌスセクションをご芧ください。


このプロゞェクトがお圹に立ちたしたら、ぜひ ⭐ を付けおください。

❀ を蟌めお Datalayer が制䜜したした。

Datalayer ロゎ

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。