MCP.so
Sign In

mcp-server-jupyter

@ihrpr

About mcp-server-jupyter

MCP server for Jupyter Notebooks and JupyterLab

Basic information

Category

Data & Analytics

Transports

stdio

Publisher

ihrpr

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "mcp-server-jupyter": {
      "command": "uv",
      "args": [
        "venv",
        "--seed"
      ]
    }
  }
}

Tools

7

`notebook_path` (string)

`notebook_path` (string)

`notebook_path` (string)

`notebook_path` (string)

`cell_type` (string): "code" or "markdown"

`notebook_path` (string)

`notebook_path` (string)

Overview

What is mcp-server-jupyter?

mcp-server-jupyter is an MCP server that enables programmatic management and interaction with Jupyter notebook files. It provides tools to read, edit, add, and execute cells within notebooks. It is intended for developers using AI assistants (like Claude) who need to manipulate Jupyter notebooks remotely.

How to use mcp-server-jupyter?

Start JupyterLab in a uv-managed virtual environment, then add the server to your Claude Desktop configuration using uv run --with mcp-server-jupyter mcp-server-jupyter and set the UV_PROJECT_ENVIRONMENT env variable to that environment’s path. Provide the full notebook file path when calling tools.

Key features of mcp-server-jupyter

  • Read notebook content with or without cell outputs
  • Read output of a specific cell by its ID
  • Add new code or markdown cells at any position
  • Edit existing cell source code
  • Execute a specific cell and return its output
  • Integrates with Claude Desktop via MCP protocol

Use cases of mcp-server-jupyter

  • An AI assistant reads a notebook to understand experiment results
  • Automatically add a new markdown cell with documentation to a notebook
  • Edit a cell’s code based on user feedback
  • Execute a specific cell and check its output for correctness

FAQ from mcp-server-jupyter

What tools does mcp-server-jupyter provide?

Six tools: read_notebook_with_outputs, read_notebook_source_only, read_output_of_cell, add_cell, edit_cell, and execute_cell. Each requires the notebook file path; cell‑specific tools also need a cell ID.

What runtime environment is required?

You must have Python and uv installed. A JupyterLab instance must be running, and the UV_PROJECT_ENVIRONMENT environment variable must point to that instance’s virtual environment.

How do I get the notebook path to use in tools?

In JupyterLab: right‑click the notebook in the file browser and choose “Copy Path”. In Jupyter Notebook: copy the path from the URL and modify it to a full system path. Always use the full path when calling tools.

Does the notebook auto‑refresh after changes?

No. After using add_cell or edit_cell, you must manually reload the notebook page in JupyterLab/Jupyter Notebook to see the modifications.

What transport/authentication does the server use?

The server communicates via standard MCP transport (stdio). No authentication configuration is described; it relies on the local filesystem and the running Jupyter instance.

Comments

More Data & Analytics MCP servers