Communitygithub.com

FCP-MCP-Server – Final Cut Pro Bearbeitung

Bearbeite Final-Cut-Pro-Timelines mit natürlicher Sprache via FCPXML. Nutze es, wenn der Benutzer ein Final-Cut-Pro-Projekt analysieren, schneiden, trimmen, markieren, transkribieren, montieren oder exportieren möchte, .fcpxml- oder .fcpxmld-Dateien erwähnt, Stille oder Füllwörter aus einem Videoschnitt entfernen will, einen Rohschnitt aus Quellclips zusammenstellen möchte, Marker oder Kapitel aus einem Transkript oder einer SRT hinzugefügt haben will oder einen Schnitt in ein laufendes Final Cut Pro pushen möchte. Erfordert den fcp-mcp-server MCP-Server.

Was ist FCP-MCP-Server – Final Cut Pro Bearbeitung?

Dieses Skill ermöglicht die vollständige Bearbeitung von Final-Cut-Pro-Projekten über natürliche Sprachbefehle, ohne manuelle Arbeit in der Timeline. Es analysiert, diagnostiziert, bearbeitet und exportiert FCPXML-Dateien und unterstützt eine Vielzahl von Workflows: von der Erkennung und Entfernung von Stille über die Transkription und Marker-Setzung bis hin zum Zusammenbau von Rohschnitten und dem Export in andere NLEs. Es funktioniert mit jedem MCP-kompatiblen Client und erfordert den installierten fcp-mcp-server, um über Werkzeuge wie `inspect`, `diagnose`, `edit`, `transcript` und `deliver` zu kommunizieren. Der Entwickler kann Timeline-Inhalte vor jeder Änderung als interaktives HTML-Vorschau betrachten und nach einem Export die Änderungen per Diff-Workflow prüfen. Besondere Vorsicht ist bei Zeitwerten, Offsets und der Unterscheidung von Medien- und Heuristik-basierten Stille-Erkennungen geboten. Transkription kann lokal oder über ElevenLabs (für Sprecherlabel) erfolgen. Die Suche nach bestimmten Szenen kombiniert Transkripte, Logging und – mit einem zusätzlichen lokalen Modell – sogar Bildinhalte.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DareDev256/fcp-mcp-server/tree/HEAD/skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Final Cut Pro Bearbeitung via FCPXML

Bevor du etwas anfasst

Führe immer zuerst ein inspect und dann ein diagnose durch, bevor du edit verwendest. Timelines tragen eine Struktur in sich, die aus einem Dateinamen nicht ersichtlich ist, und eine Bearbeitung auf Basis einer falschen Annahme ist teuer rückgängig zu machen.

  1. inspect mit der Aktion analyze_timeline für Form, Dauer, Auflösung.
  2. diagnose mit der Aktion validate_timeline für Lücken, Einzelbildfehler, Duplikate.
  3. Lies die Ressource preview://<path>, um die Timeline WIRKLICH zu sehen, bevor du etwas änderst. Sie rendert eine eigenständige HTML-Timeline einschließlich verbundener Clips in eigenen Spurzeilen, sodass du B-Roll- und Audiospuren sehen kannst, nicht nur die primäre Handlungsstrang.

Die sieben Gruppen

GruppeVerwendung
inspectSchreibgeschütztes Verständnis. Beginne hier, immer.
diagnoseFinde Probleme: Lücken, Einzelbildfehler, tote Luft, Duplikate, Beats.
editÄndere Clips: einfügen, löschen, trimmen, teilen, umordnen, Zeitraffer, Stille entfernen.
markMarker und Kapitel, einschließlich SRT/VTT- und Beat-Import.
generateErstelle neue Strukturen: Rohschnitte, Montagen, A/B-Rollen, Vorlagen und import_edl_json aus einer Videoschnittliste.
transcriptTranskribiere lokal, bearbeite dann oder bereinige nach dem, was GESAGT wurde. transcript_pack legt das gesamte Material auf eine Seite – lies es, bevor du einen Dialog-Schnitt planst. Jede Aktion akzeptiert backend: "elevenlabs" für Sprecherlabel und Audioereignisse; das lädt das Medium zu ElevenLabs hoch und benötigt ELEVENLABS_API_KEY – die Standardeinstellung local verlässt niemals die Maschine.
deliverExportiere in andere NLEs, formatiere um, verlinke neu, pushe in FCP.
previewSIEHE die Bearbeitung: Proxy-Render, Kontaktblatt und ein Filmstreifen+Wellenform gelesen aus dem Quellmedium.
watchSchließe den Kreislauf: bemerke den Cmd-E-Export des Bedieners und vergleiche ihn mit dem letzten.
indexDer Analyse-Cache. index_status sagt, wie alt er ist; index_build wärmt jede Quelle in einer Timeline; index_clear verwirft ihn. Nichts hängt davon ab.
scenesSzenengrenzen aus den Pixeln. detect_scenes listet Schnitte pro Clip in Quell- und Timeline-Zeit (PySceneDetect, wenn via [scenes] installiert, sonst ffmpegs gröberer Szenenfilter); scenes_to_markers setzt einen Marker auf jeden; scenes_split schneidet dort. Ergebnisse werden im Index zwischengespeichert.
organizeMassen-Logging von Bibliotheken und das Journal. organize_auto schlägt Schlüsselwörter pro Clip aus zwischengespeicherten Untertiteln und dem Transkript vor (apply=true schreibt sie). Wähle Clips nach clip_name-Glob, keyword und/oder role, dann organize_keywords (hinzufügen/entfernen/ersetzen), organize_rate (favorisieren/ablehnen/löschen) oder organize_roles – jeder schreibt eine _organized-Kopie. history listet jeden aufgezeichneten Vorgang für den Ordner der Datei; undo verschiebt die letzten n Ausgaben in den undone/-Ordner des Journals (löscht nie, verweigert, wenn sich eine Datei seitdem geändert hat).
find"Wo ist die Stelle, an der …" als Router. find_shots bewertet Momente nach dem, was gesagt wurde (Transkript), was geloggt wurde (Namen, Schlüsselwörter, Notizen, Marker, Audioereignisse) und, mit dem Extra [find] und einem heruntergeladenen lokalen Modell, wonach die Bilder aussehen – die erste Zeile nennt, welche Stufen geantwortet haben und warum eine nicht antworten konnte. find_index wärmt Szenen und Untertitel und meldet, welche Clips kein Transkript haben (transkribiert nie, nie online). find_to_timeline setzt die Treffer zu einer _found-Auswahlspule mit einem Diversitäts-Score zusammen.

Jeder Aufruf nimmt {"action": "...", "args": {...}}. Wenn du eine Aktion übergibst, die die Gruppe nicht besitzt, listet der Fehler die gültigen – lies ihn, anstatt zu raten.

FCPXML-Fakten, die dich beißen werden

  • Zeit ist rational, niemals Gleitkommazahl. 3600/2400s sind 1,5 Sekunden. Führe niemals Gleitkomma-Mathematik auf Timecode durch und runde ihn niemals selbst.
  • offset ist die Timeline-Position. start ist der Quell-In-Punkt. Es sind unterschiedliche Zahlen, und sie zu verwechseln verschiebt eine Bearbeitung lautlos.
  • Bibliotheks-Clips und Timeline-Clips sind unterschiedliche Elemente. <asset-clip> lebt in der Bibliothek, <clip> lebt auf der Timeline.
  • Marker sind Kinder von Clips, nicht Geschwister.
  • <spine> ist die primäre Handlung. Verbundene Clips hängen an Spine-Clips mittels Lane: positiv ist oben (Video), negativ ist unten (Audio).
  • .fcpxmld-Bündel sind Verzeichnisse, die Info.fcpxml plus Sidecar-Daten enthalten. Sidecars müssen beim Speichern erhalten bleiben, sonst werden Objektverfolgung und Kinodaten zerstört.
  • Doppelte Clip-Namen sind häufig. Bevorzuge elementbasierte Operationen gegenüber Namenssuche, wo ein Werkzeug beides anbietet.

Stille entfernen: wähle die richtige

Es gibt zwei Erkennungs-Bearbeitungs-Paare, und sie sind nicht austauschbar. Beide folgen dem gleichen Aufteilungsprinzip wie jedes andere Erkennungs/Bearbeitungs-Paar in diesem Server: der Detektor lebt in diagnose, der Bearbeiter in edit.

  • detect_media_silence (diagnose) → remove_media_silence (edit) liest die tatsächliche Quell-Audio mit ffmpeg. Genau, langsamer, benötigt ffmpeg.
  • detect_silence_candidates (diagnose) → remove_silence_candidates (edit) verwendet nur Timeline-Heuristiken. Schnell, kein ffmpeg, und es rät.

Verwende die Medienversionen, wenn Korrektheit wichtig ist. Sage, welche du verwendet hast.

Arbeitsreihenfolge, die in der Regel hält

  1. inspect → diagnose → lies die preview://-Ressource.
  2. transcript mit der Aktion transcript_pack, wenn die Bearbeitung dialoggetrieben ist – eine Seite von allem Gesagten, sodass der Plan aus den Worten und nicht aus den Clip-Namen gemacht wird.
  3. generate für den Zusammenbau, edit für die Verfeinerung, mark für Kapitel.
  4. preview mit der Aktion preview_check über den Bereich, den du geändert hast, bevor du die Bearbeitung als fertig anbietest. Das macht die Bearbeitung nicht blind. Die Ressource preview:// und preview_timeline zeichnen beide aus dem XML – sie zeigen, was GESCHRIEBEN wurde, daher können sie einen korrigierten Schnitt nicht von einem defekten unterscheiden. preview_check liest die Medien. Ersetze nicht das eine durch das andere und überspringe es nicht, weil der Tool-Aufruf Erfolg gemeldet hat.
  5. deliver, entweder exportieren oder push_to_fcp in die laufende App.
  6. watch mit der Aktion watch_start einmal pro Sitzung, dann watch_pull nachdem der Bediener exportiert hat. Final Cut Pro hat KEINEN programmatischen Export – Apple hat nie einen ausgeliefert – daher schließt sich der Kreislauf nur, wenn sie Cmd-E drücken. Sage das deutlich anstatt still zu warten.

Nicht tun

  • Bearbeite nicht ohne einen Diagnose-Durchlauf. Einzelbildfehler und Lücken summieren sich.
  • Nimm nicht an, dass ffmpeg oder Whisper installiert sind. Beide degradieren anmutig und geben nichts zurück, statt einen Fehler zu werfen, also überprüfe die Antwort.
  • Lies keine Zusammenfassung von preview_render über das Wort UNVERIFIED hinaus. Es bedeutet, dass die Dauer der gerenderten Datei nicht zurückgelesen werden konnte, also wurde nichts über diesen Render bestätigt.
  • Ignoriere keine Substituted:-Zeile. Der Proxy rendert Übergänge als harte Schnitte, daher ist eine Blende in der Timeline NICHT das, was du siehst.
  • Behaupte nicht, dass eine Bearbeitung in Final Cut Pro gelandet ist, es sei denn, push_to_fcp wurde aufgerufen und hat Erfolg gemeldet. Eine .fcpxml-Datei zu schreiben ist nicht dasselbe wie sie zu importieren.
  • Vertraue nicht der eigenen Erfolgsmeldung eines Tools als Beweis, dass die Timeline richtig aussieht. Lies preview:// und schau nach.

Verwandte Skills