1. Conduid
  2. Data
  3. OpenCardboard
MCP server · Data

OpenCardboard

OpenCardboard — local-first chat-to-edit AI video editor. Your footage never leaves your machine.

44Fair

Scored 2 days ago · breakdown

About OpenCardboard

OpenCardboard is an MCP server published by rakesh0x in the Data category: openCardboard — local-first chat-to-edit AI video editor. Your footage never leaves your machine.

The repository has 89 stars and 25 forks, with the last commit 16 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/rakesh0x/OpenCardboard

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about OpenCardboard

Powered by Claude · Grounded in docs

I know everything about OpenCardboard. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.

1 check has not been run yet.

README

Chat-to-edit video editing. Local-first. Open source.

Drop in raw footage. Describe the edit. Watch the real timeline update — cuts, captions, beat sync, motion graphics — while your files never leave your machine.

MIT License · macOS / Windows / Linux · Electron + React + ffmpeg


The screenshot above is a real session: footage imported, transcribed locally, silence removed, captions generated from the transcript, and the video track re-cut to the beat grid of a music track — all driven through the tool API, all undoable with ⌘Z.

Why

Most AI video tools generate fake footage or ship your files to a server. Cutboard is the opposite:

  • Edits real footage. Never generates video. Nothing enters the output that you didn't import. The agent is an editor, not a slot machine.
  • Local-first. Originals stay where they are. Transcription, scene detection, and beat detection run on your machine (whisper.cpp, ffmpeg, local ONNX). Cloud models are opt-in per capability and clearly labeled.
  • The timeline is the source of truth. Every agent edit is a validated operation in an append-only log — exact undo/redo, crash recovery, and MCP clients can edit the project even with the window closed.
  • One tool set, every interface. The built-in chat and any MCP client (Claude Code, Claude Desktop, Codex, Cursor) drive the same 30+ typed tools.

What it does

Footage understanding Word-level transcript (whisper.cpp), scene detection with keyframes, optional VLM scene descriptions — all searchable (FTS5 + local embeddings).
Rough cut Removes pauses and repeated takes, keeps your order, reports the duration. One atomic undo.
Transcript editing "Cut to the brushes whenever I mention them" — edit by what was said, timed in milliseconds.
Captions Serif / bold / karaoke presets generated from word timings; styled, placed, batched.
Beat sync Local DSP beat detection (BPM, grid, downbeats, sections) → cuts land on the grid with per-section density. Verified at ±1 frame.
Motion graphics The agent writes sandboxed scene-tree compositions (lower thirds, counters, title cards) timed to speech. Edited only via chat, with a look-and-fix loop.
Reference style Analyze a reference video's cut rhythm and color stats; copy the properties you choose. The reference footage never enters your edit.
Effects & keyframes Brightness/contrast/saturation/blur with keyframed animation; speed ramps and time remap.
Export Presets for TikTok/Reels/Shorts, YouTube, Square — hardware-encoded (VideoToolbox/NVENC/QSV/AMF) with a mixed, ducked audio track. Frame-accurate: output matches the preview. Plus OTIO hand-off to Resolve/Premiere/FCP.

Quick start

git clone <your-fork-url> cutboard && cd cutboard
pnpm install
pnpm fetch:ffmpeg        # bundled LGPL ffmpeg/ffprobe (optional — falls back to PATH)
pnpm dev                 # apps/desktop → Electron dev server
  1. Create a project and import media (⌘I).
  2. Wait for analysis — proxies, transcript (✓ analyzed badge). The first ASR model download is ~150 MB; manage models in Settings → AI.
  3. Ask the agent — open the AI chat tab and try the prompts in docs/prompts/. Configure a provider (Anthropic / OpenAI / Google, or run fully local with Ollama) in the chat's ⚙ AI settings.

Verified smoke run on Apple Silicon: 12.6s speech clip → analyzed in ~20s (base.en), silence removal cut 2.5s, 8 karaoke caption cards, 121 BPM detected on a 120 BPM click track, 20 beat-synced cuts, 1080p export.

Drive it from your own agents (MCP)

Cutboard ships a local MCP server (loopback only, per-install bearer token). Enable it in Settings → MCP, then:

# Claude Code
claude mcp add --transport http cutboard http://127.0.0.1:8629/mcp \
  --header "Authorization: Bearer <token from Settings>"

# Codex / Cursor / Claude Desktop — see the copy-paste snippets in Settings → MCP,
# or use the stdio shim:  npx cutboard-mcp

Privacy: external agents receive text (transcripts, scene descriptions, timeline JSON) and frames only when they call captureFrame — never your source files.

Architecture

┌─────────────────────────── Desktop app (one install) ───────────────────────────┐
│ Renderer (React editor, canvas compositor, sandboxed motion-graphics iframe)     │
│      ▲ typed IPC (contextBridge, zod-validated, sandboxed preload)               │
│ Main process — source of truth                                                   │
│   ├─ Project service   SQLite (WAL) + append-only op log, undo/redo              │
│   ├─ Tool registry     30+ zod-typed tools — chat and MCP share one catalog      │
│   ├─ Agent runtime     Vercel AI SDK → Anthropic / OpenAI / Google / Ollama      │
│   ├─ MCP server        127.0.0.1 Streamable HTTP + token + stdio shim            │
│   ├─ Job manager       resumable ingest/export queue (SQLite-backed)             │
│   └─ Analysis          whisper.cpp ASR · scene detect · beats DSP · embeddings   │
│ Sidecars: bundled ffmpeg/ffprobe (LGPL) · hidden render window → hw encode       │
└──────────────────────────────────────────────────────────────────────────────────┘

Timeline state lives in the main process and changes only through ops (item.trim, item.split, batch, …). The UI, the built-in agent, and MCP clients are all just clients of the same op log — which is why undo works everywhere and agents can edit headless. Core op semantics (ripple, split, trim, inverses) are pure TypeScript with 46 unit tests (packages/editor-core).

Repository layout

apps/desktop        Electron app (main / preload / renderer)
apps/mcp-shim       stdio ⇄ loopback-HTTP bridge for MCP clients
packages/schema     zod data model + op catalog (single source of truth)
packages/editor-core  pure op engine: apply/invert, ripple, snapping, history
packages/tools      tool catalog shared by chat + MCP
packages/renderer   canvas compositor + motion-graphics runtime + validators
packages/agent      system prompt, provider notes
scripts/            logo generator, ffmpeg/whisper fetchers
docs/               decisions, prompts, screenshots

Packaging

pnpm --dir apps/desktop dist        # signed builds need certs; unsigned otherwise
pnpm --dir apps/desktop dist:dir    # fast unpacked build (mac verified)

Config in apps/desktop/electron-builder.yml (dmg / NSIS / AppImage). Bundled ffmpeg is LGPL — no GPL components; see THIRD_PARTY_LICENSES.md for the codec distribution notes.

Status & roadmap

Shipped: all ten desktop milestones — see docs/DECISIONS.md for every resolved decision and docs/prompts/ for copy-paste agent prompts.

Next up, in rough order: mask tracking + SAM-based background removal (ONNX sidecar), project bundle portability (per-project project.db), batch-over-folder flows, signed + notarized installers, stock media search (Pexels/Freesound).

Contributing

PRs welcome. pnpm test (vitest), pnpm typecheck, pnpm lint should all pass — packages/editor-core changes need tests. Keep the privacy rule sacred: nothing leaves the machine unless the user explicitly configured a cloud provider for that capability.

License

MIT — see LICENSE. The wordmark embeds Montserrat (SIL OFL 1.1) as outlines. Not affiliated with any commercial product.

README fetched from the repository 2 days ago. The original is authoritative.

Questions

About OpenCardboard

How do I install OpenCardboard?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is OpenCardboard safe to use with an AI agent?

Its trust score is 44 out of 100 (fair). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is OpenCardboard still maintained?

Yes — the last commit was 16 days ago. The repository has 89 stars and 25 forks and 1 open issues.