MCP server for Jupyter notebooks
Top 59.1% on sourcepulse
This project provides a Model Context Protocol (MCP) server for Jupyter, enabling interaction with Jupyter notebooks from external applications like Claude Desktop. It targets developers and researchers who need to programmatically control and interact with notebook environments, facilitating AI-assisted coding and analysis workflows.
How It Works
The server acts as a bridge, translating MCP requests into actions within a JupyterLab instance. It leverages Jupyter Real Time Collaboration to ensure synchronized notebook state. The core functionality is exposed through tools that can add and execute code cells or add markdown cells, returning the output or success messages.
Quick Start & Requirements
pip install jupyterlab==4.4.1 jupyter-collaboration==4.0.2 ipykernel
followed by pip uninstall -y pycrdt datalayer_pycrdt
and pip install datalayer_pycrdt==0.12.15
.jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
or make jupyterlab
.jupyter-collaboration
, ipykernel
, datalayer_pycrdt
. Docker is used for the MCP server itself.datalayer_pycrdt
library. Configuration for external clients like Claude Desktop involves setting environment variables for server URL, token, and notebook path.Highlighted Details
Maintenance & Community
npx -y @smithery/cli install @datalayer/jupyter-mcp-server --client claude
.Licensing & Compatibility
Limitations & Caveats
The Linux setup for Claude Desktop is marked as UNOFFICIAL. The project relies on specific versions of JupyterLab and jupyter-collaboration
, which might lead to compatibility issues with newer versions.
1 day ago
1 week