Notebook MCP
# Notebook MCP
AI-Native Intelligence for Jupyter Notebooks
Notebook MCP is a Model Context Protocol (MCP) server that gives AI assistants deep semantic and runtime understanding of `.ipynb` notebooks.
---
## ๐ Motivation
AI coding assistants struggle with notebooks because notebooks rely heavily on execution order and hidden runtime state.
Notebook MCP bridges this gap by converting notebooks into structured, analyzable execution graphs.
---
## โจ Features
### ๐ Static Notebook Intelligence
* Dependency graph generation
* Variable lineage tracking
* Focused context slicing for LLM reasoning
* Deterministic notebook-to-script export
### โก Execution State Awareness
* Detects stale cells
* Detects unexecuted cells
* Generates rerun plans
### ๐ฌ Runtime Jupyter Integration
* Execute code inside kernels
* Inspect variables
* Access kernel metadata
* Stream execution results
---
## ๐๏ธ Architecture
```
Notebook โ MCP Server โ AI Assistant
```
Core Components:
* AST Analysis Engine
* Dependency Graph Builder
* Execution State Engine
* Jupyter Kernel WebSocket Client
* Context Builder for LLMs
---
## ๐ฆ Installation
### npm (Recommended)
```
npm install -g @akram1110/notebook-mcp
```
---
### Python Backend
```
pip install notebook-mcp
```
---
## โ๏ธ Running Server
```
notebook-mcp
```
---
## ๐งน Uninstallation
Notebook MCP installs components via both npm and pip.
Follow the steps below to fully remove the tool.
---
### Step 1 โ Remove npm Wrapper
```
npm uninstall -g @akram1110/notebook-mcp
```
---
### Step 2 โ Remove Python Backend
```
pip uninstall notebook-mcp
```
or
```
python -m pip uninstall notebook-mcp
```
---
### Step 3 โ Confirm Removal
```
notebook-mcp
```
Expected output:
```
command not found
```
---
### Step 4 โ Windows Only: Remove Leftover Executables
Python sometimes leaves launcher files behind.
Check:
```
where notebook-mcp
```
If found, delete from:
```
<python_install_dir>\Scripts\
```
Example:
```
C:\Users\<username>\AppData\Local\Programs\Python\Python311\Scripts\
```
---
### Step 5 โ Clean Corrupted pip Distribution Warnings
If pip shows:
```
WARNING: Ignoring invalid distribution ~
```
Delete folders beginning with `~` inside:
```
<python_install_dir>\Lib\site-packages\
```
Then verify:
```
pip check
```
---
### Step 6 โ Optional Cache Cleanup
```
pip cache purge
```
---
After completing these steps, Notebook MCP will be fully removed from your system.
## ๐ Cursor Integration
```
{
"mcpServers": {
"notebook": {
"command": "notebook-mcp"
}
}
}
```
---
## ๐งช Example MCP Tools
| Tool | Description |
| ------------------- | -------------------------- |
| notebook_analyze | Builds dependency graph |
| notebook_context | Generates focused context |
| notebook_state | Detects execution state |
| notebook_rerun_plan | Suggests rerun order |
| jupyter_execute | Executes kernel code |
| jupyter_inspect | Inspects runtime variables |
---
## ๐ง Jupyter Integration
Set environment variables:
```
JUPYTER_BASE_URL=http://localhost:8888
JUPYTER_TOKEN=<token>
```
---
## ๐ Tech Stack
* Python
* Model Context Protocol (MCP)
* AST Analysis
* NetworkX Graphs
* Jupyter Kernel Protocol
* Node.js CLI Distribution
---
## ๐ฃ๏ธ Roadmap
* Output semantic analysis
* Notebook replay engine
* Incremental notebook graph caching
* Binary distribution support
---
## ๐ค Contributing
Issues and PRs welcome.
---
## ๐ License
MIT License
TDQS
Scored across 13 tools
Most tools have distinct purposes (e.g., execute vs. inspect vs. analyze), but jupyter_execute and jupyter_execution_submit could be confused, and jupyter_execution_output overlaps somewhat with jupyter_inspect.
Uses two prefixes (jupyter_, notebook_) inconsistently; within jupyter_ group, some are verbs (execute, get_kernel) and others are noun phrases (execution_cancel, execution_output), breaking the pattern.
13 tools is well-scoped for a Jupyter notebook server, covering execution, kernel inspection, session management, and notebook analysis without being overwhelming.
Covers core notebook interactions (execute, analyze, export, state) but lacks tools for creating or deleting notebooks/kernels, and no direct session shutdown.