Data as of
Jupyter MCP Server for Claude Desktop: Setup & Config
Jupyter MCP Server lets Claude Desktop inspect, edit, and execute notebooks with live output feedback.
What you can do with Jupyter in Claude Desktop
A live notebook interface combining precise cell edits, execution feedback, and multimodal results.
- Inspect a notebook and repair failed analysis cells with output feedback.
- Create, edit, and execute cells from an MCP assistant.
Before you start: Jupyter in Claude Desktop
- Python
- uv 0.6.14 or later
- A running authenticated Jupyter service
- JupyterLab collaboration setup as documented
- An MCP-compatible client
The environment setup includes ipykernel, pycrdt, and jupyter-mcp-tools, with JupyterLab pinned to 4.4.1 and jupyter-collaboration to 4.0.2. It separately warns that MCP_TOKEN is required from v1.0.0; consult its linked provider setup for that token's configuration. Image output needs compatible clients and models.
Jupyter Claude Desktop configuration
Choose Claude Desktop configuration scope
For Jupyter MCP Server, open macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json. Merge under mcpServers via Settings → Developer → Edit Config when available.
Add Jupyter MCP Server to Claude Desktop
Use the jupyter-mcp-server entry below in mcpServers. Keep Jupyter MCP Server's documented stdio connection fields and your other Claude Desktop entries.
Check Jupyter MCP Server in Claude Desktop
Jupyter MCP Server: Fully quit and reopen Claude Desktop; check developer diagnostics.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jupyter-mcp-server": {
"command": "uvx",
"args": [
"jupyter-mcp-server@latest"
],
"env": {
"JUPYTER_URL": "<URL of the running Jupyter service>",
"JUPYTER_TOKEN": "<Jupyter authentication token>",
"ALLOW_IMG_OUTPUT": "<true for image-capable clients, otherwise false>",
"MCP_TOKEN": "<MCP authentication token required by the README's version 1.0.0 notice>"
}
}
}
}Jupyter tools available to Claude Desktop
Jupyter's stored tool list documents 19 tools; compare it with Claude Desktop's connected tool list, because the stored list is not a live check.
- list_files
When Claude Desktop requests list_files from Jupyter, review the action before approving it.
Enumerate directories and files exposed by the Jupyter service.
- list_kernels
When Claude Desktop requests list_kernels from Jupyter, review the action before approving it.
Inspect available kernels and running kernel sessions.
- connect_to_jupyter
When Claude Desktop requests connect_to_jupyter from Jupyter, review the action before approving it.
Change Jupyter connections without restarting; unavailable in extension mode.
- use_notebook
When Claude Desktop requests use_notebook from Jupyter, review the action before approving it.
Open, create, or switch to a notebook.
- list_notebooks
When Claude Desktop requests list_notebooks from Jupyter, review the action before approving it.
List available notebooks and their current status.
- restart_notebook
When Claude Desktop requests restart_notebook from Jupyter, review the action before approving it.
Restart the kernel for a managed notebook.
- unuse_notebook
When Claude Desktop requests unuse_notebook from Jupyter, review the action before approving it.
Disconnect a notebook and free its associated resources.
- read_notebook
When Claude Desktop requests read_notebook from Jupyter, review the action before approving it.
Read notebook cell sources with brief or detailed output.
- read_cell
When Claude Desktop requests read_cell from Jupyter, review the action before approving it.
Inspect one cell's source, metadata, and outputs.
- insert_cell
When Claude Desktop requests insert_cell from Jupyter, review the action before approving it.
Add a code or Markdown cell at a chosen position.
- delete_cell
When Claude Desktop requests delete_cell from Jupyter, review the action before approving it.
- move_cell
When Claude Desktop requests move_cell from Jupyter, review the action before approving it.
- overwrite_cell_source
When Claude Desktop requests overwrite_cell_source from Jupyter, review the action before approving it.
- edit_cell_source
When Claude Desktop requests edit_cell_source from Jupyter, review the action before approving it.
- execute_cell
When Claude Desktop requests execute_cell from Jupyter, review the action before approving it.
- insert_execute_code_cell
When Claude Desktop requests insert_execute_code_cell from Jupyter, review the action before approving it.
- execute_code
When Claude Desktop requests execute_code from Jupyter, review the action before approving it.
- notebook_run-all-cells
When Claude Desktop requests notebook_run-all-cells from Jupyter, review the action before approving it.
- notebook_get-selected-cell
When Claude Desktop requests notebook_get-selected-cell from Jupyter, review the action before approving it.
Troubleshooting Jupyter in Claude Desktop
- Fully quit and reopen Claude Desktop for Jupyter MCP Server. If uvx jupyter-mcp-server@latest (from uv, for Python tools) is missing, check the desktop process's PATH, which may differ from your terminal.
- In Claude Desktop's Jupyter MCP Server entry, check ALLOW_IMG_OUTPUT, JUPYTER_TOKEN, JUPYTER_URL, MCP_TOKEN. Keep secrets out of shared screenshots and repositories.
- Jupyter MCP Server uses stdio here: Claude Desktop must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Known limitation: Requires a configured Jupyter environment and authentication tokens.
- Known limitation: Image handling depends on client and model capabilities.
- Known limitation: Dynamic server connection is unavailable in Jupyter extension mode.
- General Claude Desktop troubleshooting lives in the /clients/claude-desktop guide.
Jupyter MCP Server — details. Claude Desktop guide