Jupyter Notebook AI集成服务

JupyterMCP通过Model Context Protocol(MCP)将Jupyter Notebook与Claude AI连接,实现AI辅助的代码执行、数据分析和可视化。

  • by shreyu258
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shreyu258/jupyter_mcp_server

使用说明

Jupyter_MCP_服务器

JupyterMCP-Jupyter笔记本模型上下文协议集成

JupyterMCP连接 Jupyter笔记本 向 克劳德 AI 通过模型上下文协议(MCP),允许Claude直接与Jupyter笔记本交互和控制。这种集成实现了人工智能辅助的代码执行、数据分析、可视化等。

特性

  • 双向通信:通过基于WebSocket的服务器将Claude AI连接到Jupyter Notebook
  • 细胞操作:插入、执行和管理笔记本单元格
  • 笔记本管理:保存笔记本并检索笔记本信息
  • 细胞执行:运行特定单元格或执行笔记本中的所有单元格
  • 输出检索:从具有文本限制选项的已执行单元格中获取输出内容

组件

该系统由三个主要部分组成:

  1. WebSocket服务器(jupyter_ws_server.py):在Jupyter中设置一个WebSocket服务器,连接笔记本电脑和外部客户端之间的通信
  2. 客户端JavaScript(client.js):在笔记本中运行以处理操作(插入单元格、执行代码等)
  3. MCP服务器(jupyter_mcp_server.py):实现模型上下文协议并连接到WebSocket服务器

安装

先决条件

安装uv

如果你在Mac上:

brew install uv

在Windows(PowerShell)上:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

有关其他平台,请参阅 紫外线安装指南.

设置

  1. 克隆或下载此存储库到您的计算机:

    git clone https://github.com/jjsantos01/jupyter-notebook-mcp.git
    
  2. 使用安装所需的软件包创建虚拟环境 jupyter-mcp 内核,这样它就可以被您的jupyter安装识别出来,如果您以前有过的话。

    uv run python -m ipykernel install --name jupyter-mcp
    
  3. (可选)为您的分析安装其他Python包:

    uv pip install seaborn
    
  4. 配置Claude桌面集成: 首选 Claude > Settings > Developer > Edit Config > claude_desktop_config.json 包括以下内容:

       {
        "mcpServers": {
            "jupyter": {
                "command": "uv",
                "args": [
                    "--directory",
                    "/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/src",
                    "run",
                    "jupyter_mcp_server.py"
                ]
            }
        }
    }
    

    替换 /ABSOLUTE/PATH/TO/ 与实际路径 src 系统上的文件夹。例如:

    • 窗户: "C:\\Users\\MyUser\\GitHub\\jupyter-notebook-mcp\\src\\"
    • 雨衣: /Users/MyUser/GitHub/jupyter-notebook-mcp/src/

    如果你之前打开过克劳德,那么 File > Exit 然后再打开它。

用法

启动连接

  1. 启动Jupyter Notebook(版本6.x)服务器:

    uv run jupyter nbclassic
    
  2. 创建一个新的Jupyter记事本,并确保您选择了 jupyter-mcp 内核: kernel -> change kernel -> jupyter-mcp

  3. 在笔记本单元中,运行以下代码以初始化WebSocket服务器:

    import sys
    sys.path.append('/path/to/jupyter-notebook-mcp/src')  # Add the path to where the scripts are located
    
    from jupyter_ws_server import setup_jupyter_mcp_integration
    
    # Start the WebSocket server inside Jupyter
    server, port = setup_jupyter_mcp_integration()
    

    别忘了在这里更换 '/path/to/jupyter-notebook-mcp/src' 随着 src 系统上的文件夹。例如:

    • 窗户: "C:\\Users\\MyUser\\GitHub\\jupyter-notebook-mcp\\src\\"
    • 雨衣: /Users/MyUser/GitHub/jupyter-notebook-mcp/src/
  4. 启动启用MCP的Claude桌面。

与克劳德一起使用

连接后,Claude将可以访问以下工具:

  • ping -检查服务器连接
  • insert_and_execute_cell -在指定位置插入单元格并执行
  • save_notebook -保存当前Jupyter笔记本
  • get_cells_info -获取笔记本中所有单元格的信息
  • get_notebook_info -获取当前笔记本的相关信息
  • run_cell -按索引运行特定单元格
  • run_all_cells -运行笔记本中的所有单元格
  • get_cell_text_output -获取特定单元格的输出内容
  • get_image_output -获取特定单元格的图像输出
  • edit_cell_content -编辑现有单元格的内容
  • set_slideshow_type-设置单元格的幻灯片放映类型