Releases
Migration Guide to 1.2.0
Version 1.2.0 completes the terminology migration from runtime to code sandbox.
This is primarily a naming and configuration migration. Execution behavior is the same goal as before: notebooks are stored on a document server and code is executed by a kernel backend. The backend is now consistently called code sandbox across CLI, environment variables, config model, and docs.
Who Should Migrate
- End users running
jupyter-mcp-serverlocally or in CI. - Operators maintaining shared MCP server deployments (containers, services, platform templates, runbooks).
Breaking Change Summary
- Use
code_sandboxnames everywhere instead ofruntimenames. - Use
CODE_SANDBOX_*environment variables and matching CLI flags. - Use
start_new_code_sandboxnaming for bootstrap behavior. - Any custom scripts or wrappers using old runtime names must be updated.
Rename Matrix
| Old (pre-1.2.0) | New (1.2.0+) |
|---|---|
runtime | code sandbox |
RUNTIME_URL | CODE_SANDBOX_URL |
RUNTIME_TOKEN | CODE_SANDBOX_TOKEN |
RUNTIME_PASSWORD | CODE_SANDBOX_PASSWORD |
RUNTIME_ID | CODE_SANDBOX_ID |
START_NEW_RUNTIME | START_NEW_CODE_SANDBOX |
--runtime-url | --code-sandbox-url |
--runtime-token | --code-sandbox-token |
--runtime-password | --code-sandbox-password |
--runtime-id | --code-sandbox-id |
--start-new-runtime | --start-new-code-sandbox |
End User Migration
1. Update environment variables
Before:
export RUNTIME_URL=http://localhost:8888
export RUNTIME_TOKEN=MY_TOKEN
export START_NEW_RUNTIME=true
After:
export CODE_SANDBOX_URL=http://localhost:8888
export CODE_SANDBOX_TOKEN=MY_TOKEN
export START_NEW_CODE_SANDBOX=true
2. Update CLI commands
Before:
jupyter-mcp-server \
--runtime-url http://localhost:8888 \
--runtime-token MY_TOKEN
After:
jupyter-mcp-server \
--code-sandbox-url http://localhost:8888 \
--code-sandbox-token MY_TOKEN
3. Validate split document + code sandbox setups
If you run document storage and execution on different servers, ensure both sides are configured explicitly:
export DOCUMENT_URL=http://notebook-storage:8888
export DOCUMENT_TOKEN=DOC_TOKEN
export CODE_SANDBOX_URL=http://compute-cluster:8888
export CODE_SANDBOX_TOKEN=EXEC_TOKEN
4. Validate auth mode
Token and password auth still work the same way, just with updated names:
CODE_SANDBOX_TOKENorCODE_SANDBOX_PASSWORDDOCUMENT_TOKENorDOCUMENT_PASSWORD
When both token and password are supplied, password authentication takes precedence.
Operator Migration
1. Update deployment manifests and templates
Update references in:
- Kubernetes manifests
- Helm values/templates
- Docker Compose files
- systemd units
- CI/CD secrets and variable groups
Recommended approach:
- Add new
CODE_SANDBOX_*variables. - Remove old
RUNTIME_*variables. - Restart workloads and verify MCP health checks.
2. Update startup wrappers and runbooks
Search and replace in operational scripts:
runtime->code_sandboxfor internal names- runtime-oriented flags ->
--code-sandbox-*
Also update on-call docs and incident runbooks so diagnostics use current naming.
3. Validate service behavior post-cutover
Run these checks after rollout:
- MCP health endpoint returns healthy status.
- Kernel listing works (
list_kernels). - Notebook operations work (
use_notebook,read_cell,execute_cell). - Reconnect behavior remains as expected (
RECONNECT_INTERVAL).
Configuration Examples (1.2.0+)
Single Jupyter server for both document and code sandbox
export JUPYTER_URL=http://localhost:8888
export JUPYTER_TOKEN=MY_TOKEN
Explicit dual-server topology
export DOCUMENT_URL=http://notebook-storage:8888
export DOCUMENT_TOKEN=DOC_TOKEN
export DOCUMENT_ID=shared/analysis.ipynb
export CODE_SANDBOX_URL=http://compute-cluster:8888
export CODE_SANDBOX_TOKEN=EXEC_TOKEN
export START_NEW_CODE_SANDBOX=false
Sandbox variant execution
export SANDBOX_VARIANT=kaggle
export CODE_SANDBOX_CHANNELS_URL=wss://.../api/kernels/.../channels?...
export SANDBOX_GPU=T4
Known Migration Pitfalls
- Old
RUNTIME_*names left in environment but ignored by new startup paths. - Mixed old/new names across microservices causing partial misconfiguration.
- Wrapper scripts updated, but CI secrets still use old key names.
- Documentation drift in internal playbooks and customer onboarding docs.
Recommended Migration Checklist
- Replace all
RUNTIME_*env vars withCODE_SANDBOX_*. - Replace all runtime CLI flags with code sandbox flags.
- Update deployment manifests, secrets, and runbooks.
- Validate health plus core notebook execution flows.
- Remove old naming from internal docs to prevent regressions.
For full reference values, see Configuration.
Latest Release
See the latest release notes on the GitHub Releases page.
Older Releases
0.16.x - 13 Oct 2025
- Merge the three execute tools into a single unified tool
- Docs: update readme and contributing
- CI: build Auto Releases CI/CD: #114, #115, #119, #120
- fix negative index
- fix ressources and prompts list
- Refactor: separate and simplify the server.py
- Feat/add JUPYTER_URL and JUPYTER_TOKEN
0.15.x - 08 Oct 2025
- Run as Jupyter Server Extension + Tool registry + Use tool
- simplify tool implementations
- add uvx as alternative MCP server startup method
- document as a Jupyter Extension
- Fix Minor Bugs: #108,#110
0.14.0 - 03 Oct 2025
0.13.0 - 25 Sep 2025
0.11.0 - 01 Aug 2025
0.10.2 - 17 Jul 2025
0.10.1 - 11 Jul 2025
0.10.0 - 07 Jul 2025
- More fixes issues for nbclient stop.
0.9.0 - 02 Jul 2025
- Fix issues with
nbmodelstops.
0.6.0 - 01 Jul 2025
- Configuration change, see details on the clients page and server configuration.