Skip to directory

Jupyter MCP

Datalayer (maintained by the Jupyter MCP Server project; not operated by the Jupyter project)

Streamable HTTP for hosted endpoint; stdio or Streamable HTTP for self-hosted server.22+ documented tools2

About Jupyter MCP

A Datalayer-maintained MCP server that lets AI clients connect to Jupyter environments, inspect and manage notebooks and cells, run code, and optionally provision code sandboxes.

What you can use it for

  • Inspect Jupyter servers, files, kernels, notebooks, cells, and outputs.
  • Create, edit, organize, and execute notebook cells when authorized.
  • Run notebooks using local Jupyter, JupyterHub, Datalayer, or documented sandbox backends.
  • Read and explore data available to the connected notebook identity.
Connection and setup
Hosting
Hosted Datalayer Streamable HTTP endpoint with browser OAuth; alternatively local stdio or self-hosted HTTP against Jupyter/JupyterHub.
Transport
Streamable HTTP for hosted endpoint; stdio or Streamable HTTP for self-hosted server.
Endpoint
https://mcp.datalayer.run/mcp
Authentication
Hosted Datalayer endpoint uses an OAuth 2.1 browser sign-in and user-approved scopes; Datalayer also supports personal access tokens. Documented scopes include notebooks:read, notebooks:write, code:execute, and data:read. Self-hosted Jupyter configurations require the Jupyter server token or separately configured document/code-sandbox credentials.

Requirements

  • Hosted mode requires a client supporting remote Streamable HTTP MCP and OAuth browser authorization, plus a Datalayer account.
  • Local stdio mode requires uv 0.6.14 or later, a Jupyter server reachable from the MCP process, and its JUPYTER_TOKEN or separately configured document/code-sandbox credentials.
  • For the documented local JupyterLab quick start, install jupyterlab, jupyter-collaboration, jupyter-mcp-tools, and ipykernel.
  • Sandbox lifecycle tools and non-Jupyter-server sandbox variants require the optional jupyter_mcp_sandboxes extension and provider-specific configuration.

Setup steps

  1. For hosted use, add the official remote MCP URL https://mcp.datalayer.run/mcp using Streamable HTTP in the MCP client.
  2. When the client opens the browser authorization flow, sign in to Datalayer and approve only the needed scopes: notebooks:read for inspection, notebooks:write for notebook changes, code:execute for code execution, and data:read for datasets/data sources. Datalayer object permissions still limit which notebooks and data the user can access.
  3. Reconnect and inspect the MCP tool inventory. The official generated reference describes a 22-tool snapshot; sandbox and JupyterLab extensions/configuration can change the exposed set.
  4. For local JupyterLab instead of hosted mode, install uv (the docs specify 0.6.14+), run JupyterLab with authentication, then configure command uvx and args [jupyter-mcp-server@latest] with JUPYTER_URL and JUPYTER_TOKEN supplied through secure local environment settings.
  5. Keep JUPYTER_TOKEN, Datalayer tokens, and provider credentials out of source control. Do not use execute_code, execute_cell, notebook writes/deletes, or sandbox termination as a connectivity check.
  6. For a harmless functional check after authorization, list notebooks or read a notebook that the user has approved; do not execute or alter notebook content without explicit authorization.
Tools 22+

The live maintainer snapshot lists 22 tools in the base profile; optional sandbox and JupyterLab tool groups depend on configuration.

  • connect_to_jupyter

    Connect to a Jupyter server dynamically using its URL and token.

    01
  • list_files

    Browse files and directories on the connected Jupyter server.

    02
  • list_kernels

    List available kernels on the connected Jupyter server.

    03
  • use_notebook

    Open and activate a notebook for subsequent cell operations.

    04
  • list_notebooks

    List notebooks previously opened through this server.

    05
  • read_notebook

    Read notebook cells, source, type, and execution counts.

    06
  • restart_notebook

    Restart a notebook kernel.

    07
  • unuse_notebook

    Release a notebook previously activated with use_notebook.

    08
  • insert_cell

    Insert a cell into the active notebook.

    09
  • read_cell

    Read a cell from the active notebook.

    10
  • edit_cell_source

    Make a targeted edit to a cell source.

    11
  • overwrite_cell_source

    Replace the source of a cell.

    12
  • move_cell

    Move a cell within the active notebook.

    13
  • delete_cell

    Delete a cell from the active notebook.

    14
  • clear_cell_output

    Clear a cell output and execution count.

    15
  • execute_cell

    Execute a cell in the active notebook.

    16
  • insert_execute_code_cell

    Insert and execute a code cell.

    17
  • execute_code

    Execute code directly in the active kernel.

    18
  • launch_sandbox

    Launch a code sandbox; requires the optional sandbox extension.

    19
  • list_sandboxes

    List code sandboxes; requires the optional sandbox extension.

    20
  • use_sandbox

    Select a code sandbox; requires the optional sandbox extension.

    21
  • terminate_sandbox

    Terminate a code sandbox; requires the optional sandbox extension.

    22

This server’s available tools can vary by account, permissions, or configuration. The list shown is not its full runtime catalog.

Limitations and notes
  • Notebook code execution can run arbitrary code with the permissions of its configured kernel or sandbox.
  • Notebook and cell tools can change or delete user work; only use them when authorized.
  • Sandbox lifecycle tools require the optional sandbox extension; provider sandboxes may need separate API credentials and setup.
  • OAuth scopes constrain operation types, while Datalayer/Jupyter object permissions still constrain accessible notebooks and data.
  • No MCP initialize, tools/list, or representative tool call was performed; documentation alone does not establish connection or functionality.
Original sources
  • maintainer repository documentation

    Identifies Datalayer as developer/maintainer; documents hosted endpoint https://mcp.datalayer.run/mcp, browser sign-in and scopes, local uvx/Jupyter setup, requirements, and the server capabilities.

  • maintainer generated live protocol reference

    Generated from a live protocol snapshot of the server; records a complete 22-tool base snapshot and describes tool groups, optional sandbox tools, and configuration-sensitive JupyterLab tools.

  • maintainer authentication documentation

    Documents hosted Datalayer OAuth 2.1 integration, the scopes notebooks:read, notebooks:write, code:execute, and data:read, and the need for object-level permissions in addition to scopes.

  • verified maintainer organization profile

    The repository is owned by Datalayer. The selected Datalayer organization avatar was downloaded, decoded as PNG, and visually reviewed on light and dark backgrounds as the organization-logo fallback after the official Jupyter wordmark failed dark-card contrast.

  • maintainer live protocol snapshot

    Maintainer-generated live snapshot documents a complete base surface of 22 tools and one prompt, with additional configuration-sensitive tool groups.

Documentation checked 2026-10-28T00:00:00Z. Connection has not been runtime tested.