Skip to content

Your notebook is already in the browser. Now your agent can be too.

A JupyterLab and JupyterLite extension that lets a browser agent read, edit, run and review the live notebook through WebMCP. No server, no API keys.

Agent edits a notebook cell live in JupyterLite; a diff popover shows the exact +/- change before it's kept

The agent proposes a one-line fix inline. The diff is reviewable before it sticks: same cell, same kernel, same tab.

install ​

bash
pip install jupyterlite-webmcp
jupyter lab

Published on PyPI. The extension only does something in a browser that exposes document.modelContext; elsewhere it stays out of the way. Full install guide.

what it does ​

the live notebook
Unsaved edits, your exact text selection, the running kernel and its outputs. State that exists only inside the tab. Why it matters.
22 webmcp tools
Read, navigate, edit, execute and review through document.modelContext. Writes are guarded by a source hash, so the human always wins. Tool reference.
you set the limits
Per-cell and per-notebook access levels, plus Propose mode where each edit waits for your Accept or Deny. Propose mode.
visible by design
Presence rings, state badges, inline diffs and output provenance show every agent action in the notebook itself.
review threads
Comments live in the notebook metadata, so the conversation travels with the .ipynb.
one pip install
A prebuilt extension for JupyterLab, Notebook 7 and JupyterLite. No Node.js, no lab build. Install.

screenshots ​

built for the OpenAI WebMCP Challenge ​

Selected as one of the 10 winners. Created by Allison Coleman (@alliecatowo) with Juan Mendoza (@mennymendoza). See where it's going on the roadmap, and tell us what you want an agent to do in your notebook in Discussions.

Released under the MIT License. Winner of the OpenAI WebMCP Challenge.