nteract
A fast, modern toolkit for Jupyter notebooks. Native desktop app with instant startup, realtime sync across windows and agents, and intelligent environment management.
Built on runtimelib and jupyter-protocol.
Install
Download the latest release from GitHub Releases.
The desktop app bundles everything — runt CLI and runtimed daemon.
The runt CLI and runtimed Python bindings ship with the app and stay up to date automatically. For nightly builds, use runt-nightly instead.
What's in here
| Component | Description |
|---|
nteract | Desktop notebook editor (Tauri + React) |
runtimed | Background daemon — environment pools, notebook sync, kernel execution |
runt | CLI for managing kernels, notebooks, and the daemon |
runtimed (Python) | Python bindings for the daemon (ships with the app) |
MCP Server
The nteract MCP server connects AI assistants to Jupyter notebooks through the daemon. Agents get 27 tools for working with notebooks — executing code, reading and writing cells, managing dependencies, and collaborating in real-time alongside humans in the desktop app.
The MCP server ships with the desktop app as runt mcp.
Quick Start
Claude Code
# Stable
claude mcp add nteract -- runt mcp
# Nightly
claude mcp add nteract-nightly -- runt-nightly mcp
Manual JSON config
{
"mcpServers": {
"nteract": {
"command": "runt",
"args": ["mcp"]
}
}
}
The runt CLI ships with the desktop app. Use runt (stable) or runt-nightly directly — no PyPI install needed.
Usage
# Open a notebook
runt notebook path/to/notebook.ipynb
# Interactive console
runt jupyter console
# Daemon management
runt daemon status
runt daemon logs -f
List open notebooks with kernel and environment info:
$ runt notebooks
╭──────────────────────────────────────┬────────┬──────────────┬────────┬───────╮
│ NOTEBOOK │ KERNEL │ ENV │ STATUS │ PEERS │
├──────────────────────────────────────┼────────┼──────────────┼────────┼───────┤
│ ~/notebooks/blobstore.ipynb │ python │ uv:inline │ idle │ 1 │
│ d4c441d3-d862-4ab0-afe6-ff9145cc2f3d │ python │ uv:prewarmed │ idle │ 1 │
╰──────────────────────────────────────┴────────┴──────────────┴────────┴───────╯
Project structure
nteract/desktop
├── src/ # Shared UI code (React components, hooks, utilities)
│ ├── bindings/ # TypeScript types generated from Rust (ts-rs)
│ ├── components/
│ │ ├── ui/ # shadcn primitives (button, dialog, etc.)
│ │ ├── cell/ # Notebook cell components
│ │ ├── outputs/ # Output renderers (stream, error, display data)
│ │ ├── editor/ # CodeMirror editor
│ │ ├── isolated/ # Iframe security isolation (IsolatedFrame, CommBridgeManager)
│ │ └── widgets/ # ipywidgets controls
│ ├── hooks/ # Shared hooks (useSyncedSettings, useTheme)
│ ├── isolated-renderer/ # Code that runs inside isolated iframes
│ ├── lib/ # Shared utilities (cn(), dark-mode, error-boundary)
│ └── styles/ # Global stylesheets
├── apps/ # App entry points
│ └── notebook/ # Notebook Tauri frontend
├── crates/ # Rust code
│ ├── runt/ # CLI binary
│ ├── runtimed/ # Background daemon
│ ├── runtimed-py/ # Python bindings for the daemon
│ ├── runtimed-wasm/ # WASM Automerge bindings for frontend (same automerge crate as daemon)
│ ├── notebook/ # Notebook Tauri app
│ ├── notebook-doc/ # Shared Automerge document operations (cells, metadata, sync)
│ ├── notebook-protocol/ # Notebook wire protocol types
│ ├── notebook-sync/ # Notebook sync layer
│ ├── kernel-launch/ # Shared kernel launching API
│ ├── kernel-env/ # Environment progress reporting
│ ├── runt-mcp/ # Rust-native MCP server for notebook interaction
│ ├── runt-trust/ # HMAC trust verification
│ ├── runt-workspace/ # Workspace detection utilities
│ ├── runtimed-client/ # Shared client library for daemon communication
│ ├── repr-llm/ # LLM-friendly text summaries of visualization specs
│ ├── xtask/ # Build automation tasks
│ └── mcp-supervisor/ # nteract-dev MCP server (proxies runt mcp + adds dev tools)
├── python/ # Python packages
│ ├── runtimed/ # PyPI: runtimed (Python bindings for daemon)
│ ├── nteract/ # PyPI: nteract (MCP server)
│ └── gremlin/ # Stress-testing agent for nteract notebooks (not published)
├── docs/ # User-facing documentation
└── contributing/ # Developer guides
Development