
Jupyter Notebook
STDIOMCP server for programmatic management and interaction with Jupyter notebooks
MCP server for programmatic management and interaction with Jupyter notebooks
An MCP server for managing and interacting with Jupyter notebooks programmatically.
The server provides six tools for notebook manipulation:
read_notebook_with_outputs
: Read a notebook's content including cell outputs
notebook_path
(string)read_notebook_source_only
: Read notebook content without outputs
notebook_path
(string)read_output_of_cell
: Read output of a specific cell
notebook_path
(string)cell_id
(string)add_cell
: Add new cell to notebook
notebook_path
(string)source
(string)cell_type
(string): "code" or "markdown"position
(integer): insertion index (-1 to append)edit_cell
: Modify existing cell content
notebook_path
(string)cell_id
(string): Unique ID of the cell to editsource
(string)execute_cell
: Execute a specific cell and return its output
notebook_path
(string)cell_id
(string)By using uv to run Jupyter notebooks it's much easier to manage venv and package installations.
Follow uv jupyter docummentation for more details.
uv venv --seed source .venv/bin/activate uv pip install jupyterlab .venv/bin/jupyter lab
NOTE: this environment should be used as UV_PROJECT_ENVIRONMENT
env variable in MCP server (next step). Run in the same folder where Jupyter started.
echo $(pwd)/.venv
PyPi package:
// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "Jupyter-notebook-manager": { "command": "uv", "args": ["run", "--with", "mcp-server-jupyter", "mcp-server-jupyter"], "env": { "UV_PROJECT_ENVIRONMENT": "/path/to/venv_for_jupyter/.venv" } } } }
Git repo fork
// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "Jupyter-notebook-manager": { "command": "uv", "args": [ "run", "--directory", "/Users/inna/mcp-server-jupyter/src/mcp_server_jupyter", "mcp-server-jupyter" ], "env": { "UV_PROJECT_ENVIRONMENT": "/path/to/venv_for_jupyter/.venv" } } } }
Open or create a notebook in JupyterLab/Jupyter Notebook
Get the full path to your notebook:
In Claude Desktop chat:
/Users/username/projects/my_notebook.ipynb
Important Notes:
This project is licensed under the MIT License. See the LICENSE file for details.