# jjsantos01/jupyter-notebook-mcp [Health: Active]

**Category:** 🧮 Data Science Tools  
**Repository:** https://github.com/jjsantos01/jupyter-notebook-mcp  
**GitHub Stars:** 131  
**npm Downloads (last month):** 220  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/jjsantos01-jupyter-notebook-mcp

## Description
connects Jupyter Notebook to Claude AI, allowing Claude to directly interact with and control Jupyter Notebooks.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "jupyter-notebook-mcp": {
    "command": "uvx",
    "args": ["seaborn"]
  }
}
```

## Documentation

## What jjsantos01/jupyter-notebook-mcp MCP server does

The jjsantos01/jupyter-notebook-mcp MCP server gives Claude Desktop access to a running Jupyter Notebook through MCP. It is designed for classic Jupyter Notebook 6.x and supports notebook-level operations as well as individual cell actions. Claude can inspect the current notebook, modify cell content, add and execute cells, run selected cells, or run the complete notebook.

The integration also supports saving the notebook and reading execution results. Text output can be retrieved from a selected cell, and image output can be requested separately. A slideshow setting can be assigned to a cell, which is useful when notebook content is being prepared as a presentation.

## How it works

The project uses three cooperating parts. A WebSocket server runs inside Jupyter and provides the bridge to the notebook. JavaScript in the notebook handles operations such as cell insertion and execution. The MCP server runs externally and translates Claude’s tool calls into messages sent over that WebSocket connection.

A typical session starts with Jupyter Notebook 6.x running under the `jupyter-mcp` kernel. The user then imports the integration helper from the repository’s `src` directory in a notebook cell and starts the WebSocket service. Claude Desktop is launched with an MCP configuration that runs the repository’s MCP server through `uv`.

The jjsantos01/jupyter-notebook-mcp MCP server can execute arbitrary Python code in the local notebook environment. That makes the notebook’s installed libraries and data available to agent-driven work, but it also means actions can modify or delete local data.

## Setup and configuration

The documented prerequisites are Python 3.12 or newer, `uv`, Claude Desktop, and Jupyter Notebook 6.x. After obtaining the repository, the setup uses `uv run` to create or use the project environment and install the `jupyter-mcp` kernel specification. Additional analysis packages, such as Seaborn, can be installed with `uv pip install` when needed.

Claude Desktop’s developer configuration must define an MCP server whose command is `uv`. Its arguments point to the local repository’s `src` directory, run the project environment, and start `jupyter_mcp_server.py`. The example configuration contains a machine-specific absolute path that must be replaced before use.

To connect a notebook, start classic Notebook with `uv run jupyter nbclassic`, select the `jupyter-mcp` kernel, and execute the integration setup code from the repository. The path added to Python’s module search path must also refer to the local `src` directory. Restart Claude Desktop after changing its configuration.

## Tools and capabilities

The available MCP tools include:

- `ping` for checking connectivity.
- `insert_and_execute_cell` for adding and running a cell at a chosen position.
- `edit_cell_content` for changing an existing cell.
- `run_cell` and `run_all_cells` for execution.
- `get_cells_info` and `get_notebook_info` for notebook inspection.
- `save_notebook` for saving the current notebook.
- `get_cell_text_output` and `get_image_output` for retrieving results.
- `set_slideshow_type` for assigning a cell’s presentation type.

## Limitations and notes

The jjsantos01/jupyter-notebook-mcp MCP server is explicitly limited to Jupyter Notebook 6.x. It is not documented as compatible with JupyterLab, Jupyter Notebook 7.x, VS Code Notebooks, Google Colab, or other notebook interfaces.

The project is described as experimental. Because notebook execution is unrestricted Python execution on the user’s computer, use care with prompts and back up important projects and data before connecting an agent.

_Full upstream README: https://allmcps.com/mcp/jjsantos01-jupyter-notebook-mcp/readme_

