notebook-editor
Provides tools for reading, writing, and executing Jupyter notebooks, including cell management (add, edit, delete) and kernel execution (start, list, shutdown, execute code/cell) via jupyter_client.
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., "@notebook-editorexecute cell 0 in demo.ipynb"
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.
Jupyter Notebook Editor MCP Server
A local MCP server for reading, writing, and executing Jupyter notebooks. Uses jupyter_client via ZMQ to communicate directly with kernels — no Jupyter server required.
Features
Notebook File Tools
Tool | Description |
| Read notebook structure and summary |
| Get content of a specific cell by index |
| Create a new empty notebook |
| Add a cell (code/markdown/raw) |
| Edit an existing cell's content |
| Delete a cell by index |
Kernel Execution Tools
Tool | Description |
| Start a new Jupyter kernel |
| List all running kernels |
| Shutdown a running kernel |
| Execute code in a kernel |
| Execute a notebook cell and save outputs back to the file |
Related MCP server: cursor-notebook-mcp
Architecture
MCP Server (TypeScript)
│
├── notebook-file.ts — read/write .ipynb files
│
└── kernel-exec.ts — kernel lifecycle & execution
│
└── kernel_helper.py — Python long-running process
│
└── jupyter_client (ZMQ) — direct kernel communicationThe MCP server spawns a Python helper process that manages kernels via jupyter_client. Commands are sent over stdin/stdout as JSON, avoiding HTTP/CSRF issues entirely.
Setup
Prerequisites
Node.js 18+
Python 3.8+ with
jupyter_clientinstalled
pip install jupyter_clientInstall & Run
npm install
npm run dev # development (tsx)
npm run build # compile TypeScript
npm start # production (node dist/index.js)MCP Client Configuration
{
"mcpServers": {
"notebook-editor": {
"command": "npx",
"args": ["tsx", "/path/to/mcp-servers/notebook-editor/src/index.ts"]
}
}
}Usage
Execute a single cell
start_kernel(name="python3") → kernel_id
execute_cell(file_path="demo.ipynb", cell_index=0, kernel_id="<id>")
shutdown_kernel(kernel_id="<id>")Execute multiple cells with shared state
start_kernel(name="python3") → kernel_id
execute_cell(file_path="demo.ipynb", cell_index=0, kernel_id="<id>")
execute_cell(file_path="demo.ipynb", cell_index=1, kernel_id="<id>")
execute_cell(file_path="demo.ipynb", cell_index=2, kernel_id="<id>")
shutdown_kernel(kernel_id="<id>")Auto-start kernel (single cell)
execute_cell(file_path="demo.ipynb", cell_index=0)
# Kernel auto-starts and shuts down after executionDevelopment
npm install
npm run devLicense
MIT
This server cannot be installed
Maintenance
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/linzk-bit/notebook-editor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server