# mcp-jupyter-notebook

Source: https://glimind.com/server/pypi%2Fmcp-jupyter-notebook
Registry id: `pypi/mcp-jupyter-notebook`
Status: unknown

## Install

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

Claude Code:

```sh
claude mcp add mcp-jupyter-notebook -- uvx mcp-jupyter-notebook
```

## Tools (37)

- `notebook_cell_count`: Return the number of cells in the notebook
- `notebook_cell_delete`: Delete a cell by its 0-based index
- `notebook_cell_delete_by_id`: Delete a cell by its stable Jupyter cell ID
- `notebook_cell_move`: Move a cell to a new index using its stable cell ID
- `notebook_cell_move_after`: Move a cell immediately after another stable cell ID
- `notebook_cell_move_before`: Move a cell immediately before another stable cell ID
- `notebook_cell_read`: Read a single cell by index (full dict with type, source, outputs, metadata)
- `notebook_cell_read_by_id`: Read a single cell by stable Jupyter cell ID
- `notebook_cell_source`: Return only the source text of a cell
- `notebook_cell_source_by_id`: Return only the source text using a stable cell ID
- `notebook_cell_source_set_by_id`: Replace a cell's source text using its stable cell ID
- `notebook_cells_run`: Execute multiple cells sequentially (code and/or markdown)
- `notebook_close`: Close a notebook session and release its resources
- `notebook_code_execute`: Execute code in the kernel without creating a notebook cell (background work)
- `notebook_code_is_complete`: Check if a code fragment is syntactically complete
- `notebook_code_run`: Append a new code cell, execute it, and return outputs (stdout, stderr, rich displays)
- `notebook_code_run_existing`: Replace the source of an existing cell (by index) and re-execute it
- `notebook_complete`: Get tab-completion suggestions at a cursor position
- `notebook_delete`: Delete a notebook file and close its session (server: Contents API, local: filesystem)
- `notebook_files_list`: Discover .ipynb files on disk (local) or via Contents API (server)
- `notebook_inspect`: Inspect an object — returns docs, type info, docstrings
- `notebook_kernel_history`: Retrieve recent execution history from the kernel
- `notebook_kernel_info`: Get kernel metadata (protocol version, language info, banner)
- `notebook_kernel_interrupt`: Interrupt a running computation (SIGINT)
- `notebook_kernel_restart`: Restart the kernel (destructive — clears all state)
- `notebook_list`: List all currently open notebook sessions
- `notebook_markdown_add`: Add a markdown cell (append or insert at position)
- `notebook_open`: Open a notebook and create a session (kernel + document transport)
- `notebook_packages_check`: Check which packages are available without installing
- `notebook_packages_install`: Install Python packages in the kernel (pip-style specifiers)
- `notebook_read`: Read all cells, sources, outputs, and metadata
- `notebook_restart_and_run_all`: Restart the kernel, then execute every code cell from a clean state
- `notebook_run_all`: Execute every code cell in notebook order and return a per-cell summary
- `notebook_session_info`: Get session info (kernel type, alive status, connections)
- `notebook_variable_get`: Get the value of a specific variable
- `notebook_variable_set`: Set a variable in the kernel's global scope
- `notebook_variables_list`: List user-defined variables in the kernel's global scope

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
