Jupyter MCP Server for Claude Desktop
LocalAbout 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
- 01Connect to JupyterLab notebooks
- 02Add and execute code cells
- 03Add Markdown cells
- 04Support real-time JupyterLab collaboration
Use cases
- 01Run code in a notebook from Claude Desktop
- 02Add analysis code to a notebook
- 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.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEJupyter 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(version4.4.1)jupyter-collaboration(version4.0.2)ipykerneldatalayer_pycrdt(version0.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.0allows 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_URLandTOKENmatch your JupyterLab setup.NOTEBOOK_PATHis 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
Comments
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.