Cassette Video Edit
Cassette-Editor/oh-my-cassette
Edit, trim, cut, caption, subtitle, reframe, combine, add background music to, or export video, audio, and image files through Cassette.
Edit Final Cut Pro timelines with natural language via FCPXML.
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DareDev256/fcp-mcp-server final-cut-pro --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill .claude/skills/final-cut-pro && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .claude/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DareDev256/fcp-mcp-server/tree/main/skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DareDev256/fcp-mcp-server final-cut-pro --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill .agents/skills/final-cut-pro && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .agents/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DareDev256/fcp-mcp-server final-cut-pro --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill .cursor/skills/final-cut-pro && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .cursor/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DareDev256/fcp-mcp-server.git --path skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DareDev256/fcp-mcp-server final-cut-pro --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill .gemini/skills/final-cut-pro && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .gemini/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DareDev256/fcp-mcp-server final-cut-proInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill .github/skills/final-cut-pro && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .github/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DareDev256/fcp-mcp-server final-cut-pro --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DareDev256/fcp-mcp-server.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill .opencode/skills/final-cut-pro && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "final-cut-pro" agent skill from https://github.com/DareDev256/fcp-mcp-server/tree/main/skill into .opencode/skills/final-cut-pro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "final-cut-pro", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
final-cut-proEdit Final Cut Pro timelines with natural language via FCPXML.
Final Cut Pro is an agent skill from DareDev256/fcp-mcp-server. Edit Final Cut Pro timelines with natural language via FCPXML. Use when the user wants to analyze, cut, trim, mark up, transcribe, montage, or export a Final Cut Pro project, mentions .fcpxml or .fcpxmld files, asks to remove silence or filler words from a video edit, wants a rough cut assembled from source clips, wants markers or chapters added from a transcript or SRT, or wants an edit pushed into a running Final Cut Pro. Requires the fcp-mcp-server MCP server.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).
It sits in Media & Creative, covering Transcription and MCP servers. It works with Model Context Protocol, Python and ElevenLabs. The repository describes itself as: 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. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2b39ac0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Final Cut Pro loads about 1.9k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 1,023 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DareDev256/fcp-mcp-server at commit 2b39ac0, republished under its MIT licence (© DareDev256). 1,023 words, ~1,894 tokens.
.claude/skills/final-cut-pro/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Always inspect then diagnose before you edit. Timelines carry structure
that is not obvious from a filename, and an edit against a wrong assumption is
expensive to undo.
inspect with action analyze_timeline for shape, duration, resolution.diagnose with action validate_timeline for gaps, flash frames, duplicates.preview://<path> resource to actually SEE the timeline before
you change anything. It renders a self-contained HTML timeline, including
connected clips on their own lane rows, so you can see B-roll and audio
layers, not just the primary storyline.| Group | Use it for |
|---|---|
inspect | Read-only understanding. Start here, always. |
diagnose | Find problems: gaps, flash frames, dead air, duplicates, beats. |
edit | Change clips: insert, delete, trim, split, reorder, retime, remove silence. |
mark | Markers and chapters, including SRT/VTT and beat import. |
generate | Build new structure: rough cuts, montages, A/B roll, templates, and import_edl_json from a video-use cut list. |
transcript | Transcribe locally, then edit or clean up by what was SAID. transcript_pack puts the whole shoot on one page — read it before planning a dialogue edit. Every action takes backend: "elevenlabs" for speaker labels and audio events; that uploads the media to ElevenLabs and needs ELEVENLABS_API_KEY — the default local never leaves the machine. |
deliver | Export to other NLEs, reformat, relink, push into FCP. |
preview | SEE the edit: proxy render, contact sheet, and a filmstrip+waveform read from the source media. |
watch | Close the round-trip: notice the operator's Cmd-E export and diff it against the last one. |
index | The analysis cache. index_status says how old it is; index_build warms every source in a timeline; index_clear drops it. Nothing depends on it. |
scenes | Shot boundaries from the pixels. detect_scenes lists cuts per clip in source and timeline time (PySceneDetect when installed via [scenes], else ffmpeg's coarser scene filter); scenes_to_markers drops a marker on each; scenes_split cuts the clips there. Results are cached in the index. |
organize | Bulk library logging and the ledger. organize_auto proposes keywords per clip from cached captions and the transcript (apply=true writes them). Select clips by clip_name glob, keyword and/or role, then organize_keywords (add/remove/replace), organize_rate (favorite/rejected/clear) or organize_roles — each writes a _organized copy. history lists every recorded operation for the file's folder; undo moves the last n outputs into the journal's undone/ folder (never deletes, refuses if a file changed since). |
find | "Where is the bit where…" as a router. find_shots ranks moments by what was said (transcript), what was logged (names, keywords, notes, markers, audio events) and, with the [find] extra and a downloaded local model, what the frames look like — the first line names which tiers answered and why one could not. find_index warms scenes and captions and reports which clips have no transcript (never transcribes, never online). find_to_timeline assembles the hits into a _found selects reel with a diversity score. |
Every call takes {"action": "...", "args": {...}}. If you pass an action the
group does not own, the error lists the valid ones — read it rather than
guessing.
3600/2400s is 1.5 seconds. Never do
float math on timecode and never round it yourself.offset is the timeline position. start is the source in-point. They
are different numbers and confusing them silently shifts an edit.<asset-clip>
lives in the library, <clip> lives on the timeline.<spine> is the primary storyline. Connected clips hang off spine
clips by lane: positive is above (video), negative is below (audio)..fcpxmld bundles are directories, wrapping Info.fcpxml plus sidecar
data. Sidecars must be preserved on save or object-tracking and Cinematic
data is destroyed.There are two detect-then-fix pairs, and they are not interchangeable. Both
follow the same split as every other detect/fix pair in this server: the
detector lives in diagnose, the fixer lives in edit.
detect_media_silence (diagnose) → remove_media_silence (edit) reads
the actual source audio with ffmpeg. Accurate, slower, needs ffmpeg
installed.detect_silence_candidates (diagnose) → remove_silence_candidates
(edit) uses timeline heuristics only. Fast, no ffmpeg, and it guesses.Use the media versions when correctness matters. Say which one you used.
inspect → diagnose → read the preview:// resource.transcript with action transcript_pack if the edit is dialogue-driven — one page of everything said, so the plan is made from the words rather than the clip names.generate for the assembly, edit for the refinement, mark for chapters.preview with action preview_check over the range you changed, before
offering the edit as done. This is what makes the edit non-blind. The
preview:// resource and preview_timeline both draw from the XML — they
show what was WRITTEN, so they cannot tell a fixed cut from a broken one.
preview_check reads the media. Do not substitute one for the other, and
do not skip it because the tool call reported success.deliver, either exporting or push_to_fcp into the running app.watch with action watch_start once per session, then watch_pull after
the operator exports. Final Cut Pro has NO programmatic export — Apple never
shipped one — so the loop only closes when they press Cmd-E. Say so plainly
rather than waiting in silence.preview_render summary past the word UNVERIFIED. It means the
rendered file's duration could not be read back, so nothing about that render
has been confirmed.Substituted: line. The proxy renders transitions as hard
cuts, so a dissolve in the timeline is NOT what you are looking at.push_to_fcp was called
and reported success. Writing an .fcpxml file is not the same as importing it.preview:// and look.© DareDev256, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skill of DareDev256/fcp-mcp-server.
Open the folder on GitHubat commit 2b39ac0
Final Cut Pro next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Final Cut Pro this skillDareDev256/fcp-mcp-server | 119 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Cassette Video EditCassette-Editor/oh-my-cassette | 157 | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| KinocutKyaniteLabs/kinocut | 192 | — | ~5.7k | Automated safety check: Pass | Apache-2.0 | |
| Kinocut RepurposeKyaniteLabs/kinocut | 192 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| OpenStoryline Install HelperFireRedTeam/FireRed-OpenStoryline | 3.5k | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Setupguaardvark/guaardvark | 251 | 1 repos | ~1.2k | Automated safety check: Pass | MIT |
Cassette-Editor/oh-my-cassette
Edit, trim, cut, caption, subtitle, reframe, combine, add background music to, or export video, audio, and image files through Cassette.
KyaniteLabs/kinocut
Use Kinocut for guarded video editing, source-backed planning, FFmpeg operations, media analysis, subtitles, audio workflows, Hyperframes or Revideo rendering, repurposing packages, and release…
KyaniteLabs/kinocut
Use the current Kinocut tools to turn one local video path into a short platform-ready clip package with manifests, review artifacts, and human approval gates.
FireRedTeam/FireRed-OpenStoryline
Installs, repairs and starts a local source checkout of FireRed-OpenStoryline, from prerequisites and a venv to resources, config and the MCP and web servers.
guaardvark/guaardvark
Connect this agent to a running Guaardvark (self-hosted AI studio) and check what it can do right now.
PackmindHub/packmind
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.
Works with
Categories
Edit Final Cut Pro timelines with natural language via FCPXML. Final Cut Pro is an agent skill from DareDev256/fcp-mcp-server. Edit Final Cut Pro timelines with natural language via FCPXML.
Final Cut Pro fits situations like: the user wants to analyze; export a Final Cut Pro project; mentions .fcpxml; asks to remove silence.
Run `npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a claude-code`. Or copy the skill folder (skill in DareDev256/fcp-mcp-server) into .claude/skills/final-cut-pro in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a codex`. Or copy the skill folder (skill in DareDev256/fcp-mcp-server) into .agents/skills/final-cut-pro in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DareDev256/fcp-mcp-server --skill final-cut-pro -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/final-cut-pro, .gemini/skills/final-cut-pro, .github/skills/final-cut-pro and .opencode/skills/final-cut-pro in your project.
Going by SKILL.md and its folder, Final Cut Pro needs credentials named ELEVENLABS_API_KEY. Our summary lists: A credential in ELEVENLABS_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Final Cut Pro is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Final Cut Pro: Cassette Video Edit (Cassette-Editor/oh-my-cassette, 157 stars), Kinocut (KyaniteLabs/kinocut, 192 stars), Kinocut Repurpose (KyaniteLabs/kinocut, 192 stars) and OpenStoryline Install Helper (FireRedTeam/FireRed-OpenStoryline, 3.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DareDev256 (a GitHub user) maintains it in DareDev256/fcp-mcp-server, which has 119 GitHub stars. The repository was last updated on September 26, 2026.
Source: DareDev256/fcp-mcp-server on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.