πͺ β¨ Jupyter MCP Server
Jupyter MCP Server is a Model Context Protocolβ (MCP) server implementation that provides interaction with Jupyter notebooks π running in a local JupyterLab π».
Start JupyterLab
Make sure you have the following installed. The modifications made on the notebook can be seen thanks to Jupyter Real Time Collaborationβ (RTC).
pip install jupyterlab jupyter-collaboration ipykernel
Then, start JupyterLab with the following command:
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
[!NOTE] The
--ip
is set to0.0.0.0
to allow the MCP server running in a Docker container to access your local JupyterLab.
Usage with Claude Desktop
To use this with Claude Desktop, add the following to your claude_desktop_config.json:
[!IMPORTANT] Ensure the port of the
SERVER_URL
andTOKEN
match those used in thejupyter lab
command. TheNOTEBOOK_PATH
should be relative to the directory where JupyterLab was started.
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"
}
}
}
}
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"
}
}
}
}
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: Success message
add_markdown_cell
- Add a markdown cell in a Jupyter notebook.
- Input:
cell_content
(string): Markdown content
- Returns: Success message
Building
docker build -t datalayer/jupyter-mcp-server .
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