jupyter-mcp-server  by datalayer

MCP server for Jupyter notebooks

created 5 months ago
548 stars

Top 59.1% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

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

  • Install: 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.
  • Run JupyterLab: jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0 or make jupyterlab.
  • Prerequisites: JupyterLab, jupyter-collaboration, ipykernel, datalayer_pycrdt. Docker is used for the MCP server itself.
  • Setup: Requires installing specific versions of Jupyter packages and the datalayer_pycrdt library. Configuration for external clients like Claude Desktop involves setting environment variables for server URL, token, and notebook path.
  • Docs: MCP documentation website

Highlighted Details

  • Supports programmatic addition and execution of code cells within Jupyter notebooks.
  • Enables adding markdown cells to notebooks.
  • Integrates with Claude Desktop for AI-assisted notebook interaction.
  • Offers Docker image for deployment.

Maintenance & Community

  • Project is maintained by datalayer.
  • Installation via Smithery is supported: npx -y @smithery/cli install @datalayer/jupyter-mcp-server --client claude.

Licensing & Compatibility

  • The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

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.

Health Check
Last commit

1 day ago

Responsiveness

1 week

Pull Requests (30d)
8
Issues (30d)
3
Star History
290 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.