Jupyter Notebook编辑MCP服务器

该服务是一个基于 MCP 的轻量级服务器,利用 nbformat 安全、结构化地读取和编辑 Jupyter Notebook (.ipynb) 文件,让 AI 代理能够在不破坏 JSON 结构、绕过执行权限限制的情况下新增、编辑、删除和创建单元格。

  • by cshara1
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cshara1/easy-jupyter-editor-mcp

使用说明

Easy Jupyter Editor MCP

A lightweight Model Context Protocol (MCP) server designed to allow AI Agents to safely and structurally edit Jupyter Notebook (.ipynb) files.

Background

This MCP server was developed to enable AI agents to safely manipulate Jupyter Notebook (.ipynb) files.

In many AI agent environments (such as Antigravity), directly executing notebook files or editing complex .ipynb JSON structures as raw text can be difficult due to security restrictions or the risk of corrupting the file format.

This project aims to "structurally edit Notebook files correctly while bypassing execution permission issues." By using the nbformat library, it allows adding, editing, and deleting cells without breaking the JSON structure.

Features

Provides the following tools:

  • read_notebook: Retrieves a list of cells (index and content summary) from a Notebook.
  • get_cell: Retrieves the full source code of a specific cell by index.
  • edit_cell: Modifies the content of a specific cell.
  • add_cell: Adds a new code or Markdown cell.
  • delete_cell: Deletes a specific cell.
  • create_notebook: Creates a new, empty Notebook.

Installation & Usage

It is recommended to run this server using uv.

1. Claude Desktop / MCP Client Configuration

Add the following configuration to claude_desktop_config.json.

Using PyPI (Recommended)

This is the simplest way to run the server.

{
  "mcpServers": {
    "easy-jupyter-editor": {
      "command": "uvx",
      "args": ["easy-jupyter-editor-mcp"]
    }
  }
}

Running directly from GitHub

{
  "mcpServers": {
    "easy-jupyter-editor": {
      "command": "uv",
      "args": [
        "run",
        "--from",
        "git+https://github.com/YourUsername/easy-jupyter-editor-mcp",
        "easy-jupyter-editor-mcp"
      ]
    }
  }
}

Running Locally for Development

{
  "mcpServers": {
    "easy-jupyter-editor": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "nbformat",
        "python",
        "/absolute/path/to/easy-jupyter-editor-mcp/src/easy_jupyter_editor_mcp/__init__.py"
      ]
    }
  }
}

Development

# Build
uv build

# Publish to PyPI
uv publish