mcp-server-jupyter

mcp-server-jupyter

site icon
2025.02.02 15
PythonJupyter 笔记本管理笔记本自动化开发效率
mcp-server-jupyter 是一个用于以编程方式管理和与 Jupyter 笔记本交互的 MCP 服务器。它提供了一系列工具,用于读取、编辑和执行笔记本中的单元格,支持代码和 Markdown 单元格的操作。
View on GitHub

Overview

基本能力

产品定位

mcp-server-jupyter 是一个专门用于管理和操作 Jupyter 笔记本的 MCP 服务器,旨在通过编程方式增强 Jupyter 笔记本的交互性和自动化能力。

核心功能

  1. 读取笔记本内容
  2. 读取包含单元格输出的笔记本内容 (read_notebook_with_outputs)
  3. 仅读取笔记本源代码 (read_notebook_source_only)
  4. 读取特定单元格的输出 (read_output_of_cell)

  5. 编辑笔记本

  6. 添加新单元格 (add_cell)
  7. 修改现有单元格内容 (edit_cell)

  8. 执行单元格

  9. 执行特定单元格并返回其输出 (execute_cell)

适用场景

  • 自动化 Jupyter 笔记本操作
  • 批量处理笔记本内容
  • 集成 Jupyter 笔记本到其他工作流程中
  • 笔记本内容的程序化修改和验证

工具列表

  1. read_notebook_with_outputs:读取包含单元格输出的笔记本内容
  2. read_notebook_source_only:仅读取笔记本源代码,适用于有大小限制的情况
  3. read_output_of_cell:读取特定单元格的输出
  4. add_cell:向笔记本添加新单元格,支持代码或 Markdown 类型
  5. edit_cell:修改现有单元格内容
  6. execute_cell:执行特定单元格并返回其输出,用于验证执行结果

常见问题解答

  • 修改笔记本后需要手动重新加载笔记本页面
  • 使用工具时需要提供笔记本的完整路径
  • 使用过程中需要保持 JupyterLab/Jupyter Notebook 实例运行

使用教程

使用依赖

  1. 安装 uv 工具
  2. 创建 Python 虚拟环境
uv venv --seed
source .venv/bin/activate

安装教程

  1. 安装 JupyterLab
uv pip install jupyterlab
  1. 启动 JupyterLab
.venv/bin/jupyter lab
  1. 获取虚拟环境路径(用于 MCP 服务器配置)
echo $(pwd)/.venv

调试方式

  1. 配置 Claude Desktop 配置文件
// ~/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"
      }
    }
  }
}
  1. 在 Claude Desktop 聊天中使用工具时,始终提供笔记本的完整路径
  2. 修改笔记本后,手动重新加载笔记本页面

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。