Final Cut Pro MCP β 88 tools: FCPXML engine, live FCP control, media analysis, puppets.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Trusted, local, human-approved Final Cut Pro workflows. fcp-mcp inspects, generates, and transactionally edits FCPXML, then optionally hands verified artifacts to Final Cut Pro. The default profile never performs direct live or offline mutation.
Version 0.3.0 freezes a 94-tool catalog across four profiles. It is a bounded FCPXML interchange and tested Final Cut Pro handoff surfaceβnot a claim of complete autonomous Final Cut Pro control. The default workflow is inspect, prepare, review, hash approval, then commit.
Start here:
$PATH (for media_* tools): brew install ffmpegcompressor_* tools)Install the current published release from PyPI:
Or from source (for contributors):
doctor exits 0 when ready, 1 when offline service is usable but
optional capabilities are degraded, and 2 when configuration blocks
required runtime behavior. MCP clients can call the same structured
surface through fcp_doctor.
Or if you installed from source, point at your venv's Python:
Or edit ~/.claude.json directly:
Add the same config to your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.jsonSelect a profile with FCP_MCP_PROFILE. The default workflow profile keeps
the inspect β prepare β review β hash approval β commit sequence bounded and
reviewable.
| Profile | Tools | Prompts | Resources | Purpose |
|---|---|---|---|---|
inspect | 30 | 2 | 0 | Offline inspection and diagnostics |
workflow (default) | 34 | 3 | 3 | Reviewable transactional FCPXML edits |
edit | 75 | 5 | 3 | Direct offline mutation plus workflows |
full | 94 | 5 | 3 | All offline tools and opt-in live FCP, media, and Compressor tools |
The 94 tools include the youtube-mcp.materialized-clip-plan/v1 provenance
adapter, fcpxml_generate_from_clip_plan, in edit and full only. Live FCP
control remains independently disabled unless FCP_MCP_ENABLE_LIVE_CONTROL=1;
choosing full does not grant that authority.
full)The full catalog combines 93 domain tools across 13 functional categories with
fcp_doctor.
| Category | Count | What it does |
|---|---|---|
| inspect | 8 | Parse, list clips/markers/effects/roles, analyze pacing, timeline stats, A/B diff |
| qc | 10 | Flash frames, gaps, duplicates, media links, frame rates, audio levels, safe zones, duration, structural validation, aggregate QC report |
| edit | 12 | Markers, keywords, titles, audio, transitions, trim, split, delete, reorder, speed, role assign, reformat |
| heal | 3 | Fix flash frames, fill gaps, remove silence |
| batch | 4 | Markers, rename, role assign, apply transition across many clips |
| generate | 5 | New project/timeline, rough cuts, montages, and provenance-preserving clip-plan FCPXML |
| templates | 3 | List and save FCPXML templates; fcpxml_apply_template remains unsupported_contract in v0.3.0 |
| io | 5 | Import SRT/EDL, export EDL + DaVinci Resolve XML + Premiere FCP7 XMEML |
| live | 20 | AppleScript-backed library/events/projects, playback, menu/keyboard, share, and discovery |
| puppet | 7 | Parametric character rigs in FCPXML with motion presets |
| media | 10 | ffprobe + ffmpeg info, loudness, silence, beats, scenes, thumbnails, and audio-to-MIDI |
| compressor | 2 | List Compressor settings and dispatch encode jobs |
| workflow | 4 | Prepare, inspect, hash-approve, commit, or cancel durable edit runs |
Most FCP MCPs pick a lane. DareDev256/fcpxml-mcp-server is FCPXML-only. elliotttate/finalcutpro-mcp is AppleScript/JXA-heavy with thin FCPXML. fcp-mcp does both β and adds media analysis (ffprobe) and a parametric puppet system on top. An agent can open a library, inspect the active timeline, patch the XML, re-import, trigger Share, and dispatch a Compressor job β end to end.
Time values are stored as fractions ("720/24s") and only collapsed to
floats at display boundaries. Frame-accurate across 23.976 / 24 / 29.97 /
59.94 / drop-frame β no rounding drift when splitting, trimming, or
concatenating.
All .fcpxml reads go through defusedxml via utils/safe_xml.py β
XXE, entity expansion, and external entities are blocked by default.
The parser enforces configured XML size and depth limits.
User paths are resolved beneath configured roots after symlink resolution. FCPXML writes are serialized to a secure temporary file beside the destination, structurally validated, backed up when replacing an existing destination, atomically committed, and validated again. The built-in validator checks the invariants it implements; it is not a complete Apple schema validator. Import into a disposable Final Cut Pro project is the authoritative compatibility gate for important outputs. On a release workstation with Final Cut Pro installed, preflight a candidate against the DTD matching its declared FCPXML version:
This gate reads the DTD from the installed Final Cut Pro application bundle; the project does not copy or redistribute Apple's schema. A passing DTD check does not replace the disposable-project import because Final Cut Pro also checks media and application-level semantics.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/fcp-mcp-final-cut-pro-mcp-server)<a href="https://allmcps.com/mcp/fcp-mcp-final-cut-pro-mcp-server"><img src="https://allmcps.com/api/badge/fcp-mcp-final-cut-pro-mcp-server?style=directory" alt="Fcp Mcp β Final Cut Pro MCP Server on AllMCPs" /></a>