Interact with Jupyter notebooks running in any JupyterLab environment, supporting real-time control and smart execution of notebook cells.
🚨 BREAKING CHANGE Since version
0.6.0
, the configuration has changed. Read more in the release notes.
Jupyter MCP Server is a Model Context Protocol (MCP) server implementation that provides interaction with 📓 Jupyter notebooks running in any JupyterLab or Notebook>=7.
This works also with your 💻 local Jupyter and with Datalayer hosted Notebooks.
🛠️ This MCP offers multiple tools such as insert_execute_code_cell
, append_markdown_cell
, get_notebook_info
, read_cell
, and more, enabling advanced interactions with Jupyter notebooks. Explore our tools documentation to learn about all the tools powering Jupyter MCP Server.
For comprehensive setup instructions—including Streamable HTTP
transport and advanced configuration—check out our documentation. Or, get started quickly with JupyterLab
and stdio
transport here below.
pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
pip uninstall -y pycrdt datalayer_pycrdt
pip install datalayer_pycrdt==0.12.17
# make jupyterlab
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
[!NOTE]
Ensure the
port
of theROOM_URL
andRUNTIME_URL
match those used in thejupyter lab
command.The
ROOM_ID
which is the path to the notebook you want to connect to, should be relative to the directory where JupyterLab was started.In a basic setup,
ROOM_URL
andRUNTIME_URL
are the same.ROOM_TOKEN
, andRUNTIME_TOKEN
are also the same.
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ROOM_URL",
"-e",
"ROOM_TOKEN",
"-e",
"ROOM_ID",
"-e",
"RUNTIME_URL",
"-e",
"RUNTIME_TOKEN",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"ROOM_URL": "http://host.docker.internal:8888",
"ROOM_TOKEN": "MY_TOKEN",
"ROOM_ID": "notebook.ipynb",
"RUNTIME_URL": "http://host.docker.internal:8888",
"RUNTIME_TOKEN": "MY_TOKEN"
}
}
}
}
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ROOM_URL",
"-e",
"ROOM_TOKEN",
"-e",
"ROOM_ID",
"-e",
"RUNTIME_URL",
"-e",
"RUNTIME_TOKEN",
"--network=host",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"ROOM_URL": "http://localhost:8888",
"ROOM_TOKEN": "MY_TOKEN",
"ROOM_ID": "notebook.ipynb",
"RUNTIME_URL": "http://localhost:8888",
"RUNTIME_TOKEN": "MY_TOKEN"
}
}
}
}
For detailed instructions on configuring various MCP clients—including Claude Desktop, VS Code, Cursor, Cline, and Windsurf — see the Clients documentation.
Looking for blog posts, videos, or other materials about Jupyter MCP Server?
👉 Visit the Resources section.
Provides multi-cluster Kubernetes management and operations using MCP, It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
Official MCP server for Sentry.
MCP Server that exposes Creatify AI API capabilities for AI video generation, including avatar videos, URL-to-video conversion, text-to-speech, and AI-powered editing tools.
Execute any LLM-generated code in the YepCode secure and scalable sandbox environment and create your own MCP tools using JavaScript or Python, with full support for NPM and PyPI packages
Search and access Laravel documentation from version 6.x onwards, with automatic daily updates.
Provides multi-cluster Kubernetes management and operations using MCP, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
Official Zeplin server for AI-assisted UI development.
An MCP server with built-in GitHub OAuth support, designed for deployment on Cloudflare Workers.
Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.
Control Android devices using the Android Debug Bridge (ADB).