Repository navigation
feat: ship jupyter-mcp-tools and full frontend tool allowlist - #19
Merged
Merged
Conversation
jupyter-mcp-server 2.x moved jupyter-mcp-tools to an optional extra, so depend on it explicitly (>=0.1.8; the allowed-tools docs require >=0.1.7). 2.x needs mcp>=2 / jupyter-collaboration>=5 / pycrdt>=0.14, which the existing lock could not satisfy (pycrdt 0.12, idna 3.11), so the lock is fully re-solved via `pixi update`. Notable bumps: jupyter-mcp-server 1.0.2 -> 2.2.3, jupyter-mcp-tools 0.1.6 -> 0.1.8, mcp 1.27 -> 2.2, jupyterlab 4.5.6 -> 4.6.4, jupyter-collaboration 4.4 -> 5.0.4, tensorflow 2.19.1 -> 2.21.0, root 6.38 -> 6.40, keras 3.13 -> 3.15, numpy 2.4 -> 2.5. Assisted-by: Claude (Anthropic)
Expose 52 JupyterLab commands as MCP tools via JupyterMCPServerExtensionApp.allowed_jupyter_mcp_tools (only the two defaults were enabled before). They run in the user's open JupyterLab tab; af-jupyterlab-mcp proxies them as nb_ui_* tools. Uses real JupyterLab 4.x command ids: several ids in the upstream jupyter-mcp-tools README (kernel_restart, notebook_select-next, ...) do not exist and would silently do nothing. Excludes commands that act on the human's browser (filebrowser upload/download) or block on a modal dialog (docmanager delete/rename/save-as, kernelmenu change/restart, console restart-kernel). Assisted-by: Claude (Anthropic)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #14
Summary
jupyter-mcp-toolsto an optional extra, so this PR adds an explicitjupyter-mcp-tools>=0.1.8dependency.mcp>=2,jupyter-collaboration>=5andpycrdt>=0.14, but the old lock heldpycrdt0.12 andidna3.11, so a plainpixi lockcouldn't satisfy it. Notable bumps:allowed_jupyter_mcp_toolsis set inconfig/jupyter_notebook_config.py; before this only the 2 defaults were exposed. These commands run in the user's open JupyterLab tab. af-jupyterlab-mcp proxies them asnb_ui_*tools in feat: proxy jupyter-mcp-tools frontend (UI) tools and align with jupyter-mcp-server 2.x af-jupyterlab-mcp#15, which should merge after this one.kernel_restartis reallykernelmenu:restart.filebrowser_upload/filebrowser_downloadact on the human's browser.docmanager_delete/_rename/_save-as,kernelmenu_change/_restartandconsole_restart-kernelblock on a modal dialog that needs a human click.Test plan
pixi lock --checkpassesjupyter server extension listshowsjupyter_mcp_serverandjupyter_mcp_tools, andjupyter labextension listshows@datalayer/jupyter-mcp-toolsimport tensorflow, keras, numpy, pandas,root --version,jupyter --version. Worth doing given the broad version bumps.nb_ui_*tool through the gateway🤖 Generated with Claude Code