mcpField
J
Jupyter MCP Server for Claude Desktop

Jupyter MCP Server for Claude Desktop

Local
github.com/harshitha-8Data & Analytics0Updated 77w ago

About Jupyter MCP Server for Claude Desktop

Jupyter MCP Server connects Claude Desktop to notebooks in a JupyterLab environment. It supports adding and executing code cells and adding Markdown cells, with JupyterLab collaboration support.

Key features

  1. 01Connect to JupyterLab notebooks
  2. 02Add and execute code cells
  3. 03Add Markdown cells
  4. 04Support real-time JupyterLab collaboration

Use cases

  1. 01Run code in a notebook from Claude Desktop
  2. 02Add analysis code to a notebook
  3. 03Write Markdown notes into a notebook

MCP support

Exposes notebook operations as MCP tools for Claude Desktop, connecting to JupyterLab with a server URL and token. The tools add and execute code cells or add Markdown cells.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"Integrating-the-Jupyter-server-with-claude-desktop-uisng-the-powerful-model-context-protocol": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
Run commandnpx -y @smithery/cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@smithery/cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolDescriptionInput ParameterOutput
add_execute_code_cellAdd and execute a code cell in a notebookcell_content (str)Cell output
add_markdown_cellAdd a markdown cell in a notebookcell_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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.