πͺ π§ Model Context Protocol (MCP) Server for Jupyter.
πͺ π§ Model Context Protocol (MCP) Server for Jupyter.
Is it safe?
No known CVEs for jupyterlab. 5 previously resolved.
No authentication β any process on your machine can connect to this server.
BSD-3-Clause. View license β
Last scanned 0 days ago.
Is it maintained?
Last commit 1 days ago. 976 GitHub stars.
Will it work with my client?
Transport: stdio, sse, http. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
How much context will it use?
17 tools. Estimated ~900 tokens of your context window (0.4% of 200K).
What if it doesn't work?
Common issues: JSON syntax errors in config, Python version mismatch, network or firewall blocking. Setup guide covers troubleshooting. Or check GitHub issues for known problems.
{
"mcpServers": {
"jupyter": {
"env": {
"JUPYTER_URL": "http://localhost:8888",
"JUPYTER_TOKEN": "MY_TOKEN",
"ALLOW_IMG_OUTPUT": "true"
},
"args": [
"jupyter-mcp-server@latest"
],
"command": "uvx"
}
}
}This server supports HTTP transport. Be the first to test it β help the community know if it works.
list_filesList files and directories in the Jupyter server's file system.
list_kernelsList all available and running kernel sessions on the Jupyter server.
connect_to_jupyterConnect to a Jupyter server dynamically without restarting the MCP server. Not available when running as Jupyter extension. Useful for switching servers dynamically or avoiding hardcoded configuration.
use_notebookConnect to a notebook file, create a new one, or switch between notebooks.
list_notebooksList all notebooks available on the Jupyter server and their status
restart_notebookRestart the kernel for a specific managed notebook.
unuse_notebookDisconnect from a specific notebook and release its resources.
read_notebookRead notebook cells source content with brief or detailed format options.
read_cellRead the full content (Metadata, Source and Outputs) of a single cell.
insert_cellInsert a new code or markdown cell at a specified position.
Last scanned just now
No open vulnerabilities. 5 fixed CVEs.
CVE-2025-59842FixedJupyterLab LaTeX typesetter links did not enforce `noopener` attribute
Have you used this server?
Share your experience β it helps other developers decide.
Sign in to write a review.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Links generated with LaTeX typesetters in Markdown files and Markdown cells in JupyterLab and Jupyter Notebook did not include the `noopener` attribute. This is deemed to have no impact on the default installations. Theoretically users of third-party LaTeX-rendering extensions could find themselves vulnerable to reverse tabnabbing attacks if: - links generated by those extensions included `target=_blank` (no such extensions are known at time of writing) and - they were to click on a link genera
CVE-2024-43805FixedHTML injection in Jupyter Notebook and JupyterLab leading to DOM Clobbering
### Impact The vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. ### Patches JupyterLab v3.6.8, v4.2.5 and Jupyter Notebook v7.2.2 were patched. ### Workarounds There is no workaround for the underlying DOM Clobbering susceptibility. However, select plugins
CVE-2024-22421FixedJupyterLab vulnerable to potential authentication and CSRF tokens leak
### Impact Users of JupyterLab who click on a malicious link may get their `Authorization` and `XSRFToken` tokens exposed to a third party when running an older `jupyter-server` version. ### Patches JupyterLab 4.1.0b2, 4.0.11, and 3.6.7 were patched. ### Workarounds No workaround has been identified, however users should ensure to upgrade `jupyter-server` to version 2.7.2 or newer which includes a redirect vulnerability fix. ### References Vulnerability reported by user @davwwwx via the [bug
CVE-2024-22420FixedJupyterLab vulnerable to SXSS in Markdown Preview
### Impact The vulnerability depends on user interaction by opening a malicious notebook with Markdown cells, or Markdown file using JupyterLab preview feature. A malicious user can access any data that the attacked user has access to as well as perform arbitrary requests acting as the attacked user. ### Patches JupyterLab v4.0.11 was patched. ### Workarounds Users can either disable the table of contents extension by running: ```bash jupyter labextension disable @jupyterlab/toc-extension
CVE-2021-32797FixedPYSEC-2021-130
JupyterLab is a user interface for Project Jupyter which will eventually replace the classic Jupyter Notebook. In affected versions untrusted notebook can execute code on load. In particular JupyterLab doesnβt sanitize the action attribute of html `<form>`. Using this it is possible to trigger the form validation outside of the form itself. This is a remote code execution, but requires user action to open a notebook.