Jupyter MCP Server
Datalayer's MCP server for Jupyter: the agent opens notebooks, edits cells and runs code in a live JupyterLab session
Install
/plugin marketplace add datalayer/jupyter-mcp-server
/plugin install datalayerAdds /datalayer:notebook, /datalayer:run and /datalayer:status.
This is third-party code. Review the repository files before installing.
What it does
The server connects the agent to a running Jupyter Server, JupyterHub or Datalayer's hosted notebooks. The agent browses files and kernels, opens and creates notebooks, reads, inserts, moves and edits cells, clears outputs and runs code. Changes appear in JupyterLab immediately, and when a cell fails the agent sees the output and can fix the code. Image and plot outputs are supported. Besides local Jupyter, code can run in cloud sandboxes such as Kaggle, Google Colab, Modal or E2B.
Who it is for. For data analysts and ML engineers who work in Jupyter notebooks and want to hand parts of the analysis to an agent.
Good fit when
- You want the agent to do exploratory analysis in an open notebook
- You need failing cells fixed and the computation rerun
- You need agent code to run on a remote kernel or GPU
Not a fit when
- Agent code must not run in the kernel: the server executes arbitrary code
- The project does not use Jupyter and plain scripts are enough
Example request
Open analysis.ipynb, load sales.csv, plot monthly sales and describe the outliersLimitations
Requires a running JupyterLab with jupyter-collaboration and uv 0.6.14 or newer. jupyter-mcp-server and code-sandboxes versions must match, or execution fails with an unknown sandbox variant error. Local mode needs no external services; Datalayer's hosted server and cloud sandboxes need accounts.
How to disable. Remove the jupyter block from the MCP config. In Claude Code uninstall the datalayer plugin via /plugin.
MCP
- Transport
- stdio, http
- Authentication
- API key
| Environment variables | |
|---|---|
| JUPYTER_URL required | Jupyter Server URL |
| JUPYTER_TOKEN required, secret | Jupyter Server access token |
| DOCUMENT_ID | Default notebook path relative to the JupyterLab start folder |
| ALLOW_IMG_OUTPUT | false disables sending image outputs |
Security check
- Runs arbitrary code in the Jupyter kernel
- Edits and deletes notebook cells
README in short
The README opens with news: Datalayer's hosted server, a Claude Code plugin, OAuth sign-in and version compatibility requirements. It then lists tool groups, step-by-step JupyterLab setup and client configs via uvx or Docker. Code sandbox variants and usage recommendations are covered separately. BSD-3-Clause licensed.
FAQ
How do I check JupyterLab is set up correctly?
Edit a cell: the unsaved marker on the tab should change on its own within seconds. That means collaboration is working.
What if the model cannot read images?
Set ALLOW_IMG_OUTPUT=false so plots are not sent to the agent as images.
Related
166 skills for scientific work: bioinformatics, cheminformatics, clinical data, geospatial analysis and 100+ databases
Google's open-source MCP server for databases: ready tools for Postgres, MySQL, BigQuery, Spanner and more, plus custom tools in tools.yaml
Official Hugging Face skills: Hub operations via the hf CLI, datasets, model training, Spaces, evals and deployment
A token-lean MCP server for PostgreSQL, MySQL, MariaDB, SQL Server and SQLite with a read-only mode