Jupyter MCP Server

Compatible with any Jupyter deployment (local, JupyterHub, ...) and with [Datalayer](https://datalayer.ai) hosted Notebooks.

Remote serverstreamable-httpPython

What is the Jupyter MCP Server?

Jupyter becomes available to MCP clients through the jupyter mcp server. Compatible with any Jupyter deployment (local, JupyterHub, ...) and with Datalayer hosted Notebooks.

What Jupyter does

Compatible with any Jupyter deployment (local, JupyterHub, ...) and with Datalayer hosted Notebooks.

Practical notes

  • Maintained by datalayer, written in Python.

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
list_filesList files and directories in the Jupyter server's file system.
list_kernelsList all available and running kernel sessions on the Jupyter server.
launch_sandboxLaunch a code sandbox (eval/docker/jupyter/datalayer/kaggle/colab/monty/modal) as an alternative execution backend for execute_code. Supports variant-specific options including GPU flavor for supported backends. Requires
list_sandboxesList launched code sandboxes and their state (active flag, variant, status, and selected code sandbox options). Requires the jupyter_mcp_sandboxes extension.
use_sandboxSelect or clear the active sandbox used by execute_code, enabling dynamic routing between kernel-backed and sandbox-backed execution. Requires the jupyter_mcp_sandboxes extension.
terminate_sandboxStop and unregister a launched code sandbox. Requires the jupyter_mcp_sandboxes extension.
connect_to_jupyterConnect to a Jupyter server dynamically without restarting the MCP server. *Not available when running as Jupyter extension. Useful for switching servers dynamically or avoiding hardcoded configuration.* [Read more](http
use_notebookConnect to a notebook file, create a new one, or switch between notebooks.
list_notebooksList all notebooks available on the Jupyter server and their status
restart_notebookRestart the kernel for a specific managed notebook.
unuse_notebookDisconnect from a specific notebook and release its resources.
read_notebookRead notebook cells source content with brief or detailed format options.
read_cellRead the full content (Metadata, Source and Outputs) of a single cell.
insert_cellInsert a new code or markdown cell at a specified position.

How to install the Jupyter MCP Server

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

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
JUPYTER_URLDeclared in the maintainer’s client configuration.Check documentation
JUPYTER_TOKENDeclared in the maintainer’s client configuration.Check documentation
ALLOW_IMG_OUTPUTDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

  • “Use Jupyter to list files.”
  • “Use Jupyter to list kernels.”
  • “Use Jupyter to launch sandbox.”

Frequently asked questions

Compatible with any Jupyter deployment (local, JupyterHub, ...) and with [Datalayer](https://datalayer.ai) hosted Notebooks. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.