
Jupyter Notebook MCP Server (for Cursor)

2025.04.20
1
PythonJupyter Notebook 交互笔记本操作工具开发效率
cursor-notebook-mcp 是一个 Model Context Protocol (MCP) 服务器,专为在 Cursor 中与 Jupyter Notebook (.ipynb) 文件交互而设计。它提供了一套工具,允许直接操作笔记本单元格,解决了 Cursor 在 Agent 模式下无法直接编辑笔记本或笔记本单元格的限制。该服务器使用 `nbformat` 库安全地操作笔记本结构,并通过限制操作到用户定义的目录来强制执行安全性。它还使用 `nbconvert` 将笔记本导出为各种格式,如 Python 脚本、HTML 等。
View on GitHub
Overview
基本能力
产品定位
cursor-notebook-mcp 是一个专为在 Cursor 中与 Jupyter Notebook 文件交互而设计的 MCP 服务器,提供了一套工具来直接操作笔记本单元格。
核心功能
- 创建、删除、重命名笔记本文件
- 读取笔记本结构和单元格内容
- 添加、编辑、删除、移动、拆分、合并单元格
- 读取和编辑笔记本及单元格的元数据
- 清除单元格输出
- 验证笔记本结构
- 导出笔记本到其他格式(如 Python、HTML)
适用场景
- 在 Cursor 中直接编辑 Jupyter Notebook 文件
- 自动化笔记本单元格操作
- 批量处理笔记本文件
- 笔记本文件的格式转换
工具列表
notebook_create
: 创建新的空笔记本文件notebook_delete
: 删除现有笔记本文件notebook_rename
: 重命名/移动笔记本文件notebook_read
: 读取整个笔记本结构notebook_read_cell
: 读取特定单元格的源内容notebook_add_cell
: 在指定索引后添加新单元格notebook_edit_cell
: 替换特定单元格的源内容notebook_delete_cell
: 删除特定单元格notebook_change_cell_type
: 更改单元格类型notebook_duplicate_cell
: 复制单元格notebook_get_cell_count
: 返回单元格总数notebook_read_metadata
: 读取顶层笔记本元数据notebook_edit_metadata
: 更新顶层笔记本元数据notebook_read_cell_metadata
: 读取特定单元格的元数据notebook_read_cell_output
: 读取特定代码单元格的输出列表notebook_edit_cell_metadata
: 更新特定单元格的元数据notebook_clear_cell_outputs
: 清除特定单元格的输出和执行计数notebook_clear_all_outputs
: 清除所有代码单元格的输出和执行计数notebook_move_cell
: 将单元格移动到不同位置notebook_split_cell
: 在指定行号处拆分单元格notebook_merge_cells
: 合并单元格与紧随其后的单元格notebook_validate
: 验证笔记本结构notebook_get_info
: 检索一般信息notebook_export
: 将笔记本导出为其他格式
常见问题解答
- UI 刷新问题: 某些笔记本操作可能成功,但 Cursor UI 可能无法正确显示更新内容。可以关闭并重新打开笔记本文件,或保存文件以重新加载实际文件内容。
- 单元格执行限制: 该服务器无法执行笔记本单元格,仅操作
.ipynb
文件结构。
使用教程
使用依赖
Python 依赖
- Python 版本: 3.9+
- 核心:
mcp>=0.1.0
,nbformat>=5.0
,nbconvert>=6.0
,ipython
,jupyter_core
- 可选 - SSE 传输:
uvicorn>=0.20.0
,starlette>=0.25.0
- 可选 - 开发/测试:
pytest>=7.0
,pytest-asyncio>=0.18
,pytest-cov
,coveralls
外部系统依赖
- Pandoc: 用于许多非 HTML 导出格式
- LaTeX (XeLaTeX 推荐): 用于将笔记本直接导出为 PDF
安装教程
从 PyPI 安装
# 基本安装(仅 stdio 传输)
pip install cursor-notebook-mcp
# 带 SSE 传输支持
pip install "cursor-notebook-mcp[sse]"
开发安装(从源代码)
- 克隆仓库:
git clone https://github.com/jbeno/cursor-notebook-mcp.git
cd cursor-notebook-mcp
- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # Windows 使用 `.venv\Scripts\activate`
- 安装可编辑模式:
# 包括 SSE 和测试依赖
pip install -e ".[dev]"
调试方式
直接执行(推荐用于测试/开发)
# stdio 传输(默认)
python notebook_mcp_server.py --allow-root /path/to/notebooks
# sse 传输
python notebook_mcp_server.py --transport sse --allow-root /path/to/notebooks --host 127.0.0.1 --port 8080
使用安装的脚本
# stdio 传输
cursor-notebook-mcp --allow-root /path/to/notebooks
# sse 传输
cursor-notebook-mcp --transport sse --allow-root /path/to/notebooks --host 127.0.0.1 --port 8080