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 工作流的人。

了解更多

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目