home / mcp / mcp jupyter server

MCP JUPYTER Server

MCP JUPYTER Server exposes tooling to inspect and edit Jupyter notebooks from MCP clients via stdio, enabling cell read/write, insertion, deletion, and metadata preservation.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "azharlabs-mcp-jupyter-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-jupyter"
      ]
    }
  }
}

You have an MCP JUPYTER Server that exposes essential notebook tooling to inspect, edit, and manage Jupyter notebooks from any MCP-compatible client. This server runs over stdio so you can wire it directly into clients like Claude Desktop, making notebook work seamless and scriptable.

How to use

Connect your MCP client to the JUPYTER server to read, modify, or extend notebooks. You can list cells with their indices and types, fetch cell sources, edit existing cells, insert new ones, or delete cells. You can also move cells between positions, convert cell types, and perform multiple edits in a single operation. Use the tools to automate common notebook editing tasks while preserving notebook metadata.

How to install

Prerequisites: You need Node.js 18 or newer installed on your machine.

Quick start using npx: run directly without cloning the project.

npx -y mcp-jupyter

If you prefer a local checkout and want to install dependencies first, clone the project and install dependencies.

npm install

Configure your MCP client to connect to the JUPYTER server using the stdio entry shown in the examples. The official client entry demonstrates how to point the MCP client at the built entrypoint.

{
  "mcpServers": {
    "jupyter": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-jupyter"
      ],
      "cmd": ""
    }
  },
  "$version": 2
}

Available tools

list_cells

List all notebook cells with their indices and type information, enabling quick navigation through the notebook contents.

get_cell_source

Retrieve the source content of specific cells by index to review or reuse code or text.

edit_cell_source

Update the content of a specific cell by index while preserving the notebook metadata and structure.

insert_cell

Insert new cells at a given position to extend or annotate the notebook.

delete_cell

Remove cells by index with automatic reindexing to maintain notebook integrity.

move_cell

Move cells between positions to reorganize the notebook flow.

convert_cell_type

Convert a cell between code, markdown, or raw to adjust formatting and execution behavior.

bulk_edit_cells

Perform multiple cell operations in a single call for efficiency.