Final Cut Pro MCP Server
Enables comprehensive remote control and automation of Final Cut Pro through 99 tools covering timeline editing, project management, and AI-powered features. It facilitates complex workflows including media organization, color grading, and FCPXML generation using AppleScript and JXA automation.
README
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)
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:
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.