Fcpxml MCP Server
Final Cut Pro automation: 15 grouped tools, 102 operations.
Connector by DareDev256 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/daredev256-fcpxml-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 24 read · 20 write · 4 delete · 15 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 63
Read from the source code; the running server may list different tools.
Read 24 · Look things up without changing anything.
analyze_pacinganalyze_timelinedetect_beatsdetect_duplicatesdetect_flash_framesdetect_gapsdetect_media_silencedetect_silence_candidatesdiff_timelinesfilter_by_rolefind_long_clipsfind_short_cuts
Show 12 more tools
list_clipslist_compound_clipslist_connected_clipslist_effectslist_fcp_librarieslist_keywordslist_library_clipslist_markerslist_projectslist_roleslist_templatesvalidate_timeline
Write 20 · Create, change, send or run things.
add_audioadd_connected_clipadd_markeradd_transitionapply_templateassign_rolebatch_add_markerscreate_compound_clipedit_by_transcriptexport_resolve_xmlfill_gapsgenerate_ab_roll
Show 8 more tools
generate_montageimport_beat_markersimport_srt_markersimport_transcript_markersinsert_clippush_to_fcpreformat_timelinereorder_clips
Delete 4 · Delete, drop, revoke or wipe things.
delete_clipsremove_filler_wordsremove_media_silenceremove_silence_candidates
Not yet classified 15 · We could not tell from the name and description.
auto_rough_cutchange_speedexport_csvexport_edlexport_fcp7_xmlexport_role_stemsfix_flash_framesflatten_compound_cliprapid_trimrelink_mediasnap_to_beatssplit_clip
Show 3 more tools
transcribe_mediatranscript_packtrim_clip
Secrets and settings it asks for
Other settings (environment variables or headers).
FCP_PROJECTS_DIR
Files it touches
- Any path the agent passes to its tools
Tools (63)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_audioAdd an audio clip or music bed to the timeline
add_connected_clipConnect a library clip to an existing timeline clip (B-roll overlay, audio, title)
add_markerAdd a marker at a specific timecode
add_transitionAdd a transition between clips
analyze_pacingAnalyze edit pacing with suggestions for improvements
analyze_timelineGet comprehensive timeline statistics including duration, resolution, clip count, pacing metrics
apply_templateFill a timeline template with clips and generate FCPXML
assign_roleSet the audio or video role on a clip (dialogue, music, effects, titles, etc.)
auto_rough_cutGenerate a rough cut from source clips based on keywords, duration, and pacing
batch_add_markersAdd multiple markers at once, or auto-generate at cuts/intervals
change_speedChange clip playback speed (slow motion or speed up)
create_compound_clipGroup spine clips into a compound clip
delete_clipsDelete clips from timeline
detect_beatsDetect musical beats and tempo in an audio/video file (librosa beat tracker). Writes a beats JSON next to the media file that plugs directly into import_beat_markers + snap_to_beats for beat-synced editing. Requires the optional [intelligence] extra (librosa); degrades to an install hint without it.
detect_duplicatesFind clips using the same source media (potential duplicates)
Show 48 more tools
detect_flash_framesFind ultra-short clips (flash frames) that are likely errors, with severity categorization
detect_gapsFind unintentional gaps in the timeline
detect_media_silenceDetect REAL silence by analyzing each clip's source audio with ffmpeg silencedetect, mapped into timeline time. Unlike detect_silence_candidates (XML-only heuristics), this reads the actual media files referenced by the timeline. Requires ffmpeg; clips whose media is missing or unreadable are reported, not failed.
detect_silence_candidatesDetect potential silence/dead air using timeline heuristics (gaps, ultra-short clips, name patterns, duration anomalies)
diff_timelinesCompare two FCPXML files and report differences in clips, markers, transitions, and format
edit_by_transcriptText-based editing: cut timeline content by what was SAID. mode=remove cuts every occurrence of the given phrases (with ripple); mode=keep_only keeps only the matched phrases and cuts everything else in each matched clip (clips with no matches are left untouched). Uses each media file's _transcript.json (auto-transcribes if missing). Non-destructive: writes a _transcript_edit copy.
export_csvExport timeline data to CSV format
export_edlGenerate EDL (Edit Decision List) from timeline
export_fcp7_xmlExport timeline as FCP7 XML (XMEML) for Premiere Pro, DaVinci Resolve, and Avid compatibility
export_resolve_xmlExport timeline as DaVinci Resolve compatible FCPXML (simplified v1.9)
export_role_stemsExport clip list grouped by role for audio mixing stem planning
fill_gapsAutomatically fill gaps in the timeline by extending adjacent clips
filter_by_roleList all clips matching a specific audio or video role
find_long_clipsFind clips longer than threshold
find_short_cutsFind clips shorter than threshold (flash frame detection)
fix_flash_framesAutomatically fix detected flash frames by extending neighbors or deleting
flatten_compound_clipFlatten a compound clip back into individual clips in the spine
generate_ab_rollCreate documentary-style A/B roll edits alternating between main content and cutaways
generate_montageCreate rapid-fire montages with pacing curves (accelerating, decelerating, pyramid)
import_beat_markersImport beat markers from external audio analysis (JSON format)
import_srt_markersImport SRT or VTT subtitles as chapter markers on the timeline
import_transcript_markersImport timestamped transcript (YouTube chapter format) as markers. Supports '0:00 Title' and 'HH:MM:SS Title' formats
insert_clipInsert a library clip onto the timeline at a specific position
list_clipsList all clips with timecodes, durations, and metadata
list_compound_clipsList compound clips (ref-clips) and their nested content
list_connected_clipsList all connected clips (B-roll, titles, audio) with their lanes and parent clips
list_effectsList all available FCP transition effects with slugs and UUIDs
list_fcp_librariesLIVE: enumerate the running Final Cut Pro's open libraries, events, and projects via Apple's read-only scripting dictionary. Refuses to launch FCP unless allow_launch is true. macOS-only.
list_keywordsExtract all keywords/tags from project
list_library_clipsList all available clips in the library (source media, not yet on timeline)
list_markersExtract markers (chapter, todo, standard) with timestamps
list_projectsList all FCPXML projects in directory
list_rolesList all audio/video roles used in the timeline with clip counts
list_templatesList available timeline templates with slot definitions
push_to_fcpLIVE: send an FCPXML file into the running Final Cut Pro with zero clicks (official Open Document Apple event), then VERIFY the import actually landed. macOS-only; first use triggers an Automation permission prompt. Pass library_location ending in .fcpbundle to target a library (a path that does not exist yet is created by FCP). Omit it and the target is inferred only when exactly one library is open; with several open, or none, the call refuses and names them rather than guessing. Verification polls FCP until the document's project names appear in the target, so the call can block up to verif…
rapid_trimBatch trim clips to a maximum duration for fast-paced montages
reformat_timelineCreate new FCPXML with different resolution/aspect ratio (9:16 for TikTok, 1:1 for Instagram, etc.)
relink_mediaBulk-rewrite media source paths (asset/media-rep src URLs) to relink moved or renamed media folders without opening FCP. Prefix-based: find='/Volumes/OldDrive/Media' replace='/Volumes/NewDrive/Media'. Use dry_run to preview.
remove_filler_wordsCut filler words (um, uh, erm...) out of the timeline with ripple, using word-level transcripts of the real source audio. Conservative default filler list — words like 'like' and 'so' are only cut if you pass them explicitly. Uses each media file's _transcript.json (auto-transcribes if missing). Non-destructive: writes a _defillered copy.
remove_media_silenceDetect REAL silence in each clip's source audio (ffmpeg) and CUT it out of the timeline with ripple. Clips are split around silence; the silent middles are removed and everything after shifts earlier. Non-destructive: writes a _silence_removed copy. Preview with detect_media_silence first.
remove_silence_candidatesRemove or mark detected silence candidates from timeline
reorder_clipsMove clips to a new position in the timeline
snap_to_beatsAlign cuts to nearest beat markers for music-synced edits. Works on spine cuts and on connected clips lane by lane (a music video keeps its whole edit on lanes). Moving a connected clip does not ripple the clips after it; a move that would collide with a neighbour in the same lane is skipped and reported.
split_clipSplit a clip at specified timecodes
transcribe_mediaTranscribe each clip's source media locally with word-level timestamps (faster-whisper). Writes a _transcript.json next to each media file (reused by edit_by_transcript / remove_filler_words so media is only transcribed once) and optionally an SRT for captions. Requires the optional [transcribe] extra; degrades to an install hint without it.
transcript_packThe whole shoot on one page: every clip's transcript packed into one document — a header per source, one line per utterance, broken on silence or a speaker change, audio events inline. Built for planning an edit from what was said. Uses each media file's _transcript.json / the index (auto-transcribes if missing). Truncated at 60KB; write=true saves the full pack as <project>_pack.md beside the FCPXML.
trim_clipTrim a clip's in-point and/or out-point
validate_timelineComprehensive timeline health check for flash frames, gaps, duplicates, and issues
Signals
- Weekly downloads
- 2,032
- Last release
- Oct 21, 2026 (7 days ago)
- Last package publish
- Oct 21, 2026 (7 days ago)
From the package registry.
Details
- Registry name
io.github.DareDev256/fcpxml-mcp-server- Version
- 0.27.2
- Auth
- No auth
- Packages
- pypi fcp-mcp-server
- License
- License unknown
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
- Source
- Official MCP Registry
Cite this page
Fcpxml MCP Server. Agent Mart. https://agentmart.dev/connectors/daredev256-fcpxml-mcp-server (last updated 2026-10-25)