fcp-mcp — Final Cut Pro MCP Server
Final Cut Pro MCP — 88 tools: FCPXML engine, live FCP control, media analysis, puppets.
Connector by dreliq9 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/dreliq9-fcp-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 42 read · 35 write · 2 delete · 18 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 97
Read from the source code; the running server may list different tools.
Read 42 · Look things up without changing anything.
compressor_list_settingsfcp_discover_effectsfcp_get_app_statefcp_get_eventsfcp_get_librariesfcp_get_projectsfcp_get_timeline_infofcp_is_runningfcp_list_motion_templatesfcp_list_share_destinationsfcpxml_analyze_pacingfcpxml_check_audio_levels
Show 30 more tools
fcpxml_check_durationfcpxml_check_frame_ratesfcpxml_check_media_linksfcpxml_check_safe_zonesfcpxml_detect_duplicatesfcpxml_detect_flash_framesfcpxml_detect_gapsfcpxml_difffcpxml_export_fcp7fcpxml_export_resolvefcpxml_generate_from_clip_planfcpxml_list_clipsfcpxml_list_effectsfcpxml_list_markersfcpxml_list_rolesfcpxml_list_templatesfcpxml_parsefcpxml_timeline_statsfcpxml_validatefcpxml_workflow_statusmedia_detect_beatsmedia_detect_silencemedia_extract_audiomedia_extract_thumbnailmedia_extract_thumbnailsmedia_infomedia_list_streamsmedia_loudnessmedia_scene_detectpuppet_list_presets
Write 35 · Create, change, send or run things.
fcp_export_xmlfcp_import_xmlfcp_keyboard_shortcutfcp_menu_commandfcp_navigatefcp_reconcile_importfcp_request_importfcp_select_toolfcp_sharefcpxml_add_audiofcpxml_add_keywordfcpxml_add_marker
Show 23 more tools
fcpxml_add_titlefcpxml_add_transitionfcpxml_apply_templatefcpxml_assign_rolefcpxml_batch_add_markersfcpxml_batch_apply_transitionfcpxml_batch_assign_rolesfcpxml_batch_rename_clipsfcpxml_create_projectfcpxml_create_timelinefcpxml_fill_gapsfcpxml_import_edlfcpxml_import_srtfcpxml_prepare_importfcpxml_save_templatefcpxml_workflow_cancelfcpxml_workflow_commitpuppet_animatepuppet_build_scenepuppet_create_humanoid_rigpuppet_create_rigpuppet_multi_scenepuppet_preset_motion
Delete 2 · Delete, drop, revoke or wipe things.
fcpxml_delete_clipsfcpxml_remove_silence
Not yet classified 18 · We could not tell from the name and description.
compressor_encodefcp_doctorfcp_open_libraryfcp_playbackfcp_redofcp_undofcpxml_auto_rough_cutfcpxml_change_speedfcpxml_export_edlfcpxml_fix_flash_framesfcpxml_generate_montagefcpxml_qc_report
Show 6 more tools
fcpxml_reformatfcpxml_reorder_clipsfcpxml_split_clipfcpxml_trim_clipfcpxml_workflow_preparemedia_audio_to_midi
Secrets and settings it asks for
Other settings (environment variables or headers).
FCP_MCP_OUTPUT_DIR
Network hosts it talks to 2
api.github.com· found in codegithub.com· found in code
Files it touches
/opt/homebrew/Cellar/python@3.12/3.12.13/Frameworks/Python.framework/Versions/3.12/bin/python3.12/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/dist/fcp_mcp-0.3.0-py3-none-any.whl/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/dist/fcp_mcp-0.3.0.tar.gz/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/inventory-dist/fcp_mcp-0.3.0-py3-none-any.whl/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/inventory-dist/fcp_mcp-0.3.0.tar.gz/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/inventory-source/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/live/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/live/v0.3-final-head-installed.fcpxml/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/output4/documented-first-run-marked.fcpxml/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/output4/documented-first-run.fcpxml/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/dtd-validation.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/fcp-final-head-full.jpeg/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/first-run-trajectory.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/installed-generation.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/pre-attestation-snapshot.sha256/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/site-packages-source.sha256/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/records/wheel-smoke-final.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/run-venv/bin/fcp-mcp/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/run-venv/bin/python/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/run-venv/lib/python3.12/site-packages/fcp_mcp-0.3.0.dist-info/direct_url.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/run-venv/lib/python3.12/site-packages/fcp_mcp/__init__.py/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/source/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/state4/artifacts/22cda729-9d77-4708-bc13-f68fa9a1066d/candidate.fcpxml/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/state4/artifacts/22cda729-9d77-4708-bc13-f68fa9a1066d/diff.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/state4/artifacts/22cda729-9d77-4708-bc13-f68fa9a1066d/receipt.json/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/state4/runs.sqlite3/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/state5/private/tmp/fcp-mcp-v030-final-20260811T051833Z-69610/v0.3-final-head-evidence.fcpbundle/proc/self/fd/Users/adamsteen/fcp-mcp/.worktrees/v0.3-product-polish/.superpowers/sdd/2026-08-09-v0.3-product-launch/task-7d-invoke-installed-timeline.py- Your home directory (~)
- Any path the agent passes to its tools
Tools (97)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
compressor_encodeEncode a file using Compressor CLI. Args: input_path: Path to input media file setting_path: Path to Compressor preset (.cmprstng) output_dir: Output directory batch_name: Batch name for Compressor
compressor_list_settingsList available Compressor encoding presets.
fcp_discover_effectsList available FCP effects and transitions by scanning known locations.
fcp_doctorReport structured runtime readiness without prompting or mutating user data.
fcp_export_xmlTrigger XML export in FCP via menu automation (requires Accessibility permissions).
fcp_get_app_stateGet FCP application state — version, frontmost status.
fcp_get_eventsGet events in a library (or all libraries if name not specified). Args: library_name: Library name to filter (optional)
fcp_get_librariesGet all open libraries in Final Cut Pro (requires FCP to be running).
fcp_get_projectsGet projects in an event (or all events if name not specified). Args: event_name: Event name to filter (optional)
fcp_get_timeline_infoGet info about the current/first timeline in FCP.
fcp_import_xmlImport an FCPXML file into Final Cut Pro. Final Cut Pro controls destination selection. Select and confirm the intended library in its import dialog; this tool does not target a library. Args: fcpxml_path: Path to .fcpxml file
fcp_is_runningCheck if Final Cut Pro is currently running.
fcp_keyboard_shortcutSend a keyboard shortcut to FCP. Args: keys: Shortcut description like "cmd+c", "cmd+shift+e", "option+w"
fcp_list_motion_templatesList installed Motion templates (titles, transitions, generators, effects).
fcp_list_share_destinationsList configured FCP share destinations.
Show 82 more tools
fcp_menu_commandExecute any FCP menu command by path. Args: menu_path: Menu path like "File > Export XML..." or "Edit > Select All"
fcp_navigateNavigate to a specific timecode in FCP. Args: timecode: Timecode to navigate to (e.g., "00:01:30:00"). Opens timecode entry if provided.
fcp_open_libraryOpen a FCP library file. Args: library_path: Path to .fcpbundle file
fcp_playbackControl FCP playback. Args: action: "play", "pause", "stop", or "toggle" (space bar)
fcp_reconcile_importInspect FCP library/event/project metadata without importing or modifying the app. Updates private pending-request bookkeeping. Matching metadata does not prove full timeline contents or rendering; export/render remain app-dependent.
fcp_redoRedo the last undone action in FCP.
fcp_request_importRequest one exactly reviewed import using Apple's Open Document AppleEvent. Requires live control, client approval mode and the prepared plan hash. The destination must be uniquely open and event name unused. Acceptance is not completion. Recorded or uncertain dispatches are never automatically resent.
fcp_select_toolSwitch FCP editing tool. Args: tool: "select" (A), "trim" (T), "position" (P), "range" (R), "blade" (B), "zoom" (Z), "hand" (H)
fcp_shareTrigger a share/export from FCP. Args: destination: Share destination name (opens default if empty)
fcp_undoUndo the last action in FCP.
fcpxml_add_audioAdd an audio clip to the timeline. Args: path: Path to .fcpxml file audio_src: Path to audio file name: Clip name (defaults to filename) duration: Duration in FCPXML time (defaults to asset duration) position: "start", "end", or clip name to insert after output_path: Output file path
fcpxml_add_keywordAdd a keyword to a clip. Args: path: Path to .fcpxml file clip_name: Name of the clip value: Keyword text start: Start time in FCPXML format duration: Duration of keyword range (optional) output_path: Output file path
fcpxml_add_markerAdd a marker to a clip. Args: path: Path to .fcpxml file clip_name: Name of the clip to add the marker to start: Marker position in FCPXML time (e.g., "60060/30000s") value: Marker title/value note: Optional marker note marker_type: "standard" or "chapter" output_path: Output file path (default: adds _modified suffix)
fcpxml_add_titleAdd a title clip to the timeline. Args: path: Path to .fcpxml file text: Title text duration: Title duration in FCPXML time position: "start", "end", or clip name to insert after output_path: Output file path
fcpxml_add_transitionInsert a transition after a clip. Args: path: Path to .fcpxml file after_clip_name: Name of the clip to add transition after duration: Transition duration (default: 1 second at 29.97) name: Transition name output_path: Output file path
fcpxml_analyze_pacingAnalyze shot pacing — average/median shot length, distribution histogram. Args: path: Path to .fcpxml file
fcpxml_apply_templateApply an FCPXML template to a set of clips. Clip substitution is intentionally unavailable until a stable schema exists. Args: template_path: Path to template .fcpxml file clips_json: JSON array of clips to insert project_name: New project name output_path: Where to save
fcpxml_assign_roleSet the audio role on a clip (e.g., "Dialogue", "Music", "Effects"). Args: path: Path to .fcpxml file clip_name: Name of the clip role: Audio role name output_path: Output file path
fcpxml_auto_rough_cutAuto-assemble clips into a rough cut timeline. Args: clips_json: JSON array of clips: [{"src": str, "name"?: str, "duration": str}, ...] target_duration: Target total duration (optional — uses all clips if empty) max_clip_duration: Maximum clip duration (trims longer clips) transition_duration: If set, adds transitions between clips project_name: Project name output_path: Where to save
fcpxml_batch_add_markersAdd multiple markers at once. Args: path: Path to .fcpxml file markers_json: JSON array of markers, each: {"clip_name": str, "start": str, "value": str, "note"?: str, "type"?: str} output_path: Output file path (default: adds _modified suffix)
fcpxml_batch_apply_transitionAdd transitions between all adjacent clips in the timeline. Args: path: Path to .fcpxml file duration: Transition duration name: Transition name output_path: Output file path
fcpxml_batch_assign_rolesAssign roles to clips based on name matching rules. Args: path: Path to .fcpxml file rules_json: JSON array of rules: [{"match": "interview", "role": "Dialogue"}, ...] output_path: Output file path
fcpxml_batch_rename_clipsRename clips matching a pattern (substring replacement). Args: path: Path to .fcpxml file pattern: Text to find in clip names replacement: Text to replace with output_path: Output file path
fcpxml_change_speedChange clip playback speed. Args: path: Path to .fcpxml file clip_name: Name of the clip speed_factor: Speed multiplier (2.0 = 2x fast, 0.5 = half speed) output_path: Output file path
fcpxml_check_audio_levelsFlag clips with potential audio issues (volume adjustments, missing audio). Args: path: Path to .fcpxml file
fcpxml_check_durationVerify the timeline fits a target duration. Args: path: Path to .fcpxml file target_seconds: Target duration in seconds
fcpxml_check_frame_ratesDetect mixed frame rate issues in the timeline. Args: path: Path to .fcpxml file
fcpxml_check_media_linksVerify all referenced media files exist on disk. Args: path: Path to .fcpxml file
fcpxml_check_safe_zonesCheck for clips with transforms that might push content outside safe zones. Args: path: Path to .fcpxml file
fcpxml_create_projectCreate a new empty FCPXML project file. Args: name: Project name format_name: Video format (e.g., FFVideoFormat1080p2997, FFVideoFormat4Kp24) width: Frame width height: Frame height frame_duration: Frame duration in FCPXML time event_name: Event name output_path: Where to save (default: ~/Movies/<name>.fcpxml)
fcpxml_create_timelineBuild a timeline from a list of clip definitions. Args: clips_json: JSON array of clips, each: {"src": "/path/to/file.mov", "name"?: str, "duration": "FCPXML_time", "start"?: str, "asset_duration"?: "full_source_FCPXML_time", "role"?: str} project_name: Project name format_name: Video format name event_name: Event name output_path: Where to save
fcpxml_delete_clipsRemove clips from the timeline by name. Args: path: Path to .fcpxml file clip_names_json: JSON array of clip names to delete output_path: Output file path
fcpxml_detect_duplicatesFind clips that use the same source media. Args: path: Path to .fcpxml file
fcpxml_detect_flash_framesFind clips shorter than max_frames (potential flash frames / accidental edits). Args: path: Path to .fcpxml file max_frames: Maximum frame count to flag (default 2)
fcpxml_detect_gapsFind all gaps in the timeline. Args: path: Path to .fcpxml file
fcpxml_diffCompare two FCPXML files and show differences. Args: path_a: Path to first .fcpxml file path_b: Path to second .fcpxml file
fcpxml_export_edlExport timeline as EDL (Edit Decision List). Args: path: Path to .fcpxml file output_path: Output .edl file path
fcpxml_export_fcp7Convert FCPXML to FCP7 XML format (compatible with Premiere Pro and Avid). Args: path: Path to .fcpxml file output_path: Output file path
fcpxml_export_resolveConvert FCPXML to DaVinci Resolve-compatible format (FCPXML v1.9). Args: path: Path to .fcpxml file output_path: Output file path
fcpxml_fill_gapsReplace all gaps in the timeline with clips from a specified asset. Args: path: Path to .fcpxml file fill_asset_ref: Asset resource ID to use as fill (e.g., "r3") fill_name: Name for the fill clips output_path: Output file path
fcpxml_fix_flash_framesAuto-fix flash frames by extending very short clips to minimum duration. Args: path: Path to .fcpxml file min_frames: Minimum frame count (clips shorter than this get extended) frame_duration: Frame duration for calculating frame count output_path: Output file path
fcpxml_generate_from_clip_planGenerate FCPXML from a youtube-mcp materialized clip-plan manifest. The source clips must already have been materialized by youtube-mcp. FCP-MCP revalidates every local path through its normal path policy and verifies SHA-256 identity. Clips are placed in manifest order and remain full-duration local assets because youtube-mcp already applied source trims. A `.sources.json` sidecar preserves original YouTube URLs/time ranges.
fcpxml_generate_montageGenerate a montage/highlight reel with uniform clip durations and transitions. Args: clips_json: JSON array of clips: [{"src": str, "name"?: str, "duration": str}, ...] clip_duration: Duration for each clip in the montage transition_duration: Transition duration between clips project_name: Project name output_path: Where to save
fcpxml_import_edlConvert an EDL (Edit Decision List) to FCPXML. Args: edl_path: Path to .edl file media_dir: Directory containing media files (for resolving reel names) project_name: Project name output_path: Where to save
fcpxml_import_srtConvert SRT subtitles to title clips and add to timeline. Args: path: Path to .fcpxml file to add subtitles to srt_path: Path to .srt subtitle file output_path: Output file path
fcpxml_list_clipsList all clips in the timeline with timecodes, durations, and roles. Args: path: Path to .fcpxml file project_name: Optional project name filter (uses first project if empty)
fcpxml_list_effectsList all effects and transitions applied to clips. Args: path: Path to .fcpxml file
fcpxml_list_markersList all markers, chapter markers, and keywords across all clips. Args: path: Path to .fcpxml file
fcpxml_list_rolesList all roles and subroles used in the timeline. Args: path: Path to .fcpxml file
fcpxml_list_templatesList available FCPXML template files. Args: templates_dir: Directory to search (default: FCP_PROJECTS_DIR)
fcpxml_parseParse an FCPXML file and return a structure summary. Args: path: Path to .fcpxml file (absolute or relative to FCP_PROJECTS_DIR)
fcpxml_prepare_importPrepare and Apple-DTD-validate one event/project for an existing destination library. Does not contact Final Cut. Review the returned artifact, target and plan hash before approving fcp_request_import. Media must use scoped local file URLs.
fcpxml_qc_reportGenerate a comprehensive quality check report for the timeline. Checks: validation, gaps, flash frames, duplicates, pacing. Args: path: Path to .fcpxml file
fcpxml_reformatReformat a timeline for a different aspect ratio (e.g., 16:9 → 9:16 for vertical). Args: path: Path to .fcpxml file target_width: Target width target_height: Target height target_format_name: Target format name output_path: Output file path
fcpxml_remove_silenceRemove gaps longer than the threshold from the timeline. Args: path: Path to .fcpxml file silence_threshold_seconds: Minimum gap duration to remove (seconds) output_path: Output file path
fcpxml_reorder_clipsReorder clips in the primary spine to match the given name order. Args: path: Path to .fcpxml file clip_names_json: JSON array of clip names in desired order output_path: Output file path
fcpxml_save_templateSave the current FCPXML structure as a reusable template. Args: path: Path to .fcpxml file to use as template template_name: Name for the template output_dir: Directory to save template (default: FCP_PROJECTS_DIR)
fcpxml_split_clipSplit a clip at a given offset within the clip. Args: path: Path to .fcpxml file clip_name: Name of the clip to split split_at: Offset within the clip to split at (FCPXML time) output_path: Output file path
fcpxml_timeline_statsGet comprehensive timeline statistics — duration, clip count, resolution, pacing, etc. Args: path: Path to .fcpxml file
fcpxml_trim_clipTrim a clip's source in/out points. Args: path: Path to .fcpxml file clip_name: Name of the clip to trim new_start: New source start time (optional) new_duration: New duration (optional) output_path: Output file path
fcpxml_validateValidate FCPXML structure and report errors/warnings. Args: path: Path to .fcpxml file
fcpxml_workflow_cancelCancel a legal non-committing workflow while preserving evidence.
fcpxml_workflow_commitCommit one exactly approved transactional FCPXML candidate.
fcpxml_workflow_preparePrepare and validate a private transactional FCPXML preview.
fcpxml_workflow_statusRead one workflow's durable state and evidence assessment.
media_audio_to_midiTranscribe audio to MIDI using basic-pitch (ML audio transcription). Converts audio (from video or standalone) into MIDI note data. Returns the MIDI file path and a summary of detected notes. Requires basic-pitch: pip install basic-pitch Args: path: Path to audio file (wav, mp3, flac) or video file output_path: Where to save MIDI (default: same dir, .mid extension)
media_detect_beatsDetect beat positions in audio/music files. Returns beat timestamps that can be used for music-synced editing. Args: path: Path to audio/video file
media_detect_silenceDetect silent sections in audio/video files. Args: path: Path to media file noise_threshold: Decimal/scientific amplitude or dB scalar (e.g., "-30dB", "0.01", "1e-3"); expressions and filter syntax are rejected min_duration: Finite minimum silence duration in seconds, from 0 through 86400
media_extract_audioExtract audio track from a video file. Useful for feeding video audio into transcription, analysis, or the sheet-music-maker pipeline (basic-pitch → MIDI → notation). Args: path: Path to video file output_path: Where to save audio (default: same dir, .wav extension) format: Audio format: wav, mp3, flac (default: wav)
media_extract_thumbnailExtract a frame thumbnail from video at a specific time. Args: path: Path to video file time: Time in seconds to extract frame from output_path: Where to save thumbnail (default: auto-generated) width: Thumbnail width in pixels
media_extract_thumbnailsExtract thumbnails at regular intervals (contact sheet / storyboard). Args: path: Path to video file interval: Seconds between thumbnails output_dir: Directory to save thumbnails width: Thumbnail width in pixels
media_infoGet detailed media file info (codec, resolution, duration, bitrate, etc.). Args: path: Path to media file
media_list_streamsList all audio, video, and subtitle streams in a media file. Args: path: Path to media file
media_loudnessAnalyze audio loudness (EBU R128 / LUFS). Returns integrated loudness, loudness range, and true peak. Args: path: Path to audio/video file
media_scene_detectDetect scene changes in video. Useful for automatic clip segmentation. Args: path: Path to video file threshold: Scene change sensitivity (0.0-1.0, lower = more sensitive)
puppet_animateBuild a puppet scene with custom keyframe animations. Args: rigs_json: JSON array of rig definitions animations_json: JSON array of animations: [ { "part": "head", "property": "position", "keyframes": [ {"time": "0s", "value": [0, 200], "interp": "smooth2"}, {"time": "150150/30000s", "value": [20, 210], "interp": "smooth2"}, {"time": "300300/30000s", "value": [0, 200], "interp": "smooth2"} ] }, { "part":…
puppet_build_sceneBuild an FCPXML timeline from one or more puppet rigs. Each rig's parts become layered connected clips with transforms applied. Import the resulting .fcpxml into FCP to see the assembled characters. Args: rigs_json: JSON array of rig definitions (same format as puppet_create_rig). Each rig: {"name": str, "position": [x, y], "parts": [...]} duration: Scene duration in FCPXML time (default 10 seconds at 29.97fps) project_name: Project name output_path: Where to save (default: ~/Movies/<project_name>.fcpxml)
puppet_create_humanoid_rigCreate a standard 6-part humanoid rig from a folder of images. Expects PNG files named: head.png, body.png, left_arm.png, right_arm.png, left_leg.png, right_leg.png in the image directory. Parts are auto-positioned for a standard humanoid layout on a 1080p frame. Args: name: Character name image_dir: Absolute path to folder containing part images position_x: X position on screen (0 = center) position_y: Y position on screen (0 = center) scale: Overall scale multiplier
puppet_create_rigDefine a puppet character rig from body parts. Each part is a separate image (PNG) that gets positioned and layered to form a character. Parts can be animated independently. Args: rig_json: JSON object defining the character: { "name": "my_character", "position": [0, 0], "parts": [ { "name": "head", "image": "/absolute/path/to/head.png", "position": [0, 200], "scale": 1.0, "rotation": 0, "anchor": [0, -50], …
puppet_list_presetsList all available puppet animation presets with descriptions. Returns details on each preset, what body parts it uses, and what parameters it accepts.
puppet_multi_sceneBuild a multi-scene puppet animation with different presets per scene. Generates one FCPXML per scene. Useful for storyboarding a sequence. Args: rigs_json: JSON array of rig definitions (shared across scenes) scenes_json: JSON array of scene definitions: [ {"name": "intro", "duration": "300300/30000s", "preset": "idle"}, {"name": "greeting", "duration": "150150/30000s", "preset": "wave"}, {"name": "walking", "duration": "600600/30000s", "preset": "walk", "cycles": 4} ] project_name: Base project name (scenes get suffixed) o…
puppet_preset_motionBuild a puppet scene with a preset motion applied. Available presets: - "idle": Subtle breathing/sway (keeps character alive) - "bounce": Vertical bouncing - "walk": Full walk cycle (arms, legs, body bob) - "talk": Mouth movement + head bob - "wave": Arm waving (applies to left_arm) Args: rig_json: JSON rig definition preset: Motion preset name duration: Scene duration project_name: Project name output_path: Where to save cycles: Number of motion cycles (more = faster movement) intensity: Scale factor for motion amplitude (0.5 = subtle, 2.0 = exaggerated)
Signals
- Stars
- 11
- Forks
- 4
- Open issues
- 1
- Weekly downloads
- 385
- Last commit
- Oct 12, 2026 (17 days ago)
- Last release
- Apr 23, 2026 (6 months ago)
- Last package publish
- Apr 23, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.dreliq9/fcp-mcp- Version
- 0.2.0
- Auth
- No auth
- Packages
- pypi fcp-mcp
- License
- MIT
- Repository
- github.com/dreliq9/fcp-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from dreliq9
Cite this page
fcp-mcp — Final Cut Pro MCP Server. Agent Mart. https://agentmart.dev/connectors/dreliq9-fcp-mcp (last updated 2026-10-25)