Jupyter MCP Server for Claude Desktop

by harshitha-8

392 downloads
Not rated
GitHub

About

Jupyter MCP Server Jupyter MCP Server is an implementation of the Model Context Protocol (MCP) server that enables interaction with Jupyter notebooks running in any JupyterLab environment, including your local JupyterLab instance

Details

Author
harshitha-8
Downloads
392
Categories
Search

- Provides an MCP server interface for Jupyter notebooks.
- Supports real-time collaboration via JupyterLab.
- Integrates smoothly with Claude Desktop on all platforms.
- Programmatically add and execute code or markdown cells.
- Runs inside Docker for easy deployment.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Jupyter MCP Server for Claude Desktop
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the server Docker image or use Smithery, configure it in Claude Desktop’s MCP settings with environment variables SERVER_URL, TOKEN, and NOTEBOOK_PATH, then start JupyterLab on port 8888. The server provides two tools: add_execute_code_cell and add_markdown_cell.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "jupyter mcp server for claude desktop": {
            "Integrating-the-Jupyter-server-with-claude-desktop-uisng-the-powerful-model-context-protocol": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@datalayer/jupyter-mcp-server",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "Integrating-the-Jupyter-server-with-claude-desktop-uisng-the-powerful-model-context-protocol": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@datalayer/jupyter-mcp-server",
            "--client",
            "claude"
        ]
    }
}

Jupyter MCP Server for Claude Desktop

An implementation of the Model Context Protocol (MCP) server that enables interaction with Jupyter notebooks running in any JupyterLab environment, including local instances. Designed for seamless integration with Claude Desktop across macOS, Windows, and Linux.

---

🚀 Features

- Provides an MCP server interface for Jupyter notebooks.
- Supports real-time collaboration via JupyterLab.
- Integrates smoothly with Claude Desktop (macOS, Windows, Linux).
- Programmatically add and execute code or markdown cells in notebooks.

---

📦 Getting Started

✅ Prerequisites

Ensure you have the following installed:

- JupyterLab (version 4.4.1)
- jupyter-collaboration (version 4.0.2)
- ipykernel
- datalayer_pycrdt (version 0.12.15)

🛠 Installation

pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.15

---

▶️ Starting JupyterLab

jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

Alternatively, you can use:

make jupyterlab

> --ip 0.0.0.0 allows access from the MCP server running inside Docker.

---

💻 Integration with Claude Desktop

Claude Desktop is available on macOS and Windows. Linux users can use an unofficial build script via Nix.

🔧 Configuration (macOS / Windows)

{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "-e", "SERVER_URL", "-e", "TOKEN", "-e", "NOTEBOOK_PATH",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "SERVER_URL": "http://host.docker.internal:8888",
        "TOKEN": "MY_TOKEN",
        "NOTEBOOK_PATH": "notebook.ipynb"
      }
    }
  }
}

🔧 Configuration (Linux)

{
  "mcpServers": {
    "jupyter": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "-e", "SERVER_URL", "-e", "TOKEN", "-e", "NOTEBOOK_PATH", "--network=host",
        "datalayer/jupyter-mcp-server:latest"
      ],
      "env": {
        "SERVER_URL": "http://localhost:8888",
        "TOKEN": "MY_TOKEN",
        "NOTEBOOK_PATH": "notebook.ipynb"
      }
    }
  }
}

> Make sure SERVER_URL and TOKEN match your JupyterLab setup. NOTEBOOK_PATH is relative to the directory where JupyterLab is started.

---

🛠 Available Tools

| Tool | Description | Input Parameter | Output |
|-------------------------|-------------------------------------------|----------------------|-----------------|
| add_execute_code_cell | Add and execute a code cell in a notebook | cell_content (str) | Cell output |
| add_markdown_cell | Add a markdown cell in a notebook | cell_content (str) | Success message |

---

🐳 Building the Docker Image

make build-docker

---

📦 Installation via Smithery

npx -y @smithery/cli install @datalayer/jupyter-mcp-server --client claude

---

📄 License

See the repository for license details.

---

🔗 Resources

- Official Repository: datalayer/jupyter-mcp-server
- MCP Protocol Documentation: modelcontextprotocol.io

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.