Skip to main content

jupyterlite-webmcp

A JupyterLab 4 frontend extension that exposes your live, in-browser notebook — the open cells, the running kernel, your mouse selection, the review comments — to a browser-based AI agent through WebMCP, the emerging W3C proposal for a web page to register callable tools with an agent sharing the same browser tab (document.modelContext.registerTool).

Concretely: once installed, a WebMCP-aware agent in your browser can read your notebook's live cells (not stale .ipynb bytes off disk — the actual unsaved state in memory), run code on the kernel you're already using, insert or edit cells with conflict detection, and read/reply to review comments — all subject to per-cell access control (write / read / none) that you set. If your browser doesn't expose document.modelContext yet, the extension registers nothing and your notebook behaves exactly as it always has; nothing about the normal editing experience is gated behind it.

It is frontend-only: no server extension, no backend, no API keys, no Python runtime dependencies (dependencies = []). Works unmodified in JupyterLab 4.6, Notebook 7, and JupyterLite.

Live demo: https://jupyterlite-web-mcp.vercel.app/lab/index.html Full project README, design rationale, and the 22-tool reference: https://github.com/alliecatowo/jupyterlite-web-mcp

Install

pip install jupyterlite-webmcp

This is the target install once the package is published to PyPI. It is not live yet. Until then, install from a clone or directly from git — see docs/install.md in the repository for the exact command and how to verify it.

Once installed, confirm it registered:

jupyter labextension list
# jupyterlite-webmcp v0.1.0 enabled OK (python, jupyterlite_webmcp)

Then start jupyter lab or jupyter notebook as usual — no configuration is required.

pip uninstall jupyterlite_webmcp

What it contributes

Seven frontend plugins, all autoStart: true; the two you'll notice first:

  • jupyterlite-webmcp:tools — registers the WebMCP tool surface (22 tools) when document.modelContext is present; otherwise a no-op beyond an optional status-bar indicator.
  • jupyterlite-webmcp:review — a notebook review/comments panel. Threaded comments on a cell, a text range, or an output, stored in the notebook's own metadata. Works whether or not the browser supports WebMCP.

The rest provide the access-control panel and cell menu, the activity/presence layer, Propose mode, the Agent panel and output selection.

See the tool reference for the full list of tools and their schemas, and docs/install.md for the JupyterLite requirements.txt variant and how to check whether WebMCP is active in your browser.

Building from source (contributors)

Installing a built wheel of this package never requires Node.js — it ships prebuilt JS/CSS. The package is not on PyPI yet, though, so today's pip install from git or a clone builds that wheel for you and needs Node.js on your PATH. To work on the extension's source:

git clone https://github.com/alliecatowo/jupyterlite-web-mcp.git
cd jupyterlite-web-mcp/packages/jupyterlite-webmcp
npm install
npm run build:prod
pip install -e .

Other useful scripts (see package.json): npm run build (development build), npm run watch, npm test (Jest unit tests), npm run typecheck.

License

MIT — see LICENSE.

Metadata

Release files for jupyterlite-webmcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlite-webmcp 0.1.0
File Size Uploaded
jupyterlite_webmcp-0.1.0.tar.gz 296.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlite-webmcp 0.1.0
File Interpreter ABI Platform
jupyterlite_webmcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 406.7 kB

Release files / jupyterlite_webmcp-0.1.0.tar.gz

Download URL jupyterlite_webmcp-0.1.0.tar.gz
Size 296.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bbe5c2f9cd075b594bfe6ddf7e61b04453722c53178c45423489bf8adc3589eb
BLAKE2b-256 checksum
How to use checksums
a9ec1d05b1a2de6573ea61895b2da8500d37f51f9b953893b2ae082e7b6d86ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / jupyterlite_webmcp-0.1.0-py3-none-any.whl

Download URL jupyterlite_webmcp-0.1.0-py3-none-any.whl
Size 110.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0af2514a98857d7a49d3f6caee8e8c59cf8801c6a9da88bc6e27bb6a2c6fada6
BLAKE2b-256 checksum
How to use checksums
22457ce940f217a20e157afa52e11ed26564d6d62539f81fd95cdd8429afefaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page