FCPXML MCP — Agent Skill

SkillAI & models

Lets your agent read, check, fix and build Final Cut Pro video timelines stored as .fcpxml files.

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

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the FCPXML MCP skill

About this skill

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.

What this skill tells your AI

The instructions your AI receives, as published by daredev256/fcp-mcp-server in skills/fcpxml/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_timeline → detect_flash_frames → detect_gaps → detect_duplicates → validate_timeline Then offer fixes: fix_flash_frames → fill_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_clips → list_keywords → discuss structure → auto_rough_cut or generate_montage

Beat-Synced Music Video

import_beat_markers → auto_rough_cut or generate_montage → snap_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
110
Forks
21
Last commit
Sep 2026
Advanced
Item type
skill
Key
fcpxml
Source
github.com/daredev256/fcp-mcp-server