MCP.so
Sign In
Servers

JupyterMCP - Jupyter Notebook Model Context Protocol Integration

@jjsantos01

A Model Context Protocol (MCP) for Jupyter Notebook

Overview

What is JupyterMCP?

JupyterMCP connects Jupyter Notebook (version 6.x) to Claude AI through the Model Context Protocol (MCP). It enables Claude to directly interact with and control Jupyter Notebooks for AI-assisted code execution, data analysis, and visualization.

How to use JupyterMCP?

Install Python 3.12+, the uv package manager, and the Claude desktop app. Clone the repository, create a virtual environment with uv run python -m ipykernel install --name jupyter-mcp, then configure Claude’s claude_desktop_config.json to point to the MCP server script. Start Jupyter with uv run jupyter nbclassic, create a new notebook with the jupyter-mcp kernel, and run setup_jupyter_mcp_integration() in a cell to start the WebSocket server. Claude then gains access to tools like insert_and_execute_cell, save_notebook, run_all_cells, and more.

Key features of JupyterMCP

  • Two‑way communication between Claude and Jupyter Notebook via WebSocket.
  • Insert, execute, and manage notebook cells.
  • Save notebooks and retrieve notebook information.
  • Run specific cells or all cells in a notebook.
  • Retrieve text and image output from executed cells.
  • Edit cell content and set slideshow types.

Use cases of JupyterMCP

  • Create interactive presentations with mixed markdown and code cells using Claude.
  • Perform data analysis and visualization with Python libraries (e.g., Seaborn) under AI guidance.
  • Run Stata exercises directly from Claude, including code execution and output interpretation.
  • Automate notebook workflows such as batch cell execution and output collection.

FAQ from JupyterMCP

What versions of Jupyter does JupyterMCP support?

Only Jupyter Notebook 6.x. It does not work with Jupyter Lab, Jupyter Notebook v7.x, VS Code Notebooks, or Google Colab.

What are the system requirements?

Python 3.12 or newer, the uv package manager, and the Claude desktop application. Earlier Python versions may work but are not tested.

How does data flow in JupyterMCP?

A WebSocket server runs inside the Jupyter notebook, bridging communication between the notebook and an external MCP server that Claude connects to. Client JavaScript handles cell operations.

What are the main limitations?

Only Jupyter Notebook 6.x is supported. Text output from cells is limited to 1500 characters by default. Advanced Jupyter widget interactions are not supported. Connections may timeout after inactivity.

Is JupyterMCP compatible with Jupyter Lab?

No. It is explicitly incompatible with Jupyter Lab and all other notebook interfaces beyond Jupyter Notebook 6.x.

More from Memory & Knowledge