Final Cut Pro MCP Server

Final Cut Pro MCP Server

Enables 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.

Category
Visit Server

README

Final Cut Pro CLI / MCP

macOS에서 설치된 Final Cut Pro를 로컬 CLI 또는 MCP 서버로 감싸서, 사람이 직접 누르지 않고도 AI가 작업을 호출할 수 있게 만드는 프로젝트입니다.

용도

이 프로젝트는 이런 경우를 위한 것입니다.

  • Final Cut Pro는 이미 설치되어 있고, AI에게 반복 작업을 시키고 싶은 경우
  • 영상 편집을 자세히 모르지만 자연어로 AI에게 시켜서 작업 흐름을 단순화하고 싶은 경우
  • Final Cut Pro의 현재 상태를 읽고, 프로젝트나 라이브러리를 확인하고, FCPXML을 가져오는 작업을 자동화하고 싶은 경우

핵심 개념은 단순합니다.

  • Final Cut Pro가 먼저 Mac에 설치되어 있어야 합니다.
  • 이 프로젝트가 Final Cut Pro와 통신하는 CLI/MCP 레이어 역할을 합니다.
  • AI는 Final Cut Pro를 직접 아는 것이 아니라, 이 도구가 노출한 명령이나 MCP tool을 통해 Final Cut Pro를 조작합니다.

즉 구조는 아래와 같습니다.

AI client
  -> this CLI / MCP server
  -> Final Cut Pro on your Mac

현재 가능한 것

현재 구현은 Final Cut Pro에서 공식적으로 확인되는 자동화 표면에 맞춰져 있습니다.

  • 설치된 Final Cut Pro 앱 감지
  • Final Cut Pro 실행
  • 환경/권한 점검(doctor)
  • 라이브러리, 이벤트, 프로젝트 읽기
  • .fcpxml 파일 import
  • 5초 타이틀 전용 프로젝트 생성
  • 멀티 세그먼트 스토리보드 프로젝트 생성

이 프로젝트는 아직 Final Cut Pro 전체 편집 기능을 직접 제어하는 수준은 아닙니다. 현재 Apple Events 사전은 읽기 중심이라서, 깊은 편집 자동화는 보통 아래 방식으로 확장해야 합니다.

  • FCPXML 생성/수정
  • Shortcuts 또는 workflow extensions
  • Accessibility 기반 UI 자동화

언제 쓰면 좋은가

영상 편집 자체를 잘 모르는 사람도 아래처럼 쓸 수 있습니다.

  • "지금 열려 있는 라이브러리와 프로젝트 목록 보여줘"
  • "이 FCPXML 가져와서 프로젝트 초안 만들기"
  • "AI가 현재 프로젝트 구조를 읽고 다음 작업 순서를 제안하게 하기"

즉, 편집 기술을 모두 외우는 대신 AI에게 지시하고, AI는 이 도구를 통해 Final Cut Pro에 작업을 전달하는 방식입니다.

설치 전제

먼저 아래가 준비되어 있어야 합니다.

  • macOS
  • Final Cut Pro 또는 Final Cut Pro Trial 설치
  • Node.js 22 이상
  • Final Cut Pro를 최소 1번은 직접 실행한 상태

권한도 필요합니다.

  • 첫 자동화 시도 때 macOS가 Automation 권한을 물을 수 있습니다.
  • 필요하면 접근성 권한도 나중에 추가로 필요할 수 있습니다.

설치 방법

cd /Users/minwokim/Documents/GitHub/final-cut-pro-mcp
npm install
npm run build

빌드 후 CLI와 MCP 엔트리는 각각 아래 파일입니다.

  • dist/cli.js
  • dist/mcp.js

CLI로 쓰는 방법

AI 연결 없이 로컬 명령으로만 써도 됩니다.

npm run cli -- help
npm run cli -- app-info
npm run cli -- open
npm run cli -- doctor --json
npm run cli -- list-libraries --json
npm run cli -- import-fcpxml ./example.fcpxml
npm run cli -- create-title-project --text 시작 --seconds 5
npm run cli -- create-title-project --text 시작 --seconds 5 --effect zoom
npm run cli -- create-storyboard-project --segments "시작|2|zoom;핵심|2|move;마무리|1|fade"

create-title-project에서 현재 지원하는 효과 프리셋:

  • basic: 기본 타이틀 + 스케일 확대 키프레임
  • zoom: Final Cut 기본 Zoom 타이틀
  • fade: Final Cut 기본 Fade 타이틀
  • move: Final Cut 기본 Move 타이틀

create-storyboard-project는 한 프로젝트 안에 여러 자막 컷을 순서대로 생성합니다.

  • 인라인 입력: --segments "문구|초|효과;문구|초|효과"
  • 파일 입력: --segments-file ./story.json

story.json 예시:

{
  "segments": [
    { "text": "시작", "durationSeconds": 2, "effectPreset": "zoom" },
    { "text": "핵심 장면", "durationSeconds": 2, "effectPreset": "move", "positionY": -120 },
    { "text": "마무리", "durationSeconds": 1, "effectPreset": "fade" }
  ]
}

CLI만 쓸 거라면 MCP는 굳이 필요 없습니다.

AI에 탑재하는 방법

AI가 이 도구를 호출하게 하려면 MCP를 쓰는 편이 맞습니다. MCP를 지원하는 AI 클라이언트에 이 서버를 등록하면, AI가 아래 tool을 통해 Final Cut Pro를 조작할 수 있습니다.

서버 실행:

npm run mcp

배포용으로 연결할 때는 보통 아래처럼 dist/mcp.js를 stdio 명령으로 등록하면 됩니다.

node /Users/minwokim/Documents/GitHub/final-cut-pro-mcp/dist/mcp.js

AI 클라이언트에서 연결되면 현재 노출되는 tool은 다음과 같습니다.

  • fcp_app_info
  • fcp_open
  • fcp_doctor
  • fcp_list_libraries
  • fcp_import_fcpxml
  • fcp_create_title_project
  • fcp_create_storyboard_project

정리하면:

  • 사람이 AI에게 자연어로 요청
  • AI가 MCP tool 호출
  • 이 서버가 로컬 Final Cut Pro에 명령 전달

어떤 AI에 연결할 수 있나

현재 기준으로는 아래처럼 정리하는 게 정확합니다.

  • Codex: 가능. 로컬 stdio MCP 서버를 바로 등록할 수 있습니다.
  • Claude Code: 가능. 로컬 stdio MCP 서버를 바로 등록할 수 있습니다.
  • Gemini CLI: 가능. ~/.gemini/settings.json에 MCP 서버를 등록하는 방식입니다.
  • ChatGPT 웹/앱: 부분 가능. 다만 이 프로젝트의 현재 형태인 로컬 stdio 서버를 그대로 붙일 수는 없습니다.

중요한 차이는 여기입니다.

  • Codex, Claude Code, Gemini CLI는 로컬 머신에서 MCP 프로세스를 직접 실행할 수 있습니다.
  • ChatGPT는 현재 앱/개발자 모드에서 MCP를 지원하지만, 공식 문서 기준으로 원격 HTTP 또는 SSE 방식이 대상입니다.

즉, 현재 이 프로젝트는 아래 세 가지에는 바로 연결됩니다.

  • Codex
  • Claude Code
  • Gemini CLI

반대로 ChatGPT에 바로 붙이려면 추가 작업이 필요합니다.

  • 현재 stdio 서버를 원격 HTTP 또는 SSE MCP 서버로 감싸기
  • 또는 별도 브리지 서버를 두고 ChatGPT Apps / Developer mode로 연결하기

이건 공식 문서를 바탕으로 한 정리입니다. ChatGPT에서 MCP 자체는 이제 되지만, 이 프로젝트의 현재 로컬 stdio 형태를 그대로 연결하는 것은 맞지 않습니다.

클라이언트별 연결 방법

Codex

이미 이 Mac에서는 아래 명령으로 등록해 둔 상태입니다.

codex mcp add final-cut-pro -- node /Users/minwokim/Documents/GitHub/final-cut-pro-mcp/dist/mcp.js

확인:

codex mcp list
codex mcp get final-cut-pro

코드를 바꾼 뒤에는 다시 빌드해야 합니다.

cd /Users/minwokim/Documents/GitHub/final-cut-pro-mcp
npm run build

Claude Code

Claude Code는 로컬 stdio MCP 서버를 직접 등록할 수 있습니다.

claude mcp add --transport stdio final-cut-pro -- \
  node /Users/minwokim/Documents/GitHub/final-cut-pro-mcp/dist/mcp.js

확인:

claude mcp list
claude mcp get final-cut-pro

Gemini CLI

Gemini CLI는 공식 문서 기준으로 ~/.gemini/settings.json에서 MCP 서버를 구성합니다.

예시:

{
  "mcpServers": {
    "final-cut-pro": {
      "command": "node",
      "args": [
        "/Users/minwokim/Documents/GitHub/final-cut-pro-mcp/dist/mcp.js"
      ]
    }
  }
}

그 뒤 Gemini CLI를 실행하면 됩니다.

gemini

ChatGPT

ChatGPT도 지금은 MCP 기반 앱/커넥터를 지원합니다. 다만 이 프로젝트는 현재 로컬 stdio 서버이므로 그대로는 연결 대상이 아닙니다.

정리하면:

  • ChatGPT에서 MCP 자체는 가능
  • 하지만 현재 프로젝트는 ChatGPT용으로 바로 연결되는 형태는 아님
  • ChatGPT에 붙이려면 원격 HTTP 또는 SSE MCP 엔드포인트가 추가로 필요

첫 번째 데모 프롬프트

사용자 입장에서 가장 직관적인 데모 문장은 이런 식이 맞습니다.

프로그램을 열어서 프로젝트 하나 파고, 자막으로 "시작" 이라는 문구로 시작되는 5초짜리 영상 만들어줘.

이제 이 문장은 실제로 처리 가능한 프롬프트입니다.

현재 구현으로 바로 가능한 프롬프트:

  • Final Cut Pro 열어줘
  • 지금 상태 점검해줘(doctor 실행)
  • 현재 라이브러리와 프로젝트 구조 읽어줘
  • 이 FCPXML 가져와줘: /절대/경로/example.fcpxml
  • 무제 라이브러리에 프로젝트 하나 만들고, 시작이라는 문구가 들어간 5초짜리 타이틀 프로젝트 만들어줘
  • 3컷 스토리보드로 만들어줘: 시작(2초, zoom), 핵심(2초, move), 마무리(1초, fade)

이 타이틀 프로젝트 생성은 내부적으로 아래 방식으로 동작합니다.

  • Final Cut Pro용 FCPXML 생성
  • 기존 .fcpbundle 라이브러리 지정 import
  • 5초 시퀀스와 텍스트 타이틀 프로젝트 생성

다만 아직 아래 단계는 별도 구현이 필요합니다.

  • 타임라인 세부 편집
  • 실미디어(영상/오디오) 자동 배치 및 컷 편집
  • 최종 영상 export

추천 사용 시나리오

예를 들어 실제 편집을 잘 모르는 사용자는 이런 식으로 쓸 수 있습니다.

  • "Final Cut Pro 열고 현재 라이브러리 구조부터 읽어줘"
  • "내가 준 FCPXML을 가져와서 초안 프로젝트를 준비해줘"
  • "프로젝트 이름과 구조를 보고 다음 편집 순서를 정리해줘"

이 프로젝트는 "AI가 편집자를 완전히 대체한다"기보다, "Final Cut Pro의 반복 작업과 준비 작업을 AI가 대신 처리하게 만든다"는 용도에 가깝습니다.

주의사항

  • list-libraries는 Final Cut Pro가 열려 있지 않거나 Automation 권한이 없으면 타임아웃될 수 있습니다.
  • 처음에는 Final Cut Pro를 한 번 직접 열고 권한 요청을 허용하는 편이 안전합니다.
  • import-fcpxmlopen -a "<Final Cut Pro>" <file> 방식으로 동작합니다.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured