Jupyter MCP Server:讓 AI 與你的 Jupyter 環境無縫協作 原創
在當今數字化時代,數據科學和機器學習的結合正變得越來越緊密。而 Jupyter Notebook 作為數據科學家和開發者的得力助手,其功能也在不斷拓展。今天,我們要介紹的 Jupyter MCP Server,正是這樣一個能夠將大型語言模型(LLM)與 Jupyter 環境實時集成的神器。它通過實現模型上下文協議(MCP),讓 AI 模型能夠以安全且有上下文感知的方式與 Jupyter 的內核、文件系統和終端進行交互。接下來,就讓我們一起深入了解 Jupyter MCP Server 的魅力所在。
為什么我們需要 MCP 服務器?
在傳統的數據科學和機器學習工作中,AI 模型往往處于一個“真空”狀態,它們無法感知到預設變量的存在,這極大地限制了它們的能力和潛力。想象一下,如果一個 AI 模型無法獲取到代碼歷史、變量值、數據集以及執行結果等實時上下文信息,它在運行過程中就很容易出錯。而 MCP(模型上下文協議)服務器的出現,正是為了解決這一問題。它為 AI 模型提供了實時的上下文感知能力,讓它們能夠在實時環境中進行推理、執行和改進,從而變得更加智能、精確和高效。

Jupyter MCP Server 是什么?

Jupyter MCP Server 是一個強大的工具,它通過模型上下文協議(MCP)作為橋梁,將大型語言模型與用戶的實時 Jupyter 環境連接起來。它打破了傳統模型的局限性,無需再手動復制和粘貼代碼和數據。通過 MCP 的安全協議,模型可以訪問和交互 Jupyter 生態系統的各個組件,從而實現集成化、有上下文感知能力且強大的 AI 驅動輔助。
Jupyter MCP Server 的強大功能

Jupyter MCP Server 通過模型上下文協議(MCP),為外部應用程序與 Jupyter 核心組件之間的交互提供了一種結構化的方式。它具備以下幾大功能:
內核交互
Jupyter MCP Server 能夠在用戶的活躍內核中運行代碼,檢查內核狀態,獲取執行結果,甚至管理內核生命周期。具體來說,它可以通過以下幾種方式實現:

- 運行代碼單元格
- 獲取變量值
- 檢查內核狀態
- 中斷或重啟內核
其工作原理是:MCP 客戶端向 MCP API 發送請求,指定目標內核和操作,然后 MCP 服務器與 Jupyter 的內核管理器通信以處理請求。
文件系統訪問
Jupyter MCP Server 提供對用戶工作區的受控訪問,允許外部應用程序讀取、寫入或管理文件和目錄。它遵循 Jupyter 內容管理器和 MCP 安全策略的規則來執行文件操作。
終端訪問
Jupyter MCP Server 還能夠與 Jupyter 的終端會話進行交互。MCP 客戶端可以向特定的終端會話發送命令,Jupyter 的終端管理器會處理請求并返回任何輸出。通過這種方式,用戶可以執行以下操作:
- 運行 shell 命令
- 安裝包
- 管理后臺進程
- 自動化系統任務
實時協作
Jupyter MCP Server 支持多人或 AI 代理同時查看和編輯筆記本,這對于團隊協作和實時反饋非常有幫助。
筆記本管理
Jupyter MCP Server 還提供了高效的筆記本管理功能,包括保存和檢索筆記本信息,確保數據的完整性和可訪問性。
如何集成 Jupyter MCP Server?
在開始集成 Jupyter MCP Server 之前,我們需要先了解一些必要的前提條件:
前提條件
- Python 3.8 或更高版本:Jupyter MCP Server 基于現代 Python 特性構建,需要一個更新的環境。
- Jupyter Server:MCP Server 作為 Jupyter Server 的擴展運行。如果尚未安裝,可以通過以下命令添加:
pip install jupyter-server安裝步驟
標準安裝
你可以直接從 PyPI 使用 pip 安裝 Jupyter MCP Server:
pip install jupyter-mcp-server開發安裝
你也可以從 GitHub 克隆源代碼倉庫:
git clone https://github.com/datalayer/jupyter-mcp-server.git
cd jupyter-mcp-server然后使用以下命令以可編輯模式安裝,這樣你對源代碼所做的更改將立即生效:
pip install -e .如果你計劃運行測試并做出貢獻,可以使用以下命令:
pip install -e ".[dev]"激活擴展
安裝完成后,你需要為 Jupyter Server 啟用擴展,以加載和使用 MCP Server 功能。你可以通過以下命令完成此操作:
jupyter server extension enable jupyter_mcp_server完成以上步驟后,你可以通過以下命令驗證安裝是否成功:
jupyter server extension list如果在列表中看到 ??jupyter_mcp_server??,則說明擴展已成功激活。
Jupyter MCP Server 的工作原理
Jupyter MCP Server 并不是一個可見的界面,而是隱藏在 JupyterLab 或 Notebook 內部。它提供了一個 HTTP API,供其他工具(如 Claude Desktop、AI 模型、后端或插件)使用。
當使用 Claude Desktop 時,你需要在 ??claude_desktop_config.json??? 文件中進行一些配置。??TOKEN??? 值和 ??NOTEBOOK_PATH?? 可以在運行 Jupyter Notebook 時從終端獲取。
以下是 Windows 和 Linux 系統的配置代碼:
Windows
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://host.docker.internal:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
}
}Linux
CLAUDE_CONFIG=${HOME}/.config/Claude/claude_desktop_config.json
cat <<EOF > $CLAUDE_CONFIG
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SERVER_URL",
"-e",
"TOKEN",
"-e",
"NOTEBOOK_PATH",
"--network=host",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"SERVER_URL": "http://localhost:8888",
"TOKEN": "MY_TOKEN",
"NOTEBOOK_PATH": "notebook.ipynb"
}
}
}
}
EOF
cat $CLAUDE_CONFIG一旦配置完成,如果需要與你的 Jupyter 會話進行交互,它會向該 API 發送請求。MCP Server 會處理請求,檢查是否允許,與 Jupyter 的相應部分(如內核、文件系統或終端)通信,并返回必要的響應。
MCP 擴展提供的 API 端點位于 ??/mcp/v1???,這是你的 Jupyter Server 基礎 URL 的一個附加路徑。因此,如果你的 Jupyter 服務器在本地運行于 ??http://localhost:8888/???,那么你可以在 ??http://localhost:8888/mcp/v1?? 找到 MCP API。外部工具(如 Jupyter MCP Server)將通過此路徑與你的 Jupyter 環境進行通信。
Jupyter MCP Server 會根據任務發送 HTTP 請求,如 GET、POST、PUT 或 DELETE。每個請求都會發送到 ??/mcp/v1?? 下的特定子路徑。這些請求模式和數據結構構成了所謂的模型上下文協議(MCP)。更多詳情可以參考項目中的主 README 文件,了解端點的作用。
實踐應用

在實際應用中,Jupyter MCP Server 可以幫助我們完成以下任務:
添加代碼單元格
代碼單元格是你可以編寫和運行代碼的部分。通過 Jupyter MCP Server,你可以輕松地在筆記本中添加新的代碼單元格,無需手動復制和粘貼代碼。
運行代碼
只需點擊一個按鈕,你就可以立即看到代碼的運行結果。這種即時反饋對于快速迭代和調試代碼非常有幫助。
添加帶有 Markdown 的文本
使用 Markdown 單元格,你可以編寫筆記、解釋或標題,讓你的工作看起來更有條理。這不僅有助于你自己的理解和回顧,也方便與他人分享和協作。
上下文管理和安全性
Jupyter MCP Server 的一個重要特點是它不僅僅是提供訪問權限,而是確保訪問是受控且安全的。MCP 協議強制執行授權和作用域限制,即僅允許明確允許的訪問。用戶可以清楚地看到哪些應用程序可以訪問他們的會話以及它們可以執行的操作。這不僅防止了未經授權的訪問,還保護了用戶數據,確保了 Jupyter 環境的安全性。
總結
希望這篇關于 Jupyter MCP Server 的教程對你有所幫助!Jupyter MCP Server 為你的 Jupyter 環境帶來了更智能的 AI 驅動交互。它通過模型上下文協議(MCP)以安全且標準化的方式實現了這一點。該服務器已經可用且易于設置。隨著其采用率的增加,我們可以期待更多智能的、有上下文感知能力的工具,它們不僅能夠提供幫助,還能真正理解我們的工作流程。因此,Jupyter MCP Server 正在彌合強大 AI 模型與動態環境之間的差距。
本文轉載自??Halo咯咯?? 作者:基咯咯

















