# datalayer/jupyter-mcp-server [Health: Active]

**Category:** 🧮 Data Science Tools  
**Repository:** https://github.com/datalayer/jupyter-mcp-server  
**GitHub Stars:** 1313  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/datalayer-jupyter-mcp-server

## Description
Model Context Protocol (MCP) Server for Jupyter.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "jupyter-mcp-server": {
    "command": "uvx",
    "args": ["jupyter-mcp-server@latest"]
  }
}
```

## Documentation

## What datalayer/jupyter-mcp-server MCP server does

The datalayer/jupyter-mcp-server MCP server gives MCP clients access to Jupyter notebook workflows. It is designed for agents that need to observe notebook changes, work with more than one notebook, run code, and use cell output as feedback for later actions. Supported output types include text, images, and plots, allowing clients to work with multimodal notebook results rather than source code alone.

Notebook documents and code execution are configured separately. The document provider can use the collaboration API of a Jupyter Server or Datalayer's notebook service. Execution can use a Jupyter Server-backed sandbox or other listed variants, including Datalayer, Daytona, E2B, CoreWeave, Cloudflare, Kaggle, Google Colab, Monty, and Modal.

## How it works

An MCP client connects to the server and uses its notebook capabilities through the MCP protocol. The server maintains access to notebook context, reports cell outputs, and can adapt execution after a cell fails. This feedback loop is intended for iterative analysis, where the agent needs to see results before deciding what to run next.

The project supports multiple notebooks and includes JupyterLab-oriented behavior such as automatically opening notebooks. It can be run locally against an existing Jupyter installation or accessed through Datalayer's hosted endpoint at `https://mcp.datalayer.run/mcp`. The hosted option removes the need to run a local server process and supports browser-based sign-in and approval.

## Setup and configuration

For local use, install the Python package from PyPI. The repository also publishes a Docker image. A local deployment can point at a Jupyter environment without requiring a Datalayer account. The hosted deployment is an alternative when you want Datalayer to run the MCP endpoint.

OAuth 2.1 is available for hosted authentication. Approved scopes distinguish notebook reading, notebook writing, code execution, and data reading, while the user's existing Datalayer permissions continue to limit notebook access. Personal access tokens remain available for command-line and scripted use.

When configuring document storage, use `--document-provider` and `DOCUMENT_PROVIDER`. The former `--provider` option and `PROVIDER` variable remain accepted as deprecated aliases. Select execution independently with `--sandbox-variant`.

Keep `jupyter-mcp-server` and `code-sandboxes` versions aligned. Versions 1.5.0 and newer require `code-sandboxes` 1.1.1 or newer; earlier server versions require `code-sandboxes` 1.0.9 or earlier. Version 2.0.0 and newer use MCP Python SDK 2, while older releases use an SDK version below 2.

## Tools and capabilities

The datalayer/jupyter-mcp-server MCP server supports:

- Viewing notebook state and receiving changes in real time.
- Running notebook cells and using output feedback after execution.
- Working across multiple notebooks.
- Handling text, image, and plot outputs.
- Connecting notebook documents and execution to separately selected providers.
- Using local Jupyter environments, hosted Datalayer services, or configured sandbox variants.
- Connecting through the hosted MCP endpoint or a local process.

Claude Code users can install the repository's plugin, which adds `/datalayer:notebook`, `/datalayer:run`, and `/datalayer:status` commands.

## Limitations and notes

Execution backends are not interchangeable with document providers; they are selected through separate settings. Sandbox compatibility must be checked when upgrading, because mismatched versions can cause an `Unknown sandbox variant: jupyter` error on execution.

OAuth scope approval does not override the user's Datalayer permissions. An agent can only access notebooks that the authenticated user can access. The repository states that the server works with MCP clients including Claude Desktop, Cursor, and Windsurf; local and hosted deployments may have different authentication and process requirements.

The project is licensed under the BSD 3-Clause License.

_Full upstream README: https://allmcps.com/mcp/datalayer-jupyter-mcp-server/readme_

