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
相关
- 项目
- 项目
- 项目
- 项目
- 项目