mcpField
M
mcp-server-jupyter

mcp-server-jupyter

本地服务
github.com/ihrpr数据与分析3491 周前更新

关于 mcp-server-jupyter

一个用于管理和操作 Jupyter Notebook 与 JupyterLab 的 MCP 服务。适合希望让 AI 助手读取、编辑和执行 notebook 单元格的数据分析人员。

主要功能

  1. 01读取 notebook 内容及单元格输出
  2. 02仅读取源码以减小内容体积
  3. 03添加、编辑单元格
  4. 04执行指定单元格并返回输出

适用场景

  1. 01让 AI 助手分析 notebook 中的数据结果
  2. 02通过对话修改或补充 notebook 单元格
  3. 03执行单元格以验证代码输出

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露读取、添加、编辑和执行 notebook 单元格的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-jupyter

用于以编程方式管理和操作 Jupyter 笔记本的 MCP 服务。

演示

组件

工具

该服务提供六种用于操作笔记本的工具:

  1. read_notebook_with_outputs:读取笔记本内容,包括单元格输出

    • 必填:notebook_path(字符串)
  2. read_notebook_source_only:读取笔记本内容,不包括输出

    • 必填:notebook_path(字符串)
    • 当大小限制导致无法读取包含输出的完整笔记本时使用
  3. read_output_of_cell:读取特定单元格的输出

    • 必填:
      • notebook_path(字符串)
      • cell_id(字符串)
  4. add_cell:向笔记本添加新单元格

    • 必填:
      • notebook_path(字符串)
      • source(字符串)
    • 可选:
      • cell_type(字符串):“code”或“markdown”
      • position(整数):插入索引(-1 表示追加)
  5. edit_cell:修改现有单元格内容

    • 必填:
      • notebook_path(字符串)
      • cell_id(字符串):要编辑的单元格的唯一 ID
      • source(字符串)
  6. execute_cell:执行特定单元格并返回其输出

    • 必填:
      • notebook_path(字符串)
      • cell_id(字符串)
    • 可用于验证单元格是否已执行以及输出内容

搭配 Claude Desktop 使用

步骤 1:启动 JupyterLab 或 Jupyter Notebook

使用 uv 运行 Jupyter 笔记本,可以更轻松地管理虚拟环境和软件包安装。

更多详情请参阅 uv jupyter 文档。

uv venv --seed
source .venv/bin/activate
uv pip install jupyterlab
.venv/bin/jupyter lab

注意:此环境应作为 MCP 服务中的 UV_PROJECT_ENVIRONMENT 环境变量(下一步)。请在启动 Jupyter 的同一文件夹中运行。

echo $(pwd)/.venv

步骤 2:配置 Claude Desktop 将此配置添加到 Claude Desktop 配置文件中:

PyPi 软件包:

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "Jupyter-notebook-manager": {
      "command": "uv",
      "args": ["run", "--with", "mcp-server-jupyter", "mcp-server-jupyter"],
      "env": {
        "UV_PROJECT_ENVIRONMENT": "/path/to/venv_for_jupyter/.venv"
      }
    }
  }
}

Git 仓库分支

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "Jupyter-notebook-manager": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/Users/inna/mcp-server-jupyter/src/mcp_server_jupyter",
        "mcp-server-jupyter"
      ],
      "env": {
        "UV_PROJECT_ENVIRONMENT": "/path/to/venv_for_jupyter/.venv"
      }
    }
  }
}
步骤 3:打开笔记本和 Claude 聊天

在 JupyterLab/Jupyter Notebook 中打开或创建笔记本

获取笔记本的完整路径:

  • 在 JupyterLab 中:在文件浏览器中右键单击笔记本 →“复制路径”
  • 在 Jupyter Notebook 中:从 URL 复制路径(修改为完整系统路径)

在 Claude Desktop 聊天中:

  • 调用工具时始终使用笔记本的完整路径
  • 示例:/Users/username/projects/my_notebook.ipynb

重要说明:

  • 通过 Claude 进行任何修改(add_cell、edit_cell)后:
    • 在 JupyterLab/Jupyter Notebook 中重新加载笔记本页面
    • 当前版本不支持自动重新加载
  • 使用 Claude 时,请保持 JupyterLab/Jupyter Notebook 实例运行

许可证

本项目采用 MIT 许可证授权。详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。