Skip to main content

jcollab

MCP server (stdio) that lets Claude read, edit and run cells in live JupyterLab notebooks through the shared Yjs document, so open browser tabs update immediately and cells look exactly as if the user had run them.

  • Discovery, no setup: finds all running Jupyter servers of the user via ~/.local/share/jupyter/runtime/jpserver-*.json (pid alive + /api/status probe). Tools take instance (port, root:port or root dir name); optional if only one runs.
  • Verified writes: every mutating tool reads the file back and reports persisted; duplicate cell ids (client/server Yjs version skew) are detected and explained.
  • Execution fidelity: [*] busy state, streamed outputs, kernel execution count, metadata.execution timings (jupyterlab-execute-time). run_code is silent (store_history=False), consumes no execution count.
  • Tools: list_instances, list_notebooks, read_notebook, read_cell (images), insert_cell, insert_cell_at_start, edit_cell, change_cell_type, delete_cell, move_cell, split_cell, merge_cells, get_metadata, set_metadata (cell/notebook), run_cell, run_cells, run_code, clear_outputs, inspect_variables, kernel_status, interrupt_kernel, restart_kernel, sync_health, user_focus, point_at, find_mentions, add_comment.

Install

From PyPI:

pip install jcollab
claude mcp add --scope user jcollab -- jcollab

From source:

python3 -m venv .venv && .venv/bin/pip install .
claude mcp add --scope user jcollab -- $PWD/.venv/bin/jcollab

Lab extension jcollab-scroll (scrolls the user's notebook to the cell point_at targets) is part of the package. Install it into the interpreter of jupyter-lab with pip install --no-deps jcollab, then restart JupyterLab. Source and built output: labext/.

Requires a JupyterLab with jupyter-collaboration. Keep jupyter-ydoc of this package on the same major version as the server's (pinned >=3,<4; see sync_health).

Tests

tests/integration.py [instance] expects a throwaway JupyterLab (token-less) whose root contains spike.ipynb.

Metadata

Release files for jcollab 0.1.2

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

Source distribution (sdist)

Source distribution for jcollab 0.1.2
File Size Uploaded Provenance Actions
jcollab-0.1.2.tar.gz 86.8 kB With provenance Details for jcollab-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jcollab 0.1.2
File Interpreter ABI Platform Actions
jcollab-0.1.2-py3-none-any.whl Python 3 none any Details for jcollab-0.1.2-py3-none-any.whl

Total release size: 113.6 kB

Release files / jcollab-0.1.2.tar.gz

Download URL jcollab-0.1.2.tar.gz
Size 86.8 kB
Tags Source
SHA-256 checksum
How to use checksums
23488e97dd7f32f5a399b4895e3a1b0afa8a69d927e4a9b57ee4f27140c6cd20
BLAKE2b-256 checksum
How to use checksums
abe01624d9cabb0feef123b53a43ab5bcea7dcf659c8ab652da93f4ba7876f42
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 Oct 18, 2026.

Transparency log

Release files / jcollab-0.1.2-py3-none-any.whl

Download URL jcollab-0.1.2-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0159301e2ff160e3bde1bff34eb98dec6ba122c80e9357ee9261d22a36c0c105
BLAKE2b-256 checksum
How to use checksums
075458df2bbad40a71ffe56ef0061db94e0d0858ea4c4a9e7c1e5d4fe1d736f0
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 Oct 18, 2026.

Transparency log

Security for jcollab 0.1.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for jcollab-0.1.2.tar.gz

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 Oct 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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