Skip to main content
Glama
tsundokum

jupyter-interactive-mcp

by tsundokum
README.md
# jupyter-interactive-mcp

An MCP server that gives any MCP-compatible LLM client (Claude Desktop, Claude Code, etc.) full control over a live JupyterLab instance.

## Quick start

```bash
# Zero-install run via uvx (recommended)
uvx jupyter-interactive-mcp

# Or install permanently
pip install jupyter-interactive-mcp
```

## Claude Desktop config

```json
{
  "mcpServers": {
    "jupyter": {
      "command": "uvx",
      "args": ["jupyter-interactive-mcp"],
      "env": {
        "JUPYTER_URL": "http://localhost:8888",
        "JUPYTER_TOKEN": "<token>"
      }
    }
  }
}
```

## Environment variables

| Variable | Default | Description |
|---|---|---|
| `JUPYTER_URL` | `http://localhost:8888` | Base URL of the Jupyter Server |
| `JUPYTER_TOKEN` | `` | Authentication token (from `jupyter server --no-browser`) |

## Available tools

- `list_notebooks` — list all `.ipynb` files
- `get_notebook_info` — cell count, kernel name/status
- `read_notebook` — all cells with source and outputs
- `read_cell` — single cell source and outputs
- `edit_cell` — update cell source (clears outputs, saves)
- `add_cell` — insert a new cell at an index
- `delete_cell` — remove a cell
- `run_cell` — execute a cell in the kernel, returns text/images
- `restart_kernel` — restart the notebook kernel
- `interrupt_kernel` — interrupt a running kernel
- `get_kernel_status` — idle/busy/starting status