list_cellsLABSCO 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
Build from source — git clone https://github.com/tofunori/mcp-jupyter-complete.git
USE CASES
Fixing a bug in one cell
Read the cell by index, then replace only its source.
Finding your way around someone else's notebook
List every cell with its index and type before touching anything.
Adding a section between two existing cells
Insert a markdown or code cell at the position you name.
Clearing out dead exploratory cells
Delete by index; everything after it is renumbered automatically.
Seeing the change in the editor immediately
VS Code can be forced to reload the notebook file once the write lands.
9 tools
Listed in project docs. Your client may show a different list.
get_cell_sourceedit_cell_sourceinsert_celldelete_cellmove_cellconvert_cell_typebulk_edit_cellstrigger_vscode_reloadBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
Node.js 18 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/tofunori/mcp-jupyter-complete.git
cd mcp-jupyter-complete
npm installMCP Clients
Claude Code
{
"mcpServers": {
"jupyter-complete": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_JUPYTER_COMPLETE>/src/index.js"
]
}
}
}Add this to ~/.claude.json. <YOUR_PATH_TO_MCP_JUPYTER_COMPLETE> is the full path of the folder the clone created.