Skip to main content

Jupyter Server Provider

The Jupyter Server provider is the default. Code executes through the code-sandboxes jupyter variant against a local or remote Jupyter Server (SANDBOX_VARIANT=jupyter), giving you a full Jupyter kernel with process isolation, persistent state, and rich outputs (images, plots, HTML).

tip

This engine uses the code-sandboxes Jupyter engine. For other SANDBOX_VARIANT values (kaggle, colab, monty, modal, ...), see the code-sandboxes documentation for engine-level parameters and credential setup. Non-jupyter engines also require the optional jupyter_mcp_sandboxes extension (pip install jupyter_mcp_sandboxes).

Requirements

pip install jupyter-mcp-server

Start a Jupyter Server (or JupyterLab):

jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

Configuration

VariableDescriptionDefault
JUPYTER_URLJupyter Server URL (used for both document and code sandbox)http://localhost:8888
JUPYTER_TOKENJupyter Server authentication tokenNone
DOCUMENT_IDDefault notebook path (optional)None

MCP client configuration:

{
"mcpServers": {
"jupyter": {
"command": "uvx",
"args": ["jupyter-mcp-server@latest"],
"env": {
"JUPYTER_URL": "http://localhost:8888",
"JUPYTER_TOKEN": "MY_TOKEN"
}
}
}
}

For advanced deployments that separate notebook storage from kernel execution, use DOCUMENT_URL / DOCUMENT_TOKEN and CODE_SANDBOX_URL / CODE_SANDBOX_TOKEN individually. See the Configuration reference for the full list of variables.