Skip to main content
Glama

Final Cut Pro MCP Server

An MCP (Model Context Protocol) server that provides comprehensive remote control of Final Cut Pro via AppleScript and JXA automation. Supports 99 tools covering editing, AI-powered features, color grading, 360/VR, and more.

Requirements

  • macOS 15.6+

  • Final Cut Pro 12.0+

  • Node.js 18+

  • Accessibility permissions for System Events (System Settings > Privacy & Security > Accessibility)

Related MCP server: resolve-mcp

Setup

npm install
npm run build

Claude Desktop Configuration

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "finalcutpro": {
      "command": "node",
      "args": ["/path/to/finalcutpro-mcp/dist/index.js"]
    }
  }
}

Tools (99 total)

Library & Project Inspection

Tool

Description

get_libraries

Get all open libraries with names, IDs, file paths, and event counts

get_events

Get all events within a specific library

get_projects

Get all projects within an event with sequence/timeline details

Project Management

Tool

Description

new_library

Create a new library

new_event

Create a new event in the current library

new_project

Create a new project

close_library

Close the current library

project_properties

Open project properties/settings inspector

snapshot_project

Create a snapshot (backup) of the current project state

duplicate_project

Duplicate the current project with different settings

Playback & Navigation

Tool

Description

playback

Control playback (play/pause, stop, play from start, selection, fullscreen, reverse, loop)

navigate

Timeline navigation (jump to start/end, next/previous edit/clip/marker/frame, forward/backward 10 frames)

set_playback_speed

Set playback speed (0.5x to 32x, forward and reverse)

go_to_timecode

Navigate to a specific timecode position

Timeline Editing

Tool

Description

blade

Cut/split clips at the playhead position

edit_insert

Insert media (insert, append, overwrite, connect, replace modes)

delete_selection

Delete clips (ripple delete, replace with gap, selection only)

clipboard

Copy, cut, paste, paste as connected

selection

Select all, deselect all, select clip at playhead

undo_redo

Undo or redo actions

trim

Trim clip edges (start, end, to playhead, extend edit, join)

nudge

Nudge clips in any direction

insert_placeholder

Insert placeholder or gap clip

create_compound_clip

Create compound clip from selection

create_storyline

Create/collapse/lift connected storylines

change_duration

Open change duration dialog

rename_clip

Rename the selected clip

detach_audio

Detach audio from video, creating separate clips

merge_clips

Merge adjacent clips into one

break_apart_clip

Break apart compound/multicam clips into components

adjustment_layer

Add an adjustment layer above the current clip

anchored_storyline

Create and manage anchored storyline spines

Effects & Transitions

Tool

Description

add_transition

Add default cross dissolve transition

add_effect

Add default video or audio effect

add_color_correction

Add color correction (color board, wheels, curves, HSL, HDR, etc.)

add_title

Add title (basic title, lower third)

manage_effects

Copy/paste/remove effects and attributes

add_mask

Add mask (shape, color, or AI object mask)

effect_presets

Save and manage color/video/audio effect presets

AI / Machine Learning Features

Tool

Description

object_tracking

AI object tracking and segmentation masks using neural networks

cinematic_editor

AI cinematic mode editor for iPhone Cinematic video focus decisions

detect_beats

AI automatic beat detection and beat grid for music/audio

transcribe_to_captions

AI audio-to-captions transcription

auto_reframe

AI automatic reframing for different aspect ratios

image_playground

Apple's AI Image Playground for generating/editing images

Speed / Retiming

Tool

Description

retime

Change clip speed (slow 50/25/10%, fast 2x/4x/8x, reverse, freeze, hold, ramps, rewind)

retime_quality

Set retime quality (normal, frame blending, optical flow, ML-based)

show_retime_editor

Toggle the retime editor panel

speed_editor

Advanced speed blade, custom speed, and conform speed

Color Grading

Tool

Description

color_board

Full color board control (color/exposure/saturation tabs, pucks, nudge, reset)

color_channels

Change viewer color channel display (all, R, G, B, alpha)

color_correction_nav

Navigate between corrections, apply from previous clips

match_color

Match color between clips for consistent grading

compare_frame

Before/after comparison viewer for color corrections

Markers & Keywords

Tool

Description

add_marker

Add marker (standard, to-do, chapter, standard and edit)

delete_markers

Delete markers (selected or in selection range)

rate_clip

Rate clips (favorite, unfavorite, reject)

add_keyword

Apply keyword group (1-9)

set_role

Set clip role (video, titles, dialogue, music, effects)

open_keyword_editor

Open keyword editor panel

Captions & Subtitles

Tool

Description

captions

Caption operations (create, add/edit, extract, split, resolve overlaps)

import_captions

Import captions file (SRT, SCC, ITT, etc.)

export_captions

Export captions from project

Audio

Tool

Description

adjust_volume

Adjust volume (up, down, zero, silence)

solo

Solo/unsolo clip audio

audio_operations

Enhance audio, match audio, align to video, fades, crossfades

audio_fade_management

Remove fades, crossfade aligned clips

Keyframe Animation

Tool

Description

keyframes

Add, delete, copy, cut, paste keyframes; navigate between keyframes; nudge values

Variants / Auditions

Tool

Description

variants

Create, navigate, finalize, and group clip variants/auditions

Multicam

Tool

Description

switch_angle

Switch multicam angle (1-16, with cut-and-switch option)

create_multicam_clip

Create multicam clip from selection

360 / VR / Spatial Video

Tool

Description

spatial_video

Stereoscopic modes (left/right eye, anaglyph, difference, superimpose), 360 navigation (tilt, pan, roll), FOV control, horizon display, HMD latching

Tools & Interface

Tool

Description

select_tool

Switch editing tool (select, trim, blade, position, hand, zoom, range, crop, distort, transform, cinematic)

toggle_snapping

Toggle timeline snapping

toggle_panel

Show/hide panels (inspector, timeline, effects browser, video scopes, audio meters, precision editor, etc.)

zoom_timeline

Zoom timeline (in, out, fit, fit vertical, subframes)

window_layout

Switch window layout preset (default, organize, color & effects, dual displays)

go_to_panel

Navigate focus to a specific panel

clip_appearance

Change clip display style (title only, waveform, thumbnails, etc.)

av_edit_mode

Set A/V edit mode (both, video only, audio only)

timeline_history

Navigate timeline hierarchy (close current, close others, reveal ancestor)

video_output

Toggle external A/V output for broadcast monitoring

custom_overlay

Toggle custom overlay display (safe zones, etc.)

Media Organization

Tool

Description

reveal_in_finder

Reveal source media in Finder

transcode_media

Open transcode dialog

consolidate_files

Consolidate media files

relink_files

Relink original or proxy media

analyze_and_fix

Run analyze and fix on clips

synchronize_clips

Synchronize clips (align audio/video)

duplicate_detection

Find and navigate duplicate clips, make clips unique

Import / Export

Tool

Description

import_media

Open import media dialog

import_xml

Import FCPXML file (by path or dialog)

export_xml

Export project/event as FCPXML

share

Share/export project (default destination or Compressor)

render

Render timeline (all or selection)

FCPXML Generation

Tool

Description

generate_fcpxml

Programmatically generate FCPXML 1.11 with clips, transitions, titles, and effects

Generic Command Execution

Tool

Description

execute_menu_command

Execute any FCP menu command by path

send_shortcut

Send any keyboard shortcut to FCP

find

Open Find dialog or Find and Replace for titles

How It Works

The server communicates with Final Cut Pro through three mechanisms:

  1. JXA (JavaScript for Automation) - Read-only queries for library/event/project inspection via FCP's AppleScript dictionary

  2. AppleScript with System Events - Menu navigation and keyboard shortcuts for editing operations

  3. FCPXML - Programmatic timeline creation via FCP's XML interchange format

The server automatically manages FCP focus — it activates FCP before commands that need it and restores the previously focused app afterward.

License

MIT

Available Tools

100 tools
add_color_correctionC

Add a color correction effect to the selected clip.

Inputs: type (required).

add_effectC

Add a default effect to the selected clip(s).

Inputs: type (required).

add_keywordC

Apply a keyword group (1-9) to the selected clip(s). Keyword groups are pre-configured in FCP's keyword editor.

Inputs: group (required).

add_markerC

Add a marker at the current playhead position.

Inputs: type (required).

add_maskC

Add a mask to the selected clip.

Inputs: type (required).

add_titleC

Add a title to the timeline.

Inputs: type (required).

add_transitionB

Add the default cross dissolve transition to the selected edit point(s).

Inputs: no named parameters.

adjustment_layerA

Add an adjustment layer (adjustment clip) above the current clip. Adjustment layers apply effects to all clips beneath them in the timeline.

Inputs: no named parameters.

adjust_volumeC

Adjust audio volume of the selected clip.

Inputs: action (required).

analyze_and_fixC

Run analyze and fix on the selected clips.

Inputs: no named parameters.

anchored_storylineB

Create and manage anchored storyline spines for organizing connected clips.

Inputs: action (required).

audio_fade_managementC

Advanced audio fade controls for managing fade handles and crossfades.

Inputs: action (required).

audio_operationsD

Audio-specific operations.

Inputs: action (required).

auto_reframeB

Apply Auto Reframe to the selected clip to automatically adjust framing for different aspect ratios.

Inputs: no named parameters.

av_edit_modeC

Set the audio/video edit mode to control which components are affected by edits.

Inputs: mode (required).

bladeC

Blade (cut/split) clips at the playhead position.

Inputs: all.

break_apart_clipA

Break apart a compound clip or multicam clip into its individual component clips.

Inputs: no named parameters.

captionsC

Caption operations.

Inputs: action (required).

change_durationB

Open the change duration dialog to set a specific clip or selection duration via timecode.

Inputs: no named parameters.

cinematic_editorB

Control the AI-powered Cinematic mode editor for iPhone Cinematic video. Navigate between AI focus/framing decisions.

Inputs: action (required).

clip_appearanceC

Change the clip appearance in the timeline.

Inputs: style (required).

clipboardC

Clipboard operations (copy, cut, paste).

Inputs: action (required).

close_libraryB

Close the current library.

Inputs: no named parameters.

color_boardC

Control the color board for color grading.

Inputs: action (required).

color_channelsB

Change the viewer color channel display.

Inputs: channel (required).

color_correction_navB

Navigate between color corrections on a clip and apply corrections from previous clips.

Inputs: action (required).

compare_frameB

Compare frame/viewer for before-and-after comparison of color corrections and effects. Save a reference frame and compare side-by-side.

Inputs: action (required).

consolidate_filesC

Consolidate media files for the selected items.

Inputs: no named parameters.

create_compound_clipB

Create a compound clip from the current selection.

Inputs: no named parameters.

create_multicam_clipB

Create a multicam clip from the selected clips.

Inputs: no named parameters.

create_storylineC

Create a connected storyline from selection, or collapse/lift storyline clips.

Inputs: action (required).

custom_overlayB

Toggle the custom overlay display in the viewer (title safe, action safe zones, etc.).

Inputs: no named parameters.

delete_markersC

Delete markers.

Inputs: scope (required).

delete_selectionC

Delete selected clips or replace with a gap.

Inputs: mode (required).

detach_audioA

Detach audio from the selected video clip, creating separate audio and video clips in the timeline.

Inputs: no named parameters.

detect_beatsB

AI-powered automatic beat detection and beat grid for music/audio clips. Analyzes audio to find beat positions.

Inputs: action (required).

duplicate_detectionC

Find and manage duplicate clips in the browser/timeline.

Inputs: action (required).

duplicate_projectB

Duplicate the current project, optionally with different settings (resolution, frame rate, color space, etc.).

Inputs: no named parameters.

edit_insertC

Perform an edit insertion into the timeline.

Inputs: mode (required), media_type.

effect_presetsB

Save and manage effect presets for color corrections, video effects, and audio effects.

Inputs: action (required).

execute_menu_commandA

Execute any Final Cut Pro command by navigating the menu bar. Provide the menu path as an array (e.g., ['File', 'New', 'Project...'] or ['Edit', 'Paste as Connected']).

Inputs: menu_path (required).

export_captionsB

Export captions from the current project.

Inputs: no named parameters.

export_xmlB

Export the current project/event as FCPXML.

Inputs: no named parameters.

findC

Open the Find dialog, or Find and Replace in title text.

Inputs: type (required).

generate_fcpxmlA

Generate FCPXML content for creating timeline structures programmatically. Generates valid FCPXML 1.11 that can be imported into FCP. Use this to create projects with clips, transitions, titles, and effects defined in XML.

Inputs: event_name (required), project_name (required), frame_rate, width, +4 more.

get_eventsC

Get all events within a specific library.

Inputs: library_name (required).

get_librariesA

Get all open libraries in Final Cut Pro with their names, IDs, file paths, and event counts.

Inputs: no named parameters.

get_projectsB

Get all projects within a specific event, including sequence/timeline details (duration, frame rate, timecode format).

Inputs: library_name (required), event_name (required).

go_to_panelC

Navigate focus to a specific panel.

Inputs: panel (required).

go_to_timecodeB

Navigate to a specific timecode position. Opens the timecode entry dialog and types the timecode.

Inputs: timecode (required).

image_playgroundB

Open Apple's AI-powered Image Playground for generating and editing images within Final Cut Pro.

Inputs: no named parameters.

import_captionsB

Import a captions file (SRT, SCC, ITT, etc.).

Inputs: no named parameters.

import_mediaB

Open the import media dialog in Final Cut Pro.

Inputs: no named parameters.

import_xmlC

Import an FCPXML file into Final Cut Pro.

Inputs: file_path.

insert_placeholderC

Insert a placeholder or gap clip into the timeline.

Inputs: type (required).

keyframesB

Keyframe animation controls for effects, transforms, and audio parameters.

Inputs: action (required).

manage_effectsC

Copy, paste, or remove effects and attributes on clips.

Inputs: action (required).

match_colorB

Match the color of the selected clip to a reference clip for consistent color grading across scenes.

Inputs: no named parameters.

merge_clipsB

Merge adjacent selected clips into a single clip.

Inputs: no named parameters.

new_eventB

Create a new event in the current library.

Inputs: no named parameters.

new_libraryB

Create a new library in Final Cut Pro.

Inputs: no named parameters.

new_projectB

Create a new project. Opens the new project dialog.

Inputs: no named parameters.

nudgeC

Nudge selected clip(s) in a direction.

Inputs: direction (required), large.

object_trackingC

AI-powered object tracking and segmentation mask controls. Uses neural network-based tracking to follow objects across frames.

Inputs: action (required).

open_keyword_editorC

Open the keyword editor panel.

Inputs: no named parameters.

playbackB

Control playback in Final Cut Pro.

Inputs: action (required).

project_propertiesC

Open the project properties/settings inspector.

Inputs: no named parameters.

rate_clipC

Rate the selected clip(s).

Inputs: rating (required).

rename_clipC

Rename the selected clip.

Inputs: no named parameters.

renderD

Render the timeline.

Inputs: scope (required).

retimeB

Change the speed/retiming of the selected clip.

Inputs: action (required).

retime_qualityB

Set the video quality for retimed clips.

Inputs: quality (required).

reveal_in_finderA

Reveal the selected clip's source media file in Finder.

Inputs: no named parameters.

selectionD

Selection operations.

Inputs: action (required).

select_toolC

Switch to a specific editing tool.

Inputs: tool (required).

send_shortcutB

Send a keyboard shortcut to Final Cut Pro. Use this for any command that has a keyboard shortcut.

Inputs: key, modifiers, key_code.

set_playback_speedC

Set the playback speed/rate.

Inputs: speed (required).

set_roleC

Set the role of the selected clip.

Inputs: role (required).

shareC

Share/export the project using the default destination or send to Compressor.

Inputs: destination (required).

show_retime_editorB

Toggle the retime editor in the timeline.

Inputs: no named parameters.

snapshot_projectB

Create a snapshot (backup) of the current project state. The snapshot is saved as a duplicate within the event.

Inputs: no named parameters.

soloB

Solo or unsolo the selected clip(s) audio.

Inputs: no named parameters.

spatial_videoB

Controls for 360°, VR, and spatial video editing. Includes stereoscopic viewing modes, 360° navigation, and field of view adjustments. The 360° viewer must be open for navigation controls.

Inputs: action (required).

speed_editorC

Advanced speed editing tools for creating speed ramps and custom speed segments.

Inputs: action (required).

switch_angleB

Switch to a specific angle in a multicam clip.

Inputs: angle (required), cut_and_switch.

synchronize_clipsB

Synchronize selected clips (align audio/video from multiple sources).

Inputs: no named parameters.

timeline_historyB

Navigate timeline hierarchy levels when editing inside compound clips, multicam clips, or auditions.

Inputs: action (required).

toggle_panelB

Show or hide various panels and browsers in the FCP interface.

Inputs: panel (required).

toggle_snappingB

Toggle timeline snapping on/off.

Inputs: no named parameters.

transcode_mediaB

Open the transcode media dialog for the selected clips.

Inputs: no named parameters.

transcribe_to_captionsB

Use AI to automatically transcribe audio in the selected clips to captions/subtitles. Requires macOS speech recognition.

Inputs: no named parameters.

trimC

Trim clip edges.

Inputs: action (required).

undo_redoC

Undo or redo the last action.

Inputs: action (required).

variantsB

Variant (audition) controls for comparing different versions of clips. Create alternate clip versions and preview them before committing.

Inputs: action (required).

video_outputB

Toggle external video output (A/V Output) for monitoring on external displays, broadcast monitors, or HDMI devices.

Inputs: no named parameters.

voiceoverB

Voice-over recording controls. Open the recording panel and start/stop recording.

Inputs: action (required).

window_layoutB

Switch to a predefined window layout.

Inputs: layout (required).

zoom_timelineC

Zoom the timeline view.

Inputs: action (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.5/5.0

    Scored across 100 tools

    Disambiguation2/5

    Many tools have overlapping or ambiguous purposes, such as 'audio_operations' being vague while 'adjust_volume' and 'audio_fade_management' exist, or 'selection' and 'select_tool' being unclear in distinction. The high tool count exacerbates confusion, with multiple tools like 'add_effect' and 'add_color_correction' potentially overlapping in function, making it difficult for an agent to reliably choose the correct tool without trial and error.

    Naming Consistency3/5

    The naming is mixed with some consistency in verb_noun patterns like 'add_color_correction' and 'create_compound_clip', but there are deviations such as 'blade' (noun-only), 'navigate' (verb-only), and inconsistent styles like 'audio_fade_management' (noun-heavy) versus 'adjust_volume' (verb_noun). While readable, the lack of a uniform convention across all tools reduces predictability and coherence in the tool set.

    Tool Count1/5

    With 100 tools, this server is extremely overloaded for a video editing domain, far exceeding the typical well-scoped range of 3-15 tools. Such a high count suggests poor scoping, likely including many redundant or overly granular tools that could overwhelm agents and lead to inefficiency in tool selection and usage, indicating a severe mismatch between scope and implementation.

    Completeness5/5

    The tool set provides comprehensive coverage for Final Cut Pro editing, including core operations like adding effects, color correction, timeline management, audio controls, and advanced features like AI tools and XML handling. There are no obvious gaps; it supports full CRUD/lifecycle workflows from import to export, with tools for media management, editing, and sharing, ensuring agents can handle most tasks without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    • EXZA Remote — AI Computer Commander Your computer. Your control. Securely connect your own macOS, Windows or Linux computer to compatible AI clients, including ChatGPT and Claude. EXZA Remote provides 59 MCP tools for authorized file management, terminal operations, system monitoring, desktop automation and email workflows. GETTING STARTED 1. Create an EXZA Remote account. 2. Install the official computer connection client. 3. Pair your device using a temporary six-digit PIN. 4. Approve the connection on your computer. 5. Connect your preferred MCP client using EXZA OAuth. MCP ENDPOINT https://remote.exza.de/mcp TRANSPORT Streamable HTTP with OAuth 2.0 KEY FEATURES • 59 MCP tool interfaces • Secure computer and file access • Terminal commands and background jobs • File search, reading and editing • System monitoring and desktop automation • macOS, Windows and Linux support • Owner-controlled permissions and approvals COMPLETE INSTALLATION & DOCUMENTATION Detailed setup instructions, terminal installation commands, all 59 tools, troubleshooting and security information: https://github.com/exzade/EXZA-Remote/blob/main/docs/GLAMA_OVERVIEW.md Official website: https://remote.exza.de EXZA Remote is an independent, OAuth-protected service. Computer access requires individual account authorization and device-owner approval.

      https://remote.exza.de/mcp
    • The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.

      https://mcp.askeditor.com/mcp
    • AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.

      https://api.arsaze.com/mcp
    • MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent

    Related MCP Servers