🪐 ✨ Jupyter MCP Server
Jupyter MCP Server is a Model Context Protocol (MCP) server implementation that provides interaction with 📓 Jupyter notebooks running in any JupyterLab (works also with your 💻 local JupyterLab).
Start JupyterLab
Make sure you have the following installed. The collaboration package is needed as the modifications made on the notebook can be seen thanks to Jupyter Real Time Collaboration.
pip install jupyterlab jupyter-collaboration ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt
Then, start JupyterLab with the following command.
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
You can also run make jupyterlab
.
[!NOTE]
The
--ip
is set to0.0.0.0
to allow the MCP server running in a Docker container to access your local JupyterLab.
Use with Claude Desktop
Claude Desktop can be downloaded from this page for macOS and Windows.
For Linux, we had success using this UNOFFICIAL build script based on nix
# ⚠️ UNOFFICIAL
# You can also run `make claude-linux`
NIXPKGS_ALLOW_UNFREE=1 nix run github:k3d3/claude-desktop-linux-flake
--impure
--extra-experimental-features flakes
--extra-experimental-features nix-command
To use this with Claude Desktop, add the following to your claude_desktop_config.json
(read more on the MCP documentation website).
[!IMPORTANT]
Ensure the port of the
SERVER_URL
andTOKEN
match those used in thejupyter lab
command.The
NOTEBOOK_PATH
should be relative to the directory where JupyterLab was started.
Claude Configuration on macOS and 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"
}
}
}
}
Claude Configuration on Linux
CLAUDE_CONFIG=${HOME}/.config/Claude/claude_desktop_config.json
cat <<EOF > $CLAUDE_CONFIG
{
"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"
}
}
}
}
EOF
cat $CLAUDE_CONFIG
Components
Tools
The server currently offers 2 tools:
add_execute_code_cell
- Add and execute a code cell in a Jupyter notebook.
- Input:
cell_content
(string): Code to be executed.
- Returns: Cell output.
add_markdown_cell
- Add a markdown cell in a Jupyter notebook.
- Input:
cell_content
(string): Markdown content.
- Returns: Success message.
Building
You can build the Docker image it from source.
make build-docker
Installing via Smithery
To install Jupyter MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @datalayer/jupyter-mcp-server --client claude
Jupyter MCP Server
Project Details
- datalayer/jupyter-mcp-server
- Other
- Last Updated: 4/21/2025
Categories
Recomended MCP Servers
A Model Context Protocol Server for Pica
mcp metabase
MCP server providing semantic memory and persistent storage capabilities for Claude using ChromaDB and sentence transformers.
This is an MCP (Model Context Protocol) Server for discovering and downloading 3D models
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
The definitive Vibe Coder's sanity check MCP server: Prevent cascading errors in AI workflows by implementing strategic pattern...
k6 MCP server
Store and load JSON documents from LLM tool use
A MCP server that enables Claude to discover and call any API endpoint through semantic search. Intelligently chunks...
Simple MCP Server to enable a human-in-the-loop workflow in tools like Cline and Cursor.
An MCP server to wrap ripgrep
MCP Server for blockchain interactions with Web DApp for secure transaction signing