What it does
This MCP server bridges Claude and Jupyter notebooks, exposing tools to list and manage notebook files, kernels, and cells. It enables real-time notebook interaction: read cell source and outputs, execute code, insert or modify cells, and restart kernels. The server tracks cell execution feedback and understands the full notebook context, supporting both text and multimodal outputs like images and plots. It works with any MCP client (Claude Desktop, Cursor, Windsurf) and is compatible with local Jupyter, JupyterHub, and Datalayer hosted environments.
Who it's for
Data scientists, engineers, and researchers who want Claude to help develop, debug, and analyze Jupyter notebooks as part of their workflow. Developers building AI-assisted notebook applications, and teams using JupyterHub or Datalayer deployments who want Claude integrated into their environment.
Common use cases
- Have Claude execute code cells and reason over the results, including generated plots and images.
- Debug notebook errors by having Claude read cell outputs and suggest fixes.
- Build analysis code incrementally, with Claude writing and running cells in response to prompts.
- Manage and switch between multiple notebooks while maintaining conversation context.
- Integrate Claude into JupyterLab workflows for real-time development assistance.
Setup pitfalls
MCP_TOKENrequired in v1.0.0+: Configure the token in your MCP client settings; earlier versions do not require it.- 3 secrets found: Scanner detected secrets in the repository; verify these are not exposed in configuration templates or documentation.
- Filesystem and network access: Server reads and writes to filesystem and makes network calls; ensure proper isolation if executing untrusted code.
- Requires accessible Jupyter server: Must have a running Jupyter instance (local, JupyterHub, or Datalayer); verify connectivity before configuring.