Agentic Jupyter Remote
Use this Skill for a standalone or remote Jupyter Server reachable through an authenticated URL, SSH tunnel, or equivalent secure route. A Notebook mirrored onto the local filesystem still belongs to this route when its real kernel runs on that Server.
Do not use this Skill for a Notebook whose kernel is selected and managed by VS Code, Cursor, Windsurf, or Antigravity. That case needs the separate agentic-jupyter-mcp IDE extension.
Connect
The MCP backend requires Node.js 18 or newer and these environment variables:
JUPYTER_TOKEN: current Jupyter Server token; keep it out of files and logs.JUPYTER_NOTEBOOKS: remote Notebook root, such as/home/aiuser/work.JUPYTER_BASE_URL: Server URL, or pass--portto usehttp://127.0.0.1:<port>.
Register /bin/bash as the stdio MCP command and pass the absolute path to scripts/launch.sh as its first argument. GitHub ZIP installation does not preserve executable bits, so do not register the script itself as the command. The launcher starts the matching published backend version; do not substitute a local IDE bridge or a direct .ipynb file editor.
Operate
- Call
jupyter_server_status. Continue only when it reportsstatus: ready. - Use paths relative to
JUPYTER_NOTEBOOKS; reject absolute paths and traversal. - Start with
notebook_list_cells, then usenotebook_get_cellfor the complete source and outputs of one cell. - Before any write, re-read the target cell and confirm its index, type, and source. After insertion or deletion, discard old downstream indices.
- Use only the Notebook MCP tools to edit, insert, delete, execute, and save. Never modify
.ipynbJSON with shell, patches, Git, or ad hoc scripts. - Treat file synchronization as a separate system. Leave
JUPYTER_LOCAL_ROOTunset when Mutagen, rsync, or another synchronizer already owns the mirror. - After execution, inspect the returned status and outputs. An error result is not a successful run merely because the transport call completed.
The backend creates or reuses a Jupyter python3 session through the Sessions API. It does not require an IDE Select Kernel action.