Skip to main content

Model Context Protocol server providing 29 specialized tools for programmatic Jupyter notebook editing with format preservation, batch operations, and no Jupyter server required

Project description

Jupyter Notebook Editor MCP Server

A Model Context Protocol (MCP) server for programmatically editing Jupyter notebooks while preserving their format and structure.

Features

  • 29 specialized tools for notebook manipulation
  • File-based operations - no Jupyter server required
  • Format preservation - automatic validation after modifications
  • Batch operations - modify multiple cells or notebooks at once
  • Type-safe - full type hints for all operations

Installation

One-Click Install

Add to Kiro

Install in Claude Code

Quick Start

# Install as a tool
uv tool install jupyter-editor-mcp

# Run the server
jupyter-editor-mcp

See INSTALL.md for detailed installation instructions and configuration options.

Option 1: Install as a Tool (Recommended)

Install directly using uv tool:

# Install from local directory
uv tool install --from /path/to/jupyter-editor .

# Or install from git repository
uv tool install git+https://github.com/yourusername/jupyter-editor.git

Then run the server:

jupyter-editor-mcp

Option 2: Development Installation

For development or testing:

# Clone the repository
git clone <repository-url>
cd jupyter-editor

# Create virtual environment and install
uv venv
uv pip install -e ".[dev]"

Usage

With Claude Desktop (Tool Installation)

If installed via uv tool install, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "jupyter-editor": {
      "command": "jupyter-editor-mcp"
    }
  }
}

With Claude Desktop (Development Installation)

If installed in development mode, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "jupyter-editor": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/jupyter-editor",
        "python",
        "-m",
        "jupyter_editor.server"
      ]
    }
  }
}

Example Interactions

Read a notebook:

"Show me the structure of my notebook.ipynb"

Insert a cell:

"Add a markdown cell at the beginning explaining what this notebook does"

Batch operations:

"Replace all occurrences of 'old_function' with 'new_function' in all code cells"

Multi-notebook:

"Merge analysis.ipynb and visualization.ipynb into combined.ipynb"

Tool Categories

  • Read Operations (4 tools): read_notebook, list_cells, get_cell, search_cells
  • Cell Modification (5 tools): replace_cell, insert_cell, append_cell, delete_cell, str_replace_in_cell
  • Metadata Operations (4 tools): get_metadata, update_metadata, set_kernel, list_available_kernels
  • Batch Operations - Multi-Cell (6 tools): replace_cells_batch, delete_cells_batch, insert_cells_batch, search_replace_all, reorder_cells, filter_cells
  • Batch Operations - Multi-Notebook (7 tools): merge_notebooks, split_notebook, apply_to_notebooks, search_notebooks, sync_metadata, extract_cells, clear_outputs
  • Validation (3 tools): validate_notebook, get_notebook_info, validate_notebooks_batch

Development

# Run tests
pytest

# Run tests with coverage
pytest --cov

# Install in development mode
uv pip install -e ".[dev]"

Documentation

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_editor_mcp-0.1.6.tar.gz (149.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyter_editor_mcp-0.1.6-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_editor_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: jupyter_editor_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 149.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jupyter_editor_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 e76cd520db122d7765dac354ba6ae83d88fab4aa28568f23f37b3cb8a88308c1
MD5 50495db234b1e239b2a599555296f3b5
BLAKE2b-256 64f2a66f17be4570ef9523889d59777ff266281ae451305053b4b0516c4eb7ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyter_editor_mcp-0.1.6.tar.gz:

Publisher: publish.yml on jsamuel1/jupyter-editor-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jupyter_editor_mcp-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_editor_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 27c4f80d45fc8ff5ceb5500acb38eda862fc64cd170883566320b48d08e58407
MD5 b2e592c84bfa733ea8012b5b9dbfcfec
BLAKE2b-256 e3662f9271af8fe6b3701c5f3403b34d26a45b78a93320686b4e905f05c183f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyter_editor_mcp-0.1.6-py3-none-any.whl:

Publisher: publish.yml on jsamuel1/jupyter-editor-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page