Jupyter Mcp Server

io.github.ChengJiale150由 GitHub 账号 ChengJiale150 发布v1.1.0更新于 Oct 24, 2026

A powerful MCP server for AI-driven Jupyter Notebook management and execution

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

一个本地 MCP 服务器,让 AI 助手连接、编辑并运行 Jupyter Notebook 与内核,返回文本、图片和表格等输出。

可以做什么
连接、列出和重启 Jupyter Notebook,并读取不含输出的源内容。列出、读取、插入、覆盖和删除单个 Cell。执行 Cell 并返回其输出,包括图片和表格。在 Notebook 末尾追加并执行新的代码 Cell,或运行不保存到 Notebook 的临时代码。可同时操作多个 Notebook,并根据 Cell 输出调整后续执行。
适用场景
适合让助手在 Jupyter Lab 中完成探索性数据分析、可视化和机器学习任务,尤其是需要同时操作多个 Notebook 并获取多模态结果时。若只需把 Notebook 当作纯文本读取或编辑,则用处不大。
运行要求
以 PyPI 包 better-jupyter-mcp-server 通过 stdio 在本地运行,例如用 uvx 启动。需要 Python 3.12+ 和 uv。需要已运行的 Jupyter Server 及其 URL 和认证 Token,README 要求在助手的提示词或规则中提供这些信息。还需安装 jupyter-collaboration、datalayer_pycrdt 等 Jupyter 依赖。可选设置 ALLOW_IMG 控制是否返回图片。
安装前请注意
Jupyter Server 的认证 Token 会以明文形式通过提示词或规则交给助手,应避免放入共享或提交到版本库的文件。工具会在连接的内核中执行任意代码,并可修改或删除 Notebook 的 Cell,改动不会自动可撤销。连接 Notebook 时因需启动内核,可能耗时 10 至 30 秒。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Jupyter Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

🪐 Jupyter MCP Server

[Jupyter MCP Server]

专门为AI连接与管理Jupyter Notebook而开发的MCP服务

由 ChengJiale150 开发

[Python] [License] [Version] [mcp-registry]

English | 中文

📖 目录

🎯 项目简介

Jupyter MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,为目前最先进的的AI IDE(如 Cursor) 与CLI工具(如Gemini CLI)提供连接与管理Jupyter Notebook的能力。使得AI能够操作Notebook,进行数据分析、可视化、机器学习等任务。

🤔 为什么需要Jupyter MCP Server

Jupyter Notebook 是数据科学家最常用的工具之一,它提供了一个交互式的环境,使其可以方便地进行数据分析、可视化、机器学习等探索性任务。然而,由于Notebook自身的格式限制,使得其难以像纯文本文件(如Markdown、Python文件)一样被AI直接理解。

现有的提供操作Notebook的工具或MCP服务,要么仅能阅读与编辑Notebook,要么仅能操纵单个Notebook,难以满足同时操纵多个Notebook的复杂需求。此外,大多数工具也不支持多模态输出,无法充分利用目前最先进的多模态大模型(如Gemini 2.5)的强大图文理解能力。

Jupyter MCP Server 就是为了解决这个问题而开发的。它通过MCP协议,向AI提供了管理Jupyter Kernel与Notebook的工具,使其能够操纵多个Notebook进行交互式的任务执行,并输出多模态结果,助力数据科学家提高分析效率。

✨ 关键亮点

  • 🔌 MCP兼容: 能够在任何支持MCP协议的IDE或CLI工具中使用
  • 📚 多Notebook管理: 支持同时管理多个Notebook
  • 🔁 交互式执行: 能够根据Cell的输出自动调整执行策略
  • 📊 多模态输出: 支持输出多模态结果,如文本、图片、表格等

🔧 工具一览

Notebook管理模块

名称描述说明
connect_notebook连接/创建指定路径的Notebook因为需要启动Kernel,工具执行时间较长(10s~30s)
list_notebook列出所有目前连接的Notebook用于查看目前已经连接的Notebook,方便多Notebook任务执行
restart_notebook重启指定名称的Notebook清除所有导入包与变量
read_notebook读取指定名称的Notebook的源内容(不包含输出)用于查看Notebook的源内容,仅在明确要求时才使用

Cell基本功能模块

名称描述说明
list_cell列出指定名称的Notebook的所有Cell的基本信息用于定位Cell的索引与作用
read_cell读取指定名称的Notebook指定索引的Cell内容支持图像、表格、文本等多种输出
delete_cell删除指定名称的Notebook指定索引的Cell
insert_cell在指定名称的Notebook指定索引处上方/下方插入Cell
execute_cell执行指定名称的Notebook指定索引的Cell返回Cell的输出结果
overwrite_cell覆盖指定名称的Notebook指定索引的Cell内容用于修改Cell内容

Cell高级集成功能模块

名称描述说明
append_execute_code_cell在Notebook末尾添加并执行Code Cellinsert+execute的组合为高频操作,将其组合减少工具的调用次数
execute_temporary_code执行临时代码块(不存储到Notebook中)用于进行魔法指令执行、代码片段调试、查看中间变量取值等临时操作

工具的具体内容详见工具文档

🛠️ 快速上手

环境准备

安装Jupyter MCP Server

uvx 快速安装(推荐)

在安装uv后,直接配置MCP的JSON格式即可,示例如下:

json
{    "mcpServers":{        "Jupyter-MCP-Server":{            "command": "uvx",            "args": [                "better-jupyter-mcp-server"            ],            "env": {                "ALLOW_IMG": "true"            },            "transport": "stdio"        }    }}

具体客户端集成详见集成文档

源代码
  1. 克隆项目并安装依赖
bash
git clone https://github.com/ChengJiale150/jupyter-mcp-servercd jupyter-mcp-serveruv sync
  1. (可选)配置config.toml

进入src/config.toml文件,根据需要配置参数(如是否允许返回图片数据)

  1. 启动Jupyter MCP Server
bash
uv run fastmcp run src/main.py

如果成功启动,会输出类似如下信息代表启动成功:

bash
[09/14/25 20:14:59] INFO     Starting MCP server 'Jupyter-MCP-Server' with transport 'stdio'  
  1. 配置标准JSON格式
json
{    "mcpServers":{        "Jupyter-MCP-Server":{            "command": "uv",            "args": [                "run",                "--directory",                "your/path/to/jupyter-mcp-server",                "src/main.py"            ],            "env": {},            "transport": "stdio"        }    }}

具体客户端集成详见集成文档

使用Jupyter MCP Server

本地手动启动Jupyter Server

在正式使用前,需要连接Jupyter Server,这里介绍如何在本地手动启动Jupyter Server:

  1. 打开终端并激活环境:

打开计算机终端命令行,并激活环境

对于使用conda(Anaconda)的用户,可以使用以下命令激活环境:

bash
conda activate your_environment_name

这里为了方便起见,这里可以直接使用base环境(conda activate base)

然后切换到你当前的项目目录,方便后续的文件操作

bash
cd your/path/to/your/project
  1. 安装必要依赖:
bash
pip uninstall -y pycrdt datalayer_pycrdtpip install jupyter nbformat datalayer_pycrdt jupyter-collaboration
  1. 启动Jupyter Server:

使用下述命令启动Jupyter Server

bash
jupyter lab

成功启动后会弹出浏览器窗口,你可以在此查看根路径是否为工程目录

  1. 获取认证Token:

使用下述命令获取认证Token

bash
jupyter server list

运行后会输出类似如下信息:

bash
http://localhost:8888/?token=YOUR_TOKEN :: YOUR_PROJECT_PATH

其中YOUR_TOKEN为认证Token

  1. 添加提示词与规则

在正式使用前,你必须添加如下提示词于规则文件中以提供Jupyter MCP Server的必要连接信息:

以下是Jupyter服务器连接参数:URL = http://localhost:8888Token = YOUR_TOKEN

此外,推荐在提示词中添加关键Notebook路径信息,方便AI快速定位目标Notebook提高connect_notebook工具的执行效率,可以在Jupyter Lab网页中右键点击目标Notebook文件,选择Copy Path获取相对路径

在提供上述内容后,你就可以开始使用Jupyter MCP Server了!

使用LLM托管Jupyter Server
  1. 安装必要依赖:
bash
pip uninstall -y pycrdt datalayer_pycrdtpip install jupyter nbformat datalayer_pycrdt jupyter-collaboration
  1. 提供提示词与规则文档:
markdown
## Jupyter MCP Server 使用指南
在正式使用Jupyter MCP Server前,你**必须**完成如下步骤:
1. **启动Jupyter Server**:
在当前项目目录中以不阻塞当前终端的方式在命令行终端中输入启动Jupyter Server,例如:- `Window`: `start jupyter lab`- `MacOS/Linux`: `nohup jupyter lab &`
2. **获取URL与认证Token**:
使用`jupyter server list`获取URL与认证Token
仅当完成上述步骤后,你才可以使用Jupyter MCP Server

✅ 最佳实践

  • 使用支持多模态输入的大模型(如Gemini 2.5 Pro)进行交互,以充分利用最先进的多模态理解能力
  • 使用支持MCP协议返回图像数据并支持解析的客户端(如Cursor、Gemini CLI等),部分客户端可能不支持该功能
  • 将复杂任务(如数据科学建模)拆分为多个子任务(如数据清洗、特征工程、模型训练、模型评估等),并逐步执行
  • 给出结构清晰的提示词与规则,这里可以参考提示词与规则文档
  • 在提示词中融入专家经验与智慧(如数据清洗、特征工程的技巧),这是AI最缺乏的,也是最需要补充的
  • 尽可能提供丰富的上下文信息(如现有数据集的字段解释,文件路径,详细的任务要求等)
  • 提供Few Shot案例,提供Baseline或已有Workflow作为参考

示例

🤝 贡献指南

我们欢迎社区贡献!如果您想为Jupyter MCP Server项目做出贡献,请:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

贡献类型

  • 🐛 Bug修复
  • 📝 旧功能完善
  • ✨ 新功能开发
  • 📚 文档改进
  • 🌍 国际化支持

开发帮助文档

🤗 致谢

本项目受到以下项目的帮助,在此表示感谢:

此外,本项目还参考了以下已有Jupyter MCP服务的实现,在此也一并表示感谢:


如果这个项目对您有帮助,请给我们一个 ⭐️

Made with ❤️ by ChengJiale150

来源:README.md,提交 13021af

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分