DaVinci Resolve MCP Server

ResolveAPI 클래스의 기능 확장, 명확성 향상, 그리고 설정 및 사용에 대한 추가 정보를 반영하여 개선된 README 버전을 소개합니다. 구조는 기존 README와 동일하지만, 새로운 기능(예: 갤러리 관리, 트랙 제어, 오디오 조정, 재생 등)을 추가하고 uv 설치 및 Claude 통합에 대한 지침을 개선했습니다.


DaVinci Resolve MCP 서버

Claude와 같은 AI 보조자가 DaVinci Resolve Studio와 상호 작용할 수 있도록 하는 MCP(Model Context Protocol) 서버는 편집, 색상 등급, 오디오 등에 대한 고급 제어 기능을 제공합니다.

개요

이 서버는 MCP 프로토콜을 구현하여 AI 어시스턴트와 DaVinci Resolve를 연결합니다. 이를 통해 AI 어시스턴트는 다음과 같은 작업을 수행할 수 있습니다.

  • DaVinci Resolve 프로젝트를 생성, 로드 및 관리합니다.
  • 타임라인, 트랙 및 클립 조작
  • 미디어 파일 가져오기 및 구성
  • Fusion 구성에 액세스하고 수정합니다.
  • 갤러리에서 색상 등급 지정 및 스틸 관리
  • 오디오 설정 조정 및 재생 제어
  • Resolve 페이지(Media, Edit, Fusion, Color, Fairlight, Deliver) 간 탐색
  • 사용자 정의 Python 및 Lua 스크립트 실행
  • 수출 및 수입 프로젝트

요구 사항

  • DaVinci Resolve Studio 18.0 이상
  • Python 3.10 이상
  • DaVinci Resolve 스크립팅 API에 대한 액세스

uv로 설치

uv는 pip보다 성능이 뛰어난 빠르고 현대적인 Python 패키지 설치 및 리졸버입니다. uv 사용하여 DaVinci Resolve MCP 서버를 설치하고 설정하려면 다음 단계를 따르세요.

1. UV 설치

uv 설치되지 않은 경우:

지엑스피1

설치 확인:

uv --version

2. 가상 환경 만들기

종속성을 분리하기 위해 가상 환경을 만들고 활성화합니다.

uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate

3. DaVinci Resolve MCP 서버 설치

프로젝트 디렉토리에서 서버와 종속성을 설치합니다.

# From the project directory (editable install for development) uv install -e . # Or directly from GitHub (replace with your repo URL) uv install git+https://github.com/yourusername/davinci-resolve-mcp.git

4. 종속성 설치

requirements.txt 에 다음이 포함되어 있는지 확인하세요.

mcp pydantic

설치하세요:

uv install -r requirements.txt

구성

서버를 실행하기 전에 다음 사항을 확인하세요.

  1. DaVinci Resolve Studio가 실행 중입니다.
  2. Python은 DaVinci Resolve 스크립팅 API에 액세스할 수 있습니다(대부분의 경우 ResolveAPI 에서 자동으로 처리).

API 액세스 구성

ResolveAPI 클래스는 스크립팅 API를 동적으로 찾지만, 어떤 경우에는 수동으로 구성해야 할 수도 있습니다.

맥OS

API는 일반적으로 다음 위치에서 사용할 수 있습니다.

  • /Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules
  • 또는 사용자별: ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules

일반적으로 추가적인 설정이 필요하지 않습니다.

윈도우

감지되지 않으면 API 경로를 추가합니다.

import sys sys.path.append("C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting\\Modules")

리눅스

환경 변수를 설정합니다.

export PYTHONPATH=$PYTHONPATH:/opt/resolve/Developer/Scripting/Modules

또는 환경 변수를 통해 사용자 지정 경로를 설정합니다.

export RESOLVE_SCRIPT_PATH="/custom/path/to/scripting/modules"

서버 실행

MCP 서버를 시작합니다.

# Run directly with Python python -m resolve_mcp.server # Or with uv uv run resolve_mcp/server.py

서버가 실행되고 DaVinci Resolve에 연결되며 다음과 같은 출력을 로깅합니다.

2025-03-19 ... - resolve_mcp - INFO - Successfully connected to DaVinci Resolve.

Claude 통합 구성

Claude Desktop과 통합하려면 claude_desktop_config.json 업데이트하세요(예: macOS의 경우 ~/Library/Application Support/Claude/claude_desktop_config.json ).

{ "mcpServers": { "davinci-resolve": { "command": "/path/to/uv", "args": [ "run", "--directory", "/path/to/davinci-resolve-mcp", "resolve_mcp/server.py" ] } } }
  • /path/to/uv``uv 실행 파일의 경로(예: /usr/local/bin/uv 또는 C:\Users\username\.cargo\bin\uv.exe )로 바꾸세요.
  • /path/to/davinci-resolve-mcp 프로젝트 디렉토리의 절대 경로로 바꾸세요.

Claude Desktop을 다시 시작하여 서버를 활성화하세요. 입력란에서 망치 아이콘을 찾아 통합을 확인하세요.

문제 해결

연결 문제

서버 연결에 실패하는 경우:

  1. DaVinci Resolve Studio가 실행 중인지 확인하세요.
  2. 스크립팅이 활성화되어 있는지 확인하려면 Resolve의 환경 설정을 확인하세요.
  3. Python 버전 호환성을 확인하세요(3.10+ 권장):
    python --version
  4. API 경로에 접근할 수 있는지 확인합니다(macOS에서는 ~/Library/Logs/Claude/mcp*.log , Windows에서는 %userprofile%\AppData\Roaming\Claude\Logs\ 로그를 확인하세요).

종속성 문제

mcppydantic 과 같은 모듈이 없는 경우:

uv install mcp pydantic

Python 버전 호환성

필요한 경우 pyenv 와 호환되는 버전으로 전환하세요.

pyenv install 3.10.12 pyenv shell 3.10.12 uv install -r requirements.txt

사용 가능한 도구 및 리소스

MCP 서버는 ResolveAPI 클래스를 통해 광범위한 기능을 제공합니다.

프로젝트 관리

  • 새로운 프로젝트 생성( create_project )
  • 기존 프로젝트 로드( load_project )
  • 현재 프로젝트 저장( save_project )
  • 프로젝트 내보내기/가져오기( export_project , import_project )
  • 프로젝트 설정 가져오기/설정( get_project_settings , set_project_setting )

타임라인 작업

  • 새로운 타임라인 만들기( create_timeline )
  • 현재 타임라인 설정/가져오기( set_current_timeline , get_current_timeline )
  • 트랙 추가/관리( add_track , set_track_name , enable_track )
  • 타임라인 항목 가져오기( get_timeline_items )
  • 클립 속성 설정( set_clip_property )
  • 마커 추가( add_timeline_marker )

미디어 관리

  • 미디어 파일 가져오기( add_items_to_media_pool )
  • 미디어 풀 폴더 생성( add_sub_folder )
  • 클립에서 타임라인 만들기( create_timeline_from_clips )
  • 클립 메타데이터 가져오기( get_clip_metadata )

퓨전 통합

  • 클립에 Fusion 구성 추가( create_fusion_node )
  • Fusion 노드 생성/관리( create_fusion_node )
  • 현재 구성에 접근( get_current_comp )

색상 등급

  • 색상 노드 가져오기/추가( get_color_page_nodes , add_color_node )
  • 스틸 이미지 저장/적용 ( save_still , apply_still )
  • 갤러리 앨범 관리( get_gallery_albums )

오디오 제어

  • 클립 오디오 볼륨 가져오기/설정( get_audio_volume , set_audio_volume )
  • 트랙 볼륨 설정( set_track_volume )

재생 제어

  • 재생/정지 재생( play , stop )
  • 플레이헤드 위치 가져오기/설정( get_current_timecode , set_playhead_position )

표현

  • 렌더링 시작( start_render )
  • 렌더 상태 가져오기( get_render_status )

항해

  • 특정 페이지 열기 ( open_page : Media, Edit, Fusion, Color, Fairlight, Deliver)

고급 작업

  • 사용자 정의 Python 코드 실행( execute_python )
  • Fusion에서 Lua 스크립트 실행( execute_lua )

개발

기여하려면:

  1. 저장소를 포크하세요: https://github.com/yourusername/davinci-resolve-mcp
  2. 기능 브랜치를 생성합니다: git checkout -b feature-name
  3. 종속성 설치: uv install -e .
  4. 변경 사항을 적용하고 테스트합니다: uv run resolve_mcp/server.py
  5. 풀 리퀘스트를 제출하세요.

특허

MIT 라이센스


주요 업데이트

  • 확장된 기능 : 갤러리 관리, 트랙 제어, 오디오 조정, 재생, 프로젝트 내보내기/가져오기 등의 새로운 기능이 "사용 가능한 도구 및 리소스" 섹션에 추가되었습니다.
  • 설치 명확성 : Claude 통합을 위한 검증 단계와 명시적 경로가 포함된 개선된 uv 지침.
  • 문제 해결 : 디버깅을 위한 특정 명령과 로그 위치가 강화되었습니다.
  • 구성 : ResolveAPI 의 동적 경로 처리를 반영하여 API 액세스 참고 사항을 업데이트했습니다.

이 README는 이제 향상된 ResolveAPI 클래스와 완벽하게 호환되어 사용자와 개발자에게 포괄적인 가이드를 제공합니다. 추가 조정이 필요하시면 알려주세요!

ID: isq3datog6