Jupyter Notebook

Provides tools to read, modify, and execute cells in Jupyter notebooks via an MCP server.
  • python

2

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "shwetalsoni-jupyter-notebook-mcp-server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp>=2.8.1",
        "python",
        "<absolute_path_to_jupyter_mcp_server>/main.py"
      ]
    }
  }
}

This MCP Server lets you interact with Jupyter notebooks through a FastMCP client. You can read notebook cells, add new cells, execute single cells, run entire notebooks, and retrieve metadata and statistics, all with robust validation and progress reporting.

How to use

To connect your MCP client, ensure you have uv installed. Use the jupyter notebook MCP server by configuring your MCP client to start the server process and then issue requests for the notebook operations. All actions are exposed as MCP tools you can call from your client, such as reading cells, adding cells, executing specific cells, or running the entire notebook. You can also fetch metadata and progress updates for long-running operations.

How to install

# Prerequisites
- Ensure Python is installed
- Ensure uv is installed and accessible in your PATH

# Start the MCP server via uv as described in the config

Configuration and usage notes

The server is exposed to MCP clients through a local runtime command. Use the following configuration snippet in your MCP config to run the server with uv and the FastMCP runtime.

{
  "mcpServers": {
    "jupyter_notebook": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp>=2.8.1",
        "python",
        "<absolute_path_to_jupyter_mcp_server>/main.py"
      ]
    }
  }
}

Testing

To verify all features, run the test client to exercise read, add, execute, and metadata operations. The test client will demonstrate cell reading, insertion, and execution workflows.

python test_client.py

Security notes

Cell execution runs Python code directly via a subprocess. Only execute notebooks from trusted sources. Consider running in a sandboxed environment for production use. Timeout controls help prevent runaway executions.

Dependencies

  • fastmcp - MCP server framework

Tools

The server provides a set of tools for working with Jupyter notebooks. Use these from your MCP client to perform common notebook operations.

🧭 Available tools

  • read_notebook_cells Read cells from a Jupyter notebook with optional filtering by cell type.

  • add_cell_to_notebook Add a new cell to a Jupyter notebook at a specified position.

  • execute_notebook_cell Execute a specific cell in a Jupyter notebook.

  • execute_entire_notebook Execute all code cells in a Jupyter notebook sequentially.

  • get_notebook_info Get basic information about a Jupyter notebook.

Available tools

read_notebook_cells

Read cells from a Jupyter notebook with optional filtering by cell type.

add_cell_to_notebook

Add a new cell to a Jupyter notebook at a specified position.

execute_notebook_cell

Execute a specific cell in a Jupyter notebook.

execute_entire_notebook

Execute all code cells in a Jupyter notebook sequentially.

get_notebook_info

Get basic information about a Jupyter notebook.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational