# 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.
Canonical: https://www.mcpfolio.com/servers/jupyter-mcp-server
Last updated: 2026-10-28
## Catalog record

- Publisher: Datalayer (maintained by the Jupyter MCP Server project; not operated by the Jupyter project)
- Categories: development

## Website

https://jupyter.org/

## Repository

https://github.com/datalayer/jupyter-mcp-server

## Transports

Streamable HTTP for hosted endpoint; stdio or Streamable HTTP for self-hosted server.

## 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.

## Tools

- **connect_to_jupyter**: Connect to a Jupyter server dynamically using its URL and token.
- **list_files**: Browse files and directories on the connected Jupyter server.
- **list_kernels**: List available kernels on the connected Jupyter server.
- **use_notebook**: Open and activate a notebook for subsequent cell operations.
- **list_notebooks**: List notebooks previously opened through this server.
- **read_notebook**: Read notebook cells, source, type, and execution counts.
- **restart_notebook**: Restart a notebook kernel.
- **unuse_notebook**: Release a notebook previously activated with use_notebook.
- **insert_cell**: Insert a cell into the active notebook.
- **read_cell**: Read a cell from the active notebook.
- **edit_cell_source**: Make a targeted edit to a cell source.
- **overwrite_cell_source**: Replace the source of a cell.
- **move_cell**: Move a cell within the active notebook.
- **delete_cell**: Delete a cell from the active notebook.
- **clear_cell_output**: Clear a cell output and execution count.
- **execute_cell**: Execute a cell in the active notebook.
- **insert_execute_code_cell**: Insert and execute a code cell.
- **execute_code**: Execute code directly in the active kernel.
- **launch_sandbox**: Launch a code sandbox; requires the optional sandbox extension.
- **list_sandboxes**: List code sandboxes; requires the optional sandbox extension.
- **use_sandbox**: Select a code sandbox; requires the optional sandbox extension.
- **terminate_sandbox**: Terminate a code sandbox; requires the optional sandbox extension.

## Sources

- [maintainer_repository_documentation](https://github.com/datalayer/jupyter-mcp-server/blob/main/README.md)
- [maintainer_generated_live_protocol_reference](https://jupyter-mcp-server.datalayer.tech/mcp/)
- [maintainer_authentication_documentation](https://jupyter-mcp-server.datalayer.tech/security/oauth/)
- [verified_maintainer_organization_profile](https://github.com/datalayer)
- [maintainer_live_protocol_snapshot](https://jupyter-mcp-server.datalayer.tech/mcp/)

## Setup

Use the interactive setup panel on [the detail page](https://www.mcpfolio.com/servers/jupyter-mcp-server) to view instructions for each supported client.