Jupyter MCP Server logo

Jupyter MCP Server

by datalayer

Connects AI agents to Jupyter notebooks for real-time management, code execution, and multimodal output handling.

Install Jupyter MCP Server

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "datalayer-jupyter-mcp-server": {
      "command": "uvx",
      "args": [
        "jupyter-mcp-server@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx jupyter-mcp-server@latest

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 25d ago.

Overview

The datalayer/jupyter-mcp-server MCP server connects AI agents to Jupyter notebooks and supports real-time notebook management. It can work with a local Jupyter Server, JupyterHub, Datalayer, or configured code-sandbox backends, including hosted execution options. Notebook context, cell outputs, images, plots, and text are available to support iterative interactions. Reach for it when an agent needs to inspect, execute, or switch between notebooks rather than only edit standalone files.

Use cases

  • Inspect notebook state before taking an action
  • Run analysis cells and react to their outputs
  • Switch between multiple notebooks during an agent session
  • Use plots and images as part of notebook interactions

Key features

  • Real-time notebook state and change access
  • Cell execution with output feedback
  • Multimodal text, image, and plot outputs
  • Multi-notebook workflows
  • Configurable document providers and sandbox variants
  • Local or hosted MCP deployment

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

31/31 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · jupyter-mcp-server@latest (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.3kStargazers on the source repository.
Last commit3d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Jupyter MCP Server works

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Jupyter MCP Server

datalayer/jupyter-mcp-server is an MCP server that connects AI agents to Jupyter notebooks and notebook execution environments. Its main tools support real-time notebook management, cell execution with output feedback, multi-notebook workflows, and handling text, image, and plot results through MCP-compatible clients.

Install the Python package from PyPI or use the published Docker image. You can also use Datalayer's hosted endpoint at `https://mcp.datalayer.run/mcp`, which avoids running a local process. Claude Code users can install the repository plugin with the documented marketplace and plugin commands.

Yes, the README names Cursor as a supported MCP client. Configure Cursor to connect to a local deployment or to the hosted MCP endpoint, then provide the authentication or approval required by the selected deployment.

The documented sandbox variants include Jupyter Server, Datalayer, Daytona, E2B, CoreWeave, Cloudflare, Kaggle, Google Colab, Monty, and Modal. Choose the execution backend separately from the document provider with `--sandbox-variant`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewJupyter MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/datalayer-jupyter-mcp-server?style=directory)](https://allmcps.com/mcp/datalayer-jupyter-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/datalayer-jupyter-mcp-server"><img src="https://allmcps.com/api/badge/datalayer-jupyter-mcp-server?style=directory" alt="Jupyter MCP Server on AllMCPs" /></a>