项目简介
'python-notebook-mcp' 是一个实现了 Model Context Protocol (MCP) 的服务器应用,专门用于让兼容的 AI 助手(如 Cursor, Claude Desktop 等)能够与您本地文件系统中的 Jupyter Notebook ('.ipynb') 文件进行交互。它允许 AI 助手读取、编辑、创建 Notebook 文件,并获取单元格内容和输出。
主要功能点
本项目作为一个MCP服务器,提供了以下核心功能:
- 工作空间初始化: 设定AI助手可以操作的 Notebook 文件所在的根目录。
- 列出 Notebooks: 查找并列出工作空间目录下的所有 '.ipynb' 文件。
- 创建 Notebook: 在指定路径创建一个新的空白 Jupyter Notebook 文件。
- 读取 Notebook: 获取整个 Notebook 文件的结构和所有单元格的内容。
- 读取单元格: 根据索引获取 Notebook 中特定单元格的内容和元数据。
- 编辑单元格: 修改 Notebook 中特定单元格的源代码内容。
- 添加单元格: 在指定位置或末尾向 Notebook 添加新的代码或 Markdown 单元格。
- 读取 Notebook 输出: 获取 Notebook 中所有代码单元格的执行输出。
- 读取单元格输出: 获取 Notebook 中特定代码单元格的执行输出。
安装步骤
本项目需要 Python 3.10 或更高版本。推荐使用 'uv' 进行包管理和虚拟环境创建。
-
安装 'uv': 如果没有安装,请参考项目 README 或 'uv' 官方文档安装。
# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex"(请确保将 'uv' 添加到您的系统 PATH 环境变量中)
-
克隆仓库:
git clone https://github.com/UsamaK98/python-notebook-mcp.git cd python-notebook-mcp -
运行安装脚本 (推荐):
- macOS / Linux:
chmod +x ./install_unix.sh bash ./install_unix.sh - Windows (PowerShell):
.\install_windows.ps1
脚本将创建虚拟环境、安装依赖,并输出后续配置 MCP 客户端所需的Python 可执行文件路径和服务器脚本路径。请务必记录下这些路径。
- macOS / Linux:
-
手动安装 (备选):
# 创建并激活虚拟环境 uv venv # Linux/macOS source .venv/bin/activate # Windows PowerShell .venv\Scripts\Activate.ps1 # 安装依赖 uv pip install -r requirements.txt手动安装后,您需要自行找到虚拟环境内 Python 可执行文件的绝对路径以及仓库克隆目录内 'server.py' 文件的绝对路径。
服务器配置 (客户端 'mcp.json' 配置示例说明)
MCP 服务器不是一个独立运行的后台服务,而是由 MCP 客户端(如 AI 助手)根据配置按需启动和停止的进程。您需要在您的 MCP 客户端(通常是 AI 助手应用)的配置文件(通常命名为 'mcp.json' 或类似文件)中配置此服务器。
配置信息是一个 JSON 对象,通常位于一个名为 'mcpServers' 的顶级键下。您需要为此服务器定义一个名称(例如 '"jupyter"'),然后在这个名称对应的对象中提供启动服务器的指令。
关键配置项包括:
- '"command"': 这个值应该是启动此 MCP 服务器的 绝对路径。如果您使用了安装脚本或手动创建了虚拟环境,这个路径应指向您虚拟环境内 Python 可执行文件的绝对路径(例如 '/home/user/python-notebook-mcp/.venv/bin/python' 或 'C:\Users\User\python-notebook-mcp.venv\Scripts\python.exe')。直接使用 'python' 命令可能无法在 AI 助手的环境中找到正确的 Python 环境,强烈建议使用绝对路径。
- '"args"': 这是一个 JSON 数组,包含传递给 'command' 命令的参数。对于此服务器,第一个参数应该是 'server.py' 文件的绝对路径(例如 '/home/user/python-notebook-mcp/server.py' 或 'C:\Users\User\python-notebook-mcp\server.py')。
配置示例结构(请根据您的系统和安装路径填写实际的绝对路径):
{ "mcpServers": { "您自定义的服务器名称, 例如 jupyter": { // 指向虚拟环境内的 Python 可执行文件的绝对路径 "command": "/path/to/your/python-notebook-mcp/.venv/bin/python", // 指向 server.py 脚本文件的绝对路径 "args": [ "/path/to/your/python-notebook-mcp/server.py" ], // 可选:配置自动批准的安全工具 "autoApprove": ["initialize_workspace"] } } }
请将上述 '/path/to/your/python-notebook-mcp/...' 替换为您系统上的实际绝对路径。这些路径通常在运行安装脚本后会输出,或者您可以在手动激活虚拟环境后通过 'which python' (Linux/macOS) 或 'Get-Command python' (Windows PowerShell) 找到 Python 路径,并通过文件浏览器找到 'server.py' 的路径。
将这个配置信息添加到您的 AI 助手的 MCP 配置文件中,并确保 AI 助手已启用此 MCP 服务器。
基本使用方法
连接配置完成后,通过 AI 助手与此 MCP 服务器交互的第一步必须是调用 'initialize_workspace' 工具。这个工具需要您提供您存放 Notebook 文件的项目文件夹的绝对路径。
例如,通过 AI 助手调用(具体的调用语法取决于您的 AI 助手客户端):
initialize_workspace(directory="/full/absolute/path/to/your/project_folder")
请注意,这里必须使用绝对路径,不能使用相对路径如 '.' 或 './'。成功设置工作空间后,您就可以调用其他工具(如 'list_notebooks', 'read_notebook', 'edit_cell' 等)来操作该目录及其子目录下的 Notebook 文件了。
后续操作只需通过 AI 助手调用相应的工具即可。
信息
分类
AI与计算