jupyter
πͺ π§ Model Context Protocol (MCP) Server for Jupyter.
claude mcp add --transport stdio datalayer-jupyter-mcp-server python -m jupyter_mcp_server
How to use
This MCP server provides real-time, MCP-compatible control over Jupyter notebooks. It exposes a rich set of tools that let clients list and manage files, kernels, and notebooks, as well as perform per-cell operations and notebook-level actions. Notably, you can use server management tools like list_files, list_kernels, and connect_to_jupyter to discover and switch between Jupyter sessions on the fly. For notebook management, tools such as use_notebook, list_notebooks, restart_notebook, and unuse_notebook help you attach to and switch between multiple notebooks, monitor their status, and manage their lifecycles. When performing code interactions, you can read_cell, insert_cell, delete_cell, overwrite_cell_source, and execute_cell, or run a code block directly with execute_code or insert_execute_code_cell. If youβre using JupyterLab, the server can integrate with jupyter-mcp-tools to expose additional UI-driven commands, such as notebook_run-all-cells and notebook_get-selected-cell.
How to install
Prerequisites:
- Python 3.8 or newer installed on your system
- pip (Python package installer)
-
Create a Python virtual environment (recommended): python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
-
Install the MCP server package from PyPI: pip install jupyter-mcp-server
-
Run the MCP server locally (from the project root or anywhere accessible): python -m jupyter_mcp_server
-
Optional: configure environment variables or command-line options as needed per your deployment (see the project docs for details).
-
If you want to run via a container, pull the Docker image and run as documented in the repository's Docker usage section.
Additional notes
Tips and common considerations:
- The server is designed to be MCP-compatible and works with any MCP client (Claude Desktop, Cursor, Windsurf, etc.).
- When using JupyterLab mode, additional tools from jupyter_mcp_tools may be enabled by default; you can customize which tools are exposed via configuration (allowed_jupyter_mcp_tools).
- If you plan to deploy in a multi-notebook environment, take advantage of multi-notebook management tools (use_notebook, list_notebooks, restart_notebook, unuse_notebook).
- For dynamic Jupyter server changes, you can use connect_to_jupyter to switch contexts without restarting the MCP server.
- Ensure network access between the MCP server and your Jupyter deployments; firewall rules and proper port exposure are common sources of connectivity issues.
Related MCP Servers
mcp -odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
falcon
Connect AI agents to CrowdStrike Falcon for automated security analysis and threat hunting
beemcp
BeeMCP: an unofficial Model Context Protocol (MCP) server that connects your Bee wearable lifelogger to AI via the Model Context Protocol
MCP-MultiServer-Interoperable-Agent2Agent-LangGraph-AI-System
This project demonstrates a decoupled real-time agent architecture that connects LangGraph agents to remote tools served by custom MCP (Modular Command Protocol) servers. The architecture enables a flexible and scalable multi-agent system where each tool can be hosted independently (via SSE or STDIO), offering modularity and cloud-deployable execut
BinAssistMCP
Binary Ninja plugin to provide MCP functionality.
Helios
An AI IDE secure coding MCP service