jupyter-mcp-server

tottsuki-mt/jupyter-mcp-server

3.2

If you are the rightful owner of jupyter-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Jupyter MCP Server is a Model Context Protocol server implementation that facilitates interaction with Jupyter notebooks.

Tools
  1. insert_execute_code_cell

    Inserts and executes a code cell in the notebook.

  2. append_markdown_cell

    Appends a markdown cell to the notebook.

  3. get_notebook_info

    Retrieves information about the current notebook.

  4. read_cell

    Reads the content of a specified cell.

Datalayer

Become a Sponsor

🪐✨ Jupyter MCP Server

PyPI - Version smithery badge

Jupyter MCP Server is a Model Context Protocol (MCP) server implementation that provides interaction with 📓 Jupyter notebooks running in any JupyterLab or Notebook>=7.

This works also with your 💻 local Jupyter.

🚀 Key Features

  • Real-time control: Instantly view notebook changes as they happen.
  • 🔁 Smart execution: Automatically adjusts when a cell run fails thanks to cell output feedback.
  • 🤝 MCP-Compatible: Works with any MCP client, such as Claude Desktop, Cursor, Windsurf, and more.

Jupyter MCP Server Demo

🛠️ This MCP offers multiple tools such as insert_execute_code_cell, append_markdown_cell, get_notebook_info, read_cell, and more, enabling advanced interactions with Jupyter notebooks. Explore our documentation to learn about all the tools powering Jupyter MCP Server.

🏁 Getting Started

For comprehensive setup instructions—including Streamable HTTP transport and advanced configuration—see our Setup Guide. Or, get started quickly with the stdio transport here below.

1. Set Up Your Environment

pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.17

2. Start JupyterLab

# make jupyterlab
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

3. Configure Your Preferred MCP Client

MacOS and Windows
{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ROOM_URL",
        "-e",
        "RUNTIME_TOKEN",
        "-e",
        "ROOM_ID",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "ROOM_URL": "http://host.docker.internal:8888",
        "RUNTIME_TOKEN": "MY_TOKEN",
        "ROOM_ID": "notebook.ipynb"
      }
    }
  }
}
Linux
{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ROOM_URL",
        "-e",
        "RUNTIME_TOKEN",
        "-e",
        "ROOM_ID",
        "--network=host",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "ROOM_URL": "http://localhost:8888",
        "RUNTIME_TOKEN": "MY_TOKEN",
        "ROOM_ID": "notebook.ipynb"
      }
    }
  }
}

For detailed instructions on configuring various MCP clients—including Claude Desktop, VS Code, Cursor, Cline, and Windsurf — see the Clients documentation.

📚 Resources

Looking for blog posts, videos, or other materials about Jupyter MCP Server?

👉 Visit the Resources section.