FCPXML MCP — Agent Skill

SkillAI & models

MCP server for Final Cut Pro XML. Lets Claude read, edit and generate real timelines: cut detection, markers, roles, transcript-based editing. Published on PyPI as fcp-mcp-server.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the FCPXML MCP — Agent Skill skill

What this skill tells your AI

The instructions your AI receives, as published by daredev256/fcp-mcp-server in SKILL.md and read by ahel’s review.

Use when working with Final Cut Pro XML files (.fcpxml) — timeline analysis, quality control, batch editing, rough cut generation, marker management, cross-NLE export, and multi-track workflows.

TRIGGER when: user mentions FCPXML, Final Cut Pro, FCP, timeline analysis, video editing XML, markers, rough cuts, or any post-production workflow involving XML files.

Tool Categories

Read & Analyze (non-destructive)

ToolUse when...
list_projectsFinding FCPXML files in a directory (default: ~/Movies)
analyze_timelineGetting stats — duration, resolution, clip count, frame rate, pacing metrics
analyze_pacingEvaluating edit rhythm — cuts/min, pacing curve, suggestions
list_clipsListing all clips with timecodes, durations, metadata
list_markersExtracting markers (chapter, todo, standard). Use format: "youtube" for YouTube chapters
list_keywordsShowing keyword tags applied to clips
list_library_clipsShowing source clips available in the library (for rough cut planning)
list_connected_clipsShowing clips on connected lanes (B-roll, titles, SFX)
list_compound_clipsShowing compound clip structure
list_rolesShowing audio/video role assignments
list_effectsShowing applied effects and filters
list_templatesShowing available timeline templates

QC & Detection (non-destructive)

ToolUse when...
validate_timelineGetting a 0-100 health score with issue breakdown
detect_flash_framesFinding ultra-short clips (accidental 1-2 frame cuts)
detect_gapsFinding unintentional gaps in the timeline
detect_duplicatesFinding repeated source clips
detect_silence_candidatesFinding dead air / silence regions
diff_timelinesComparing two versions of a timeline (added/removed/moved/trimmed)

Edit & Fix (creates _modified output files, never overwrites originals)

ToolUse when...
add_markerAdding a single marker (chapter, todo, standard) at a timecode
batch_add_markersAdding multiple markers at once (chapter lists, beat markers)
trim_clipAdjusting in/out points of a clip
split_clipSplitting a clip at a specific timecode
delete_clipsRemoving clips by index or name
insert_clipInserting a clip at a position in the timeline
reorder_clipsRearranging clip order
add_transitionAdding cross-dissolve or other transitions between clips
change_speedApplying speed changes (slow-mo, fast-forward, reverse)
add_connected_clipAdding a clip to a connected lane (B-roll, titles)
add_audioAdding audio clips to the timeline
create_compound_clipGrouping clips into a compound clip
flatten_compound_clipExpanding a compound clip back to individual clips
assign_roleSetting audio/video roles on clips
apply_templateApplying a timeline template

Auto-Fix (batch operations)

ToolUse when...
fix_flash_framesAutomatically extending adjacent clips to cover flash frames
rapid_trimQuick batch trim operations
fill_gapsClosing gaps by extending adjacent clips
remove_silence_candidatesRemoving or marking detected silence regions

Generate (creates new FCPXML files)

ToolUse when...
auto_rough_cutBuilding a rough cut from library clips with keyword filters and target duration
generate_montageCreating a montage from tagged clips with pacing control
generate_ab_rollCreating documentary-style A/B roll edits

Music & Markers

ToolUse when...
import_beat_markersImporting beat timestamps from JSON for music-synced editing
snap_to_beatsSnapping all cuts to the nearest beat marker
import_srt_markersImporting markers from SRT/VTT subtitle files
import_transcript_markersImporting markers from transcript text

Export & Reformat

ToolUse when...
export_edlExporting an EDL (Edit Decision List)
export_csvExporting timeline data as CSV
export_resolve_xmlExporting FCPXML v1.9 for DaVinci Resolve
export_fcp7_xmlExporting FCP7 XMEML v5 for Premiere / legacy NLEs
export_role_stemsExporting separate XMLs per audio role (dialogue, music, SFX)
filter_by_roleFiltering timeline to only show clips with a specific role
reformat_timelineChanging format — presets: 9:16, 1:1, 4:5, 4:3, 16:9, or custom

Workflow Chains

When the user describes a high-level intent, chain tools in this order:

QC Pipeline

analyze_timelinedetect_flash_framesdetect_gapsdetect_duplicatesvalidate_timeline Then offer fixes: fix_flash_framesfill_gaps

YouTube Chapter Export

list_markers (format: "youtube") → format output for copy-paste If no chapters exist: analyze_pacing → suggest chapter points → batch_add_markers

Rough Cut Assembly

list_library_clipslist_keywords → discuss structure → auto_rough_cut or generate_montage

Beat-Synced Music Video

import_beat_markersauto_rough_cut or generate_montagesnap_to_beats

Cross-NLE Handoff

export_resolve_xml (for Resolve) + export_fcp7_xml (for Premiere/Pro Tools)

Silence Cleanup

detect_silence_candidates → review results → remove_silence_candidates

Timeline Comparison

diff_timelines → summarize changes for revision log

Social Reformat

reformat_timeline with preset → note that framing adjustments still needed in FCP

Key Rules

  1. Never overwrite originals. All write operations create _modified, _chapters, etc. suffixed files.
  2. Times are rational fractions. FCPXML uses "600/2400s" format — never convert to floats.
  3. Always analyze before fixing. Run detection tools first, show the user what was found, then offer batch fixes.
  4. Connected clips use lanes. Positive lane = above primary storyline (video/titles), negative = below (audio).
  5. Compound clips can be nested. Use list_compound_clips to understand structure before flattening.
  6. Export formats differ. Resolve XML flattens compounds. FCP7 XML converts spine-based to track-based model.

Signals

GitHub stars
104
Forks
19
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
fcp-mcp-server
Source
github.com/daredev256/fcp-mcp-server