mcp-server-jupyter
Manages and interacts with Jupyter notebooks programmatically, providing tools to read, add, edit, and execute cells.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-jupyterRead the notebook at /home/user/analysis.ipynb and show its outputs."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-jupyter
An MCP server for managing and interacting with Jupyter notebooks programmatically.

Components
Tools
The server provides six tools for notebook manipulation:
read_notebook_with_outputs: Read a notebook's content including cell outputsRequired:
notebook_path(string)
read_notebook_source_only: Read notebook content without outputsRequired:
notebook_path(string)Use when size limitations prevent reading full notebook with outputs
read_output_of_cell: Read output of a specific cellRequired:
notebook_path(string)cell_id(string)
add_cell: Add new cell to notebookRequired:
notebook_path(string)source(string)
Optional:
cell_type(string): "code" or "markdown"position(integer): insertion index (-1 to append)
edit_cell: Modify existing cell contentRequired:
notebook_path(string)cell_id(string): Unique ID of the cell to editsource(string)
execute_cell: Execute a specific cell and return its outputRequired:
notebook_path(string)cell_id(string)
Useful for verifying cell execution and output
Usage with Claude Desktop
Step1: Start JupyterLab or Jupyter Notebook
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
Step2: Configure Claude Desctop Add this configuration to your Claude Desktop config file:
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"
}
}
}
}Step 3: Open Notebook & Claude Chat
Open or create a notebook in JupyterLab/Jupyter Notebook
Get the full path to your notebook:
In JupyterLab: Right-click on the notebook in the file browser → "Copy Path"
In Jupyter Notebook: Copy the path from the URL (modify to full system path)
In Claude Desktop chat:
Always use the full path to the notebook when calling tools
Example:
/Users/username/projects/my_notebook.ipynb
Important Notes:
After any modifications through Claude (add_cell, edit_cell):
Reload the notebook page in JupyterLab/Jupyter Notebook
Current version does not support automatic reload
Keep JupyterLab/Jupyter Notebook instance running while working with Claude
License
This project is licensed under the MIT License. See the LICENSE file for details.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ihrpr/mcp-server-jupyter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server