Final Cut Pro MCP Server
Provides comprehensive remote control and automation for Apple's Final Cut Pro, including integration with AI-powered features like Image Playground and Cinematic mode.
Uses macOS automation frameworks and System Events to programmatically control Final Cut Pro's interface and manage project assets.
Supports programmatic timeline creation and project data interchange through the generation, import, and export of FCPXML files.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Final Cut Pro MCP Server Transcribe the audio in my current project and add captions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildClaude 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 all open libraries with names, IDs, file paths, and event counts |
| Get all events within a specific library |
| Get all projects within an event with sequence/timeline details |
Project Management
Tool | Description |
| Create a new library |
| Create a new event in the current library |
| Create a new project |
| Close the current library |
| Open project properties/settings inspector |
| Create a snapshot (backup) of the current project state |
| Duplicate the current project with different settings |
Playback & Navigation
Tool | Description |
| Control playback (play/pause, stop, play from start, selection, fullscreen, reverse, loop) |
| Timeline navigation (jump to start/end, next/previous edit/clip/marker/frame, forward/backward 10 frames) |
| Set playback speed (0.5x to 32x, forward and reverse) |
| Navigate to a specific timecode position |
Timeline Editing
Tool | Description |
| Cut/split clips at the playhead position |
| Insert media (insert, append, overwrite, connect, replace modes) |
| Delete clips (ripple delete, replace with gap, selection only) |
| Copy, cut, paste, paste as connected |
| Select all, deselect all, select clip at playhead |
| Undo or redo actions |
| Trim clip edges (start, end, to playhead, extend edit, join) |
| Nudge clips in any direction |
| Insert placeholder or gap clip |
| Create compound clip from selection |
| Create/collapse/lift connected storylines |
| Open change duration dialog |
| Rename the selected clip |
| Detach audio from video, creating separate clips |
| Merge adjacent clips into one |
| Break apart compound/multicam clips into components |
| Add an adjustment layer above the current clip |
| Create and manage anchored storyline spines |
Effects & Transitions
Tool | Description |
| Add default cross dissolve transition |
| Add default video or audio effect |
| Add color correction (color board, wheels, curves, HSL, HDR, etc.) |
| Add title (basic title, lower third) |
| Copy/paste/remove effects and attributes |
| Add mask (shape, color, or AI object mask) |
| Save and manage color/video/audio effect presets |
AI / Machine Learning Features
Tool | Description |
| AI object tracking and segmentation masks using neural networks |
| AI cinematic mode editor for iPhone Cinematic video focus decisions |
| AI automatic beat detection and beat grid for music/audio |
| AI audio-to-captions transcription |
| AI automatic reframing for different aspect ratios |
| Apple's AI Image Playground for generating/editing images |
Speed / Retiming
Tool | Description |
| Change clip speed (slow 50/25/10%, fast 2x/4x/8x, reverse, freeze, hold, ramps, rewind) |
| Set retime quality (normal, frame blending, optical flow, ML-based) |
| Toggle the retime editor panel |
| Advanced speed blade, custom speed, and conform speed |
Color Grading
Tool | Description |
| Full color board control (color/exposure/saturation tabs, pucks, nudge, reset) |
| Change viewer color channel display (all, R, G, B, alpha) |
| Navigate between corrections, apply from previous clips |
| Match color between clips for consistent grading |
| Before/after comparison viewer for color corrections |
Markers & Keywords
Tool | Description |
| Add marker (standard, to-do, chapter, standard and edit) |
| Delete markers (selected or in selection range) |
| Rate clips (favorite, unfavorite, reject) |
| Apply keyword group (1-9) |
| Set clip role (video, titles, dialogue, music, effects) |
| Open keyword editor panel |
Captions & Subtitles
Tool | Description |
| Caption operations (create, add/edit, extract, split, resolve overlaps) |
| Import captions file (SRT, SCC, ITT, etc.) |
| Export captions from project |
Audio
Tool | Description |
| Adjust volume (up, down, zero, silence) |
| Solo/unsolo clip audio |
| Enhance audio, match audio, align to video, fades, crossfades |
| Remove fades, crossfade aligned clips |
Keyframe Animation
Tool | Description |
| Add, delete, copy, cut, paste keyframes; navigate between keyframes; nudge values |
Variants / Auditions
Tool | Description |
| Create, navigate, finalize, and group clip variants/auditions |
Multicam
Tool | Description |
| Switch multicam angle (1-16, with cut-and-switch option) |
| Create multicam clip from selection |
360 / VR / Spatial Video
Tool | Description |
| Stereoscopic modes (left/right eye, anaglyph, difference, superimpose), 360 navigation (tilt, pan, roll), FOV control, horizon display, HMD latching |
Tools & Interface
Tool | Description |
| Switch editing tool (select, trim, blade, position, hand, zoom, range, crop, distort, transform, cinematic) |
| Toggle timeline snapping |
| Show/hide panels (inspector, timeline, effects browser, video scopes, audio meters, precision editor, etc.) |
| Zoom timeline (in, out, fit, fit vertical, subframes) |
| Switch window layout preset (default, organize, color & effects, dual displays) |
| Navigate focus to a specific panel |
| Change clip display style (title only, waveform, thumbnails, etc.) |
| Set A/V edit mode (both, video only, audio only) |
| Navigate timeline hierarchy (close current, close others, reveal ancestor) |
| Toggle external A/V output for broadcast monitoring |
| Toggle custom overlay display (safe zones, etc.) |
Media Organization
Tool | Description |
| Reveal source media in Finder |
| Open transcode dialog |
| Consolidate media files |
| Relink original or proxy media |
| Run analyze and fix on clips |
| Synchronize clips (align audio/video) |
| Find and navigate duplicate clips, make clips unique |
Import / Export
Tool | Description |
| Open import media dialog |
| Import FCPXML file (by path or dialog) |
| Export project/event as FCPXML |
| Share/export project (default destination or Compressor) |
| Render timeline (all or selection) |
FCPXML Generation
Tool | Description |
| Programmatically generate FCPXML 1.11 with clips, transitions, titles, and effects |
Generic Command Execution
Tool | Description |
| Execute any FCP menu command by path |
| Send any keyboard shortcut to FCP |
| Open Find dialog or Find and Replace for titles |
How It Works
The server communicates with Final Cut Pro through three mechanisms:
JXA (JavaScript for Automation) - Read-only queries for library/event/project inspection via FCP's AppleScript dictionary
AppleScript with System Events - Menu navigation and keyboard shortcuts for editing operations
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 toolsadd_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).
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).
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).
relink_filesC
Relink media files.
Inputs: type (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).
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
Scored across 100 tools
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.
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.
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.
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
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.
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.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Related MCP Servers
- AlicenseBqualityCmaintenanceThe most capable MCP server for Final Cut Pro — 88 tools covering FCPXML editing, live FCP control, parametric puppets, and media analysis.8812MIT
- AlicenseBqualityDmaintenanceEnables AI-driven DaVinci Resolve 21 automation with 88 tools for project management, timeline editing, color grading, AI analysis, rendering, and dailies creation.883MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI to control Final Cut Pro on macOS via CLI or MCP, allowing automation of tasks like library/project reading, importing FCPXML, and creating title/storyboard projects.8MIT
- AlicenseBqualityBmaintenanceProvides an AI assistant with 132 tools to control DaVinci Resolve Studio on macOS, enabling project management, media handling, timeline editing, color grading, rendering, and Fusion compositing through natural language commands.100MIT