Summary
Edit one cell, not the whole notebook.
Notebooks are awkward for assistants because a small change usually means re-emitting the entire JSON. Indexing by position makes an edit surgical, and deletions renumber themselves so the next call still lands where you meant.
What it is
An MCP server for Jupyter notebooks that works by cell position. Every operation takes a notebook path and a cell index, so an edit touches one cell instead of rewriting the whole file.
What you get
- Every cell listed with its index and type
- The source of a single cell read by index
- A cell's content replaced in place
- New code, markdown or raw cells inserted at a chosen position
- Cells deleted, with the remaining indices renumbered automatically
- Cells moved between positions and converted between code, markdown and raw
- Several operations applied in one call
- VS Code forced to reload the notebook after a change, with file-watcher support
Requirements
Node.js with npm install in the cloned repository, and the notebook file on local disk. Point the client at src/index.js, or link it globally and call mcp-jupyter-complete.
Setup effort
One command — mcp-jupyter-complete
