{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "ronak-create--fablecut",
    "name": "FableCut",
    "tagline": "Zero-dependency browser video editor whose project.json is the interface, with MCP and REST on top.",
    "shortTagline": "Browser video editor",
    "description": "A Premiere-style editor served by one Node file. The whole timeline is a JSON document; an agent patches it over a stdio MCP server or REST and the open browser UI hot-reloads. Filters, keyframes, kinetic captions, animated SVG overlays, and a reference-video analyzer are built in.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "video-streaming",
    "alternativeTo": [
      "CapCut",
      "Descript"
    ],
    "shape": "product",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "unknown",
    "codeStack": {
      "languages": [
        "JavaScript"
      ],
      "frameworks": [
        "Node (no npm dependencies)",
        "ffmpeg",
        "MediaPipe"
      ],
      "packageManager": null,
      "database": [],
      "hostingTarget": [
        "localhost"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/ronak-create/FableCut",
        "owner": "ronak-create",
        "name": "FableCut",
        "license": "MIT",
        "stars": 651,
        "lastCommit": "2026-09-01"
      }
    ],
    "interface": {
      "kind": "mcp",
      "url": "https://github.com/ronak-create/FableCut#driving-it-with-an-ai-agent",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Cut, trim, and arrange clips on 3 video and 4 audio tracks",
        "reachable": true,
        "evidence": "MCP tools fablecut_patch_project, fablecut_set_project, fablecut_get_project"
      },
      {
        "job": "Import media",
        "reachable": true,
        "evidence": "MCP tool fablecut_import_media; REST POST /api/upload"
      },
      {
        "job": "Color grades, filters, adjustment layers, chroma key",
        "reachable": true,
        "evidence": "README: effects are properties in project.json; CLAUDE.md schema served by fablecut_docs"
      },
      {
        "job": "Keyframe animation, speed ramps, transitions",
        "reachable": true,
        "evidence": "README: keyframes and transitions are project.json fields"
      },
      {
        "job": "Titles and kinetic captions",
        "reachable": true,
        "evidence": "README: text clips with title styles and caption animations in the schema"
      },
      {
        "job": "Author animated SVG overlays",
        "reachable": true,
        "evidence": "README: agents can author .svg files; svg clip kind"
      },
      {
        "job": "Analyze a reference reel for beats and structure",
        "reachable": true,
        "evidence": "MCP tool fablecut_analyze_reference; POST /api/analyze"
      },
      {
        "job": "Export the finished video",
        "reachable": false,
        "evidence": "README Notes: export runs in the browser; agents ask you to click Export or render with ffmpeg from media/"
      },
      {
        "job": "AI background removal",
        "reachable": false,
        "evidence": "README: in-browser MediaPipe from the UI"
      },
      {
        "job": "Browse the asset library",
        "reachable": true,
        "evidence": "REST GET /api/library"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/ronak-create/FableCut"
          },
          {
            "kind": "installable",
            "url": "https://github.com/ronak-create/FableCut#quick-start",
            "command": "git clone https://github.com/ronak-create/FableCut.git && cd FableCut && node server.js"
          },
          {
            "kind": "installable",
            "url": "https://registry.modelcontextprotocol.io/v0/servers?search=fablecut",
            "command": "/plugin install fablecut@fablecut"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "skills/edit-video/SKILL.md",
        "skills/remake-reel/SKILL.md"
      ],
      "install": "/plugin marketplace add ronak-create/FableCut",
      "note": "A Claude Code plugin that drives FableCut to edit a video or remake a reel."
    },
    "customization": {
      "summary": "Set FABLECUT_DATA_DIR to keep project.json, media, exports, and library outside the checkout. Edit encoding-profiles.json (hot-reloaded) for export presets and pin one with encodeProfile in project.json. Drop fonts, overlay art, SFX, and SVGs into library/. HOST and FABLECUT_ALLOWED_HOSTS open it to a LAN. The agent manual is CLAUDE.md, which you can extend with house recipes.",
      "envVars": [
        "FABLECUT_DATA_DIR",
        "HOST",
        "FABLECUT_ALLOWED_HOSTS"
      ],
      "configFiles": [
        "encoding-profiles.json",
        "project.json",
        "library/fonts/",
        "library/elements/",
        "library/svg/",
        "library/sfx/"
      ],
      "promptFiles": [
        "CLAUDE.md"
      ],
      "effort": "config-only",
      "editCount": 10
    },
    "useWhen": [
      "I want an agent to assemble reels from my clips to the beat while I watch the timeline and fix things by hand",
      "I need a self-hosted editor with no build step that my agent can drive from a JSON file"
    ],
    "accounts": [],
    "active": true,
    "lastActivity": "2026-09-01",
    "gotchas": [
      "Export is a browser action; the agent cannot finish the job without a human click or a separate ffmpeg render",
      "Chromium-based browser required; ffmpeg optional but needed for fast export",
      "Concurrent edits are guarded by a revision counter; agents get 409s if you edit at the same time"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 2
    },
    "evidence": {
      "formFactor": "README: runs entirely in the browser at localhost:7777 behind node server.js",
      "executionModel": "no model at runtime; MediaPipe cut-out is a bounded in-browser model",
      "operability": "README: three equivalent control surfaces for agents (MCP, REST, file writes) alongside a complete GUI; mcp-server.js present in the first commit 2026-07-06; README Notes: export runs in the browser",
      "effort": "README Quick start names FABLECUT_DATA_DIR, HOST, FABLECUT_ALLOWED_HOSTS, encoding-profiles.json, library/",
      "editions": "README license: MIT; no paid edition",
      "active": "GitHub pushedAt 2026-09-01"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.85,
      "operability": 0.8,
      "effort": 0.9,
      "reach": 0.85,
      "editions": 0.99
    },
    "openQuestions": [
      "Provenance: a single-author zero-dependency editor with an agent manual reads as agent-assisted; no Builder statement found"
    ],
    "sources": [
      {
        "url": "https://github.com/ronak-create/FableCut",
        "foundBy": "sourcing:video-streaming:curated"
      },
      {
        "url": "https://ronak-create.github.io/FableCut/",
        "foundBy": "sourcing:video-streaming:curated"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "dispute",
      "reason": "Native does not hold: FableCut is a full human-facing browser NLE (multi-select, JKL shuttle, monitor zoom, in-UI export) and the agent is a second operator over the same project.json, not the primary interface; export and background removal need a human click. The MCP server ships in the same repo from the first commit (2026-07-06, FableCut 1.0) by the same author, so it is official with partial Reach, fit.operable 2. Env vars FABLECUT_DATA_DIR, HOST, FABLECUT_ALLOWED_HOSTS, encoding-profiles.json, library/, and CLAUDE.md all exist and are documented in the README.",
      "disputed": [
        {
          "field": "operability",
          "reason": "A complete Premiere-style GUI NLE that humans use without an agent, with MCP/REST as one of three equivalent agent surfaces and export reachable only from the browser; agent is co-equal, not primary."
        }
      ]
    },
    "url": "apps/ronak-create--fablecut.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/ronak-create--fablecut.json"
  }
}
