Jupyter MCP Server
Datalayer's MCP server for Jupyter: the agent opens notebooks, edits cells and runs code in a live JupyterLab session
- 1,315 ★ on the repository
- Last commit
- BSD-3-Clause
Broad access
Why this level
- Runs arbitrary code in the Jupyter kernel
- Edits and deletes notebook cells
Install
- Works in
Manual install
/plugin marketplace add datalayer/jupyter-mcp-server
/plugin install datalayerAdds /datalayer:notebook, /datalayer:run and /datalayer:status.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Runs arbitrary code in the Jupyter kernel
- Edits and deletes notebook cells
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 outliersMCP
- Transport
- stdio, http
- Authentication
- API key
Environment variables
JUPYTER_URLrequired- Jupyter Server URL
JUPYTER_TOKENrequired, secret- Jupyter Server access token
DOCUMENT_ID- Default notebook path relative to the JupyterLab start folder
ALLOW_IMG_OUTPUT- false disables sending image outputs
Limitations
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.
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.
Discussion
No questions or reviews yet.
Related
MCP serversColab MCP
colab-mcp
The official Google Colab MCP server: connects a local agent to a Colab session in the browser so code runs on its resources
The official MathWorks MCP server: the agent starts and quits MATLAB, writes and runs code, and checks it for errors and style
MCP server that gives an agent access to MySQL: schema inspection and queries, read-only by default, writes behind flags
MCP server that connects Claude Code and Codex to an open R or Python session in RStudio and Positron, where your data lives
MCP server and CLI to drive real Microsoft Excel: Power Query, DAX, VBA, PivotTables and charts
MCP server for Google Sheets and Google Drive: an agent reads, edits and creates spreadsheets, tabs and charts
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.