Skip to content

refactor: drop jupyter-compute from the Jupyter MCP integration#20

Merged
KadenMc merged 1 commit into
mainfrom
refactor/jupyter-single-server
May 21, 2026
Merged

refactor: drop jupyter-compute from the Jupyter MCP integration#20
KadenMc merged 1 commit into
mainfrom
refactor/jupyter-single-server

Conversation

@KadenMc
Copy link
Copy Markdown
Owner

@KadenMc KadenMc commented May 21, 2026

Summary

aexp install --with-jupyter wired two near-duplicate Jupyter MCP servers into a consumer's .mcp.json:

  • jupyteruvx jupyter-mcp-server, MCP_SERVER mode, target URL+token supplied at runtime via connect_to_jupyter
  • jupyter-computenpx mcp-remote proxy to a fixed cluster /mcp endpoint, JUPYTER_SERVER mode

jupyter-compute could not retarget to a different node without a .mcp.json edit + MCP restart — which breaks the multi-node workflow the /aexp-jupyter-connect / /aexp-jupyter-discover commands are built around. It was otherwise a near-duplicate of jupyter and a standing "which server do I use?" confusion surface (the old docs even mis-steered toward it).

This reduces the integration to a single server, jupyter.

Changes

  • install.py_jupyter_mcp_entries() emits only the jupyter entry; the additive .mcp.json merge no longer special-cases jupyter-compute. Docstrings updated.
  • cli.py--with-jupyter help text.
  • Slash commands /aexp-jupyter-iterate and /aexp-promote-nb, AGENTS.md, docs/setup/jupyter-mcp.md, README.md — retargeted to the single-server mcp__jupyter__* tool family. The mis-steering "jupyter-compute is functionally a superset" troubleshooting line and the jupyter-compute-specific investigation-log rounds are removed.
  • tests/test_install.py — 5 jupyter tests updated.
  • CHANGELOG.md[Unreleased] entry.

Lost capability

The two jupyter-mcp-tools UI-delegated tools. notebook_run-all-cells was already 404-broken upstream, so that costs nothing; notebook_get-selected-cell ("which cell is the user looking at") is genuinely gone — the affected slash commands now ask the user for the notebook/cell or cross-check aexp.jupyter.init().attached_notebooks.

Scope notes

  • The cluster-side [jupyter] pip extra and the aexp jupyter setup extension recipe are intentionally unchanged — trimming them risks a working cluster deployment and is a separate migration.
  • A consumer .mcp.json written by an earlier --with-jupyter install keeps its jupyter-compute entry (the merge is additive-only and never deletes servers); remove it by hand for the cleanup.

Testing

  • Full suite: 454 passed, 5 skipped (pre-existing environmental skips), exit 0
  • ruff check clean on changed sources
  • mypy shows only pre-existing errors on lines untouched by this change

🤖 Generated with Claude Code

`aexp install --with-jupyter` wired two near-duplicate Jupyter MCP
servers into a consumer's `.mcp.json`: `jupyter` (uvx jupyter-mcp-server,
MCP_SERVER mode, runtime-retargetable via `connect_to_jupyter`) and
`jupyter-compute` (an npx mcp-remote proxy to a fixed cluster `/mcp`
endpoint, JUPYTER_SERVER mode).

`jupyter-compute` could not retarget to a different node without a
config edit + MCP restart, which breaks the multi-node workflow the
slash commands are built around. It was otherwise a near-duplicate of
`jupyter` and a standing "which server do I use?" confusion surface.

Reduce the integration to a single server, `jupyter`:

- install.py: `_jupyter_mcp_entries()` emits only the `jupyter` entry;
  the additive merge no longer special-cases `jupyter-compute`.
- Slash commands `/aexp-jupyter-iterate` and `/aexp-promote-nb`,
  `AGENTS.md`, and `docs/setup/jupyter-mcp.md` retargeted to the
  single-server `mcp__jupyter__*` tool family.
- The two `jupyter-mcp-tools` UI tools are lost: `notebook_run-all-cells`
  was already 404-broken upstream; `notebook_get-selected-cell` is gone,
  so the affected commands now ask the user for the notebook/cell or use
  `aexp.jupyter.init().attached_notebooks`.

The cluster-side `[jupyter]` pip extra and `aexp jupyter setup`
extension recipe are intentionally unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@KadenMc KadenMc merged commit 7ee1a88 into main May 21, 2026
6 checks passed
@KadenMc KadenMc deleted the refactor/jupyter-single-server branch May 21, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant