Easy Jupyter Editor MCP
A lightweight Model Context Protocol (MCP) server designed to allow AI Agents to safely and structurally edit Jupyter Notebook (.ipynb) files.
Background
This MCP server was developed to enable AI agents to safely manipulate Jupyter Notebook (.ipynb) files.
In many AI agent environments (such as Antigravity), directly executing notebook files or editing complex .ipynb JSON structures as raw text can be difficult due to security restrictions or the risk of corrupting the file format.
This project aims to "structurally edit Notebook files correctly while bypassing execution permission issues." By using the nbformat library, it allows adding, editing, and deleting cells without breaking the JSON structure.
Features
Provides the following tools:
read_notebook: Retrieves a list of cells (index and content summary) from a Notebook.get_cell: Retrieves the full source code of a specific cell by index.edit_cell: Modifies the content of a specific cell.add_cell: Adds a new code or Markdown cell.delete_cell: Deletes a specific cell.create_notebook: Creates a new, empty Notebook.
Installation & Usage
It is recommended to run this server using uv.
1. Claude Desktop / MCP Client Configuration
Add the following configuration to claude_desktop_config.json.
Running directly from GitHub (Recommended)
{
"mcpServers": {
"easy-jupyter-editor": {
"command": "uv",
"args": [
"run",
"--from",
"git+https://github.com/YourUsername/easy-jupyter-editor-mcp",
"easy-jupyter-editor-mcp"
]
}
}
}
Running Locally for Development
{
"mcpServers": {
"easy-jupyter-editor": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"nbformat",
"python",
"/absolute/path/to/easy-jupyter-editor-mcp/src/easy_jupyter_editor_mcp/__init__.py"
]
}
}
}
2. PyPI (Future Publication)
If published to PyPI, you can configure it simply as:
{
"mcpServers": {
"easy-jupyter-editor": {
"command": "uvx",
"args": ["easy-jupyter-editor-mcp"]
}
}
}
Development
# Build
uv build
# Publish to PyPI
uv publish
Metadata
Release files for easy-jupyter-editor-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| easy_jupyter_editor_mcp-0.1.0.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| easy_jupyter_editor_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.6 kB
Release files / easy_jupyter_editor_mcp-0.1.0.tar.gz
| Download URL | easy_jupyter_editor_mcp-0.1.0.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aec50ea9641313d0e0ad2ac67fe123fa6655fcdfcf2b32910016eb4c37c09ebd
|
|
BLAKE2b-256 checksum How to use checksums |
c7092b648a8cc653507e2e3230a3a2cbc33349897b7899f4b0272bf8f2538189
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / easy_jupyter_editor_mcp-0.1.0-py3-none-any.whl
| Download URL | easy_jupyter_editor_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4860486b7bf607134a958e0e9bc8e39ec44ab9c0ba794d44234e7d7a8f3f6dcb
|
|
BLAKE2b-256 checksum How to use checksums |
71a250a2bc27e4eb49d8a42311b458114dbba8bc41310a3f12855f4d9225e31d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|