Jupyter笔记本MCP服务器
FastMCP服务器,提供与Jupyter笔记本交互的工具。使用 FastMCP框架.
特性
- ✅ 使用过滤功能读取笔记本单元格
- ✅ 在任何位置添加新单元格
- ✅ 执行单个单元格
- ✅ 执行整个笔记本
- ✅ 获取笔记本元数据和统计信息
- ✅ 正确的错误处理和验证
- ✅ 长期运营的进度报告
- ✅ 通过FastMCP上下文进行全面日志记录
与您的MCP客户端集成
确保安装了紫外线。 要将此服务器与游标、claude桌面或任何其他MCP客户端一起使用,请将以下内容添加到您的MCP配置文件中:
{
"mcpServers": {
"jupyter-notebook": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp>=2.8.1",
"python",
"/main.py"
]
}
}
}测试
运行测试客户端以查看所有功能的运行情况:
python test_client.py安全说明
- Cell执行直接通过子进程运行Python代码
- 仅执行来自可信来源的笔记本
- 考虑在沙盒环境中运行以供生产使用
- 超时控制有助于防止执行失控
依赖项
fastmcp-MCP服务器框架
工具
此MCP服务器为使用Jupyter笔记本提供了以下工具:
📖 read_notebook_cells
从Jupyter记事本中读取单元格,并可选择按单元格类型进行过滤。
参数:
notebook_path(str):.ipynb文件的路径cell_type(可选str):按单元格类型筛选(“代码”、“标记”、“原始”)
➕ add_cell_to_notebook
在Jupyter记事本的指定位置添加一个新单元格。
参数:
notebook_path(str):.ipynb文件的路径cell_content(str):新单元格的内容cell_type(str,default=“code”):单元格类型(“code”、“markdown”、“raw”)position(可选int):插入单元格的位置(默认:追加到末尾)metadata(可选字典):可选单元格元数据
⚡ execute_notebook_cell
在Jupyter记事本中执行特定单元格。
参数:
notebook_path(str):.ipynb文件的路径cell_index(int):要执行的单元格的索引(从0开始)kernel_name(str,default=“python3”):要使用的Jupyter内核timeout(int,默认值=30):执行超时(秒)
🔄 execute_entire_notebook
按顺序执行Jupyter记事本中的所有代码单元格。
参数:
notebook_path(str):.ipynb文件的路径kernel_name(str,default=“python3”):要使用的Jupyter内核timeout_per_cell(int,默认值=30):每个单元格的超时时间(秒)stop_on_error(bool,default=True):如果单元格失败,是否停止执行
📊 get_notebook_info
获取Jupyter笔记本的基本信息。
参数:
notebook_path(str):.ipynb文件的路径
