jupyter-mcp
| Version | 2026.144.1443 |
| Repo | superproject |
JupyterLab CRDT MCP server extension — fastmcp + the in-tree jupyter_mcp distribution pip-installed into the parent pixi env and enabled as a Jupyter Server extension. A Tier 1 post-install candy with no pixi.toml of its own: it pip-installs fastmcp and the in-tree jupyter_mcp package into the default pixi environment provided by the parent jupyter / jupyter-ml layer, then writes a jupyter_server_config.d drop-in that enables jupyter_mcp as a Jupyter Server extension. The observable effects — fastmcp importable, jupyter_mcp importable, the enabling JSON present, and (once a jupyter box is deployed) the Streamable HTTP MCP server routing /mcp — are all verifiable.
Acceptance plan
Section titled “Acceptance plan”This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.
| Intent | Step |
|---|---|
run |
command=~/.pixi/envs/default/bin/pip install “fastmcp>=3.2.0” |
run |
command=~/.pixi/envs/default/bin/pip install –no-deps /ctx/jupyter_mcp |
run |
command=JUPYTER_CONFIG_DIR=~/.pixi/envs/default/etc/jupyter/jupyter_server_config.d mkdir -p “$JUPYTER_CONFIG_DIR” echo ‘{“ServerApp”: {“jpserver_extensions”: {“jupyter_mcp”: true}}}’ > \ “$JUPYTER_CONFIG_DIR/jupyter_mcp.json” |
check |
fastmcp is installed in the parent pixi default environment |
check |
the in-tree jupyter_mcp extension package imports from the pixi env |
check |
the Jupyter Server config drop-in enables the jupyter_mcp extension |
check |
the deployed JupyterLab routes /mcp to the MCP handler (an empty POST returns 400, not a 404) |
agent-check |
an agent can list the notebook_/cell_/room_list MCP tools and round-trip a cell edit through the live server |