MCP Directory

JupyterMCP

Connect Claude to Jupyter Notebook 6.x to insert, execute, edit and manage cells via MCP.

Unverified
stdio (local)
No auth
Stale
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
git clone https://github.com/jjsantos01/jupyter-notebook-mcp.git

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "jupytermcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/src",
        "run",
        "jupyter_mcp_server.py"
      ]
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Python 3.12 or newer
  • uv package manager
  • Claude AI desktop application
  • Jupyter Notebook 6.x (run via 'jupyter nbclassic'); does NOT work with Jupyter Lab, Notebook v7.x, VS Code Notebooks, or Google Colab

About JupyterMCP

JupyterMCP bridges a Jupyter Notebook 6.x instance to an MCP client (such as Claude Desktop) so the AI can insert, execute, edit, and manage cells, retrieve text and image outputs, run individual or all cells, save the notebook, and set slideshow types for building presentations. A WebSocket server runs inside the notebook and the MCP server connects to it, while the client invokes the MCP server over stdio via the uv package manager.

Tools & capabilities (11)

ping

Check server connectivity.

insert_and_execute_cell

Insert a cell at the specified position and execute it.

save_notebook

Save the current Jupyter notebook.

get_cells_info

Get information about all cells in the notebook.

get_notebook_info

Get information about the current notebook.

run_cell

Run a specific cell by its index.

run_all_cells

Run all cells in the notebook.

get_cell_text_output

Get the output content of a specific cell (text output limited to 1500 characters by default).

get_image_output

Get the image outputs of a specific cell.

edit_cell_content

Edit the content of an existing cell.

set_slideshow_type

Set the slideshow type for a cell.

When to use it

  • Have Claude build a slideshow presentation in a notebook with markdown explanations and runnable code cells, using appropriate slideshow types per cell.
  • Run AI-assisted data analysis and visualization (e.g. Seaborn) directly inside Jupyter.
  • Execute Stata code via the %%stata magic to solve statistics exercises and interpret results.
  • Inspect and retrieve cell text and image outputs for iterative, AI-driven notebook workflows.

Security notes

Experimental tool that runs arbitrary Python code on your computer, which could modify or delete data if not used carefully. Always back up important projects and data before use.

JupyterMCP FAQ

Which Jupyter versions are supported?

Only Jupyter Notebook 6.x, started with 'uv run jupyter nbclassic'. It does not work with Jupyter Lab, Notebook v7.x, VS Code Notebooks, Google Colab, or other notebook interfaces.

How do I start the connection?

Start Jupyter Notebook 6.x, create a notebook using the 'jupyter-mcp' kernel, then run a cell that imports setup_jupyter_mcp_integration from jupyter_ws_server and calls it to launch the WebSocket server inside Jupyter. Then launch Claude Desktop with MCP enabled.

Can I test it without Claude Desktop?

Yes. Run 'uv run python src/jupyter_ws_external_client.py' for an interactive test menu, or add '--batch' for automated testing of all commands.

What happens if the default WebSocket port is in use?

The default port is 8765; if it is already in use, the server automatically tries to find an available port.

Alternatives to JupyterMCP

Compare all alternatives →

Official MCP server providing persistent, file-backed knowledge-graph memory across sessions.

Verified
stdio (local)
No auth
TypeScript
9 tools
Updated 5 months agoRepo

Structured step-by-step reasoning tool for breaking problems into revisable thought sequences.

Verified
stdio (local)
No auth
TypeScript
1 tool
Updated 6 months agoRepo

Fully managed remote server for AWS docs, blogs, What's-New and Well-Architected guidance — no key.

Verified
HTTP (remote)
No auth
Hosted
6 tools
Updated 5 months agoRepo