Jupyter MCP 伺服器是 Jupyter 環境的擴充套件,它將 LLM 與即時編碼會話整合在一起。透過實施模型上下文協議(MCP),它能讓人工智慧模型以安全和上下文感知的方式與 Jupyter 的核心、檔案系統和終端進行互動。本部落格將探討如何在系統中使用 Jupyter MCP 伺服器。
什麼是及為什麼需要MCP伺服器?
MCP(模型上下文協議)伺服器是專用的中間人,可促進人工智慧助手與應用程式或外部環境之間的通訊。它們允許人工智慧模型以狀態感知的方式執行,為其提供即時上下文,如變數值、程式碼歷史、資料集和執行結果。
如果沒有 MCP 伺服器,人工智慧模型就會在真空中執行,對預設變數一無所知。這種孤立限制了它們的能力和犯錯的可能性。MCP 伺服器透過為人工智慧提供在即時環境中推理、執行和改進的能力來解決這一問題,使其變得更加實用、精確和有效。
什麼是Jupyter MCP伺服器?
Jupyter MCP 伺服器是一種工具,主要透過使用模型上下文協議(MCP)在大型語言模型和使用者的即時 Jupyter 環境之間架起一座橋樑。它無需複製和貼上程式碼和資料,從而消除了模型的侷限性。MCP 有一個安全協議,透過該協議,模型可以訪問 Jupyter 生態系統的各種元件並與之互動。因此,它開啟了整合、上下文感知和強大的人工智慧驅動輔助工具的概念。
Jupyter MCP伺服器的功能
透過模型上下文協議(MCP),Jupyter MCP 伺服器為外部應用程式提供了一種與 Jupyter 核心元件互動的結構化方式。這種隔離限制了它們的能力和犯錯的可能性。MCP 伺服器透過為人工智慧提供在即時環境中推理、執行和改進的能力來解決這一問題,使它們變得更加實用、精確和有效。
- 核心互動:支援在活動的 Jupyter 核心中執行程式碼、檢索變數狀態以及管理核心生命週期。
- 檔案系統訪問:提供對使用者工作區的受控訪問,允許透過 Jupyter 的內容管理器讀寫和管理檔案和目錄。
- 終端訪問:允許與 Jupyter 的終端會話進行互動,從而執行 shell 命令、安裝軟體包和自動化系統任務
- 即時協作:允許多個使用者或人工智慧代理同時檢視和編輯筆記本。
- Notebook管理:高效的筆記本管理包括儲存和檢索筆記本資訊,確保資料的完整性和可訪問性。
現在讓我們來詳細瞭解其中的一些功能。
Jupyter MCP伺服器的主要功能
該系統由三個主要元件組成:核心互動、檔案系統訪問和終端訪問。這些元件使外部應用程式能夠分別透過執行程式碼、管理檔案和控制終端會話與 Jupyter 環境對接。在本節中,我們將詳細瞭解每一個元件:
核心互動
它允許 Jupyter MCP 伺服器在使用者的活動核心中執行程式碼。它還能檢查核心狀態、檢索執行結果,甚至管理核心生命週期。
工作原理:MCP 客戶端向 MCP API 傳送請求,指定目標核心和操作。然後,MCP 伺服器與 Jupyter 的核心管理器通訊,處理請求: 核心互動:支援在活動的 Jupyter 核心中執行程式碼、檢索變數狀態和管理核心生命週期。
支援的操作:
- 執行程式碼單元
- 檢索變數值
- 檢查核心狀態
- 中斷或重啟核心
檔案系統訪問
它提供對使用者工作區的受控訪問,允許外部應用程式讀取、寫入或管理檔案和目錄。
工作原理:MCP 客戶端根據 Jupyter 內容管理器和 MCP 安全策略設定的規則請求檔案操作。
支援的操作:
- 讀取檔案內容
- 寫入或修改檔案
- 建立或刪除檔案和資料夾
終端訪問
它允許 Jupyter MCP 伺服器與 Jupyter 的終端會話進行互動。
工作原理:MCP 客戶端向特定的終端會話傳送命令,Jupyter 的終端管理器處理該請求並返回任何輸出。
支援的操作:
- 執行 Shell 命令
- 安裝軟體包
- 管理後臺程序
- 自動執行系統任務
如何整合Jupyter MCP伺服器?
本節概述了整合 Jupyter MCP 伺服器所需的步驟。在深入介紹安裝和配置過程之前,我們先來回顧一下正確設定 Jupyter MCP 伺服器所需的先決條件。
滿足先決條件後,我們將繼續進行安裝和設定步驟。
先決條件
- Python 3.8 或更高版本:伺服器基於現代 Python 功能構建,需要最新的環境。
- Jupyter 伺服器:MCP 伺服器作為 Jupyter 伺服器的擴充套件執行。如果尚未安裝,您可以使用以下命令新增它。
pip install jupyter-server
安裝
既然您已經完成了前提條件,讓我們按照以下步驟下載 Jupyter MCP 伺服器。
1. 下載
您可以透過兩種方式下載 Jupyter MCP 伺服器。
標準安裝
使用 pip 直接從 PyPI 安裝 Jupyter MCP 伺服器:
pip install jupyter-mcp-server
開發安裝
您也可以從此處克隆原始碼庫
步驟 1:克隆上述程式碼庫
git clone https://github.com/datalayer/jupyter-mcp-server.git cd jupyter-mcp-server
步驟 2:下載可編輯模式:這允許您在原始碼中進行更改,這些更改將反映在可編輯模式下。
使用 pip 的 -e 標誌以可編輯模式安裝軟體包。
Pip install -e
如果您計劃執行測試並做出貢獻,您可以使用以下程式碼:
Pip install -e “.[dev]”
2. 啟用擴充套件程式
安裝完成後(無論採用上述哪種方式),您需要為 Jupyter 伺服器啟用擴充套件程式。這將載入並使用 MCP 伺服器功能。修改 Jupyter 配置,並使用 MCP 伺服器更新活動擴充套件程式列表。
jupyter server extension enable jupyter_mcp_server
完成上述步驟後,您可以使用 Jupyter 伺服器擴充套件列表驗證您的安裝。
jupyter server extension list
提示:如果您在列表中看到 jupyter_mcp_server
,則表示它已啟用。
Jupyter MCP伺服器執行
Jupyter MCP 伺服器不會以可見的介面顯示,而是位於 JupyterLAB 或 Notebook 內部。它提供 HTTP API,可供其他工具(例如 Claude Desktop、AI 模型、後端或外掛)使用。
使用 Claude Desktop 時,請在 claude_desktop_config.json 中進行更改。執行 Jupyter Notebook 後,您可以從終端獲取 TOKEN 值和 NOTEBOOK_PATH。
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 伺服器會處理該請求,方法是檢查請求是否被允許,然後與 Jupyter 的相應部分(例如核心、檔案系統或終端)進行通訊,並返回必要的響應。
MCP 擴充套件提供的 API 端點位於 /mcp/v1,它只是 Jupyter 伺服器基本 URL 的一個附加路徑。
因此,如果您的 Jupyter 伺服器在本地執行於 http://localhost:8888/,您可以在 http://localhost:8888/mcp/v1 找到 MCP API。外部工具(例如 Jupyter MCP 伺服器)將在此與您的 Jupyter 環境進行通訊。
Jupyter MCP 伺服器會根據任務傳送 HTTP 請求,例如 GET、POST、PUT 或 DELETE。每個請求都會傳送到 /mcp/v1 下的特定子路徑。這些請求模式和資料結構構成了所謂的模型上下文協議 (MCP)。有關更多詳細資訊,您可以參考專案中解釋端點作用的主要 README 檔案。
動手實踐
在動手實踐中,我們將學習如何:
- 新增程式碼單元:這些部分可用於編寫和執行程式碼。
- 執行程式碼:只需點選按鈕即可立即檢視結果。
- 使用 Markdown 新增文字:使用 Markdown 單元編寫註釋、說明或標題,使您的工作看起來井井有條。
Source: LinkedIn
它就像一本完美的學習和實驗筆記本。
Jupyter MCP的上下文管理與安全
MCP 並非旨在啟用訪問許可權,而是確保訪問的可控性和安全性。該協議強制執行授權和範圍限定,即將訪問許可權限制在明確允許的範圍內。使用者可以檢視並控制哪些應用程式可以訪問他們的會話以及它們可以執行的操作。這可以防止未經授權的訪問,保護使用者資料,並確保 Jupyter 環境的安全。
小結
希望本教程對您有所幫助!Jupyter MCP 伺服器為您的 Jupyter 環境帶來了更智慧、由 AI 驅動的互動。它使用模型上下文協議 (MCP) 以安全且標準化的方式執行此操作。該伺服器現已可用且易於設定。我相信,隨著採用率的提高,我們可以期待更多智慧、具有上下文感知能力的工具,它們不僅能夠輔助工作,還能真正理解我們的工作流程。從而彌合強大的 AI 模型與動態環境之間的差距。
評論留言