MCP Directory

How to add Jupyter MCP Server to Claude Desktop

Connect AI to Jupyter Notebooks in real-time — run cells, read outputs, and manage multiple notebooks. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 · 1.2k · stdio · apikey · official

Claude Desktop config for Jupyter MCP Server

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

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Jupyter MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Jupyter MCP Server's tools appear under the 🔌 tools menu.

Before you start

  • A running JupyterLab / Jupyter server (e.g. jupyterlab==4.4.1 with jupyter-collaboration, jupyter-mcp-tools, ipykernel, pycrdt)
  • uv / uvx (0.6.14+) for the quick-start method, or Docker for the production method
  • A Jupyter server token (JUPYTER_TOKEN) and, since v1.0.0, MCP_TOKEN configured in the MCP client

What Jupyter MCP Server can do in Claude Desktop

list_files

List files and directories in the Jupyter server's file system.

list_kernels

List all available and running kernel sessions on the Jupyter server.

connect_to_jupyter

Connect to a Jupyter server dynamically without restarting the MCP server. Not available when running as a Jupyter extension.

use_notebook

Connect to a notebook file, create a new one, or switch between notebooks.

list_notebooks

List all notebooks available on the Jupyter server and their status.

restart_notebook

Restart the kernel for a specific managed notebook.

unuse_notebook

Disconnect from a specific notebook and release its resources.

read_notebook

Read notebook cells source content with brief or detailed format options.

Security

Requires a Jupyter server token (JUPYTER_TOKEN) for authentication; as of v1.0.0 you must also configure MCP_TOKEN in your MCP client setup. The server connects to a running Jupyter/JupyterLab instance and can execute arbitrary code in its kernels, so treat the configured Jupyter endpoint and its token as sensitive.

Jupyter MCP Server + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Jupyter MCP Server config there under the "mcpServers" key and restart the client.

Is Jupyter MCP Server safe to use with Claude Desktop?

Requires a Jupyter server token (JUPYTER_TOKEN) for authentication; as of v1.0.0 you must also configure MCP_TOKEN in your MCP client setup. The server connects to a running Jupyter/JupyterLab instance and can execute arbitrary code in its kernels, so treat the configured Jupyter endpoint and its token as sensitive.

Which transports are supported?

The quick-start uses STDIO transport with uvx (or Docker). The documentation also covers Streamable HTTP transport and running as a Jupyter Server extension.

Do I need to install datalayer_pycrdt?

No. As of v1.0.2, pycrdt is supported directly, so installing datalayer_pycrdt is no longer required.

What changed in v1.0.0?

v1.0.0 introduced a breaking change requiring you to configure MCP_TOKEN in your MCP client setup.

View repo Full Jupyter MCP Server page