Skip to main content
Glama
DaVinci Resolve MCP Server

DaVinci Resolve MCP Server

by apvlv

DaVinci Resolve MCP 서버

MCP 클라이언트가 도구와 리소스를 통해 DaVinci Resolve(Fusion 포함)를 제어하고 검사할 수 있게 해주는 Model Context Protocol(MCP) 서버입니다.

제공 기능

  • 프로젝트 관리 (생성, 로드, 저장)

  • 타임라인 작업 (타임라인 생성, 타임라인 전환, 클립으로 구성)

  • 미디어 풀 작업 (미디어 가져오기, 폴더 생성, 폴더 검사)

  • Fusion 도우미 (클립에 컴포지션 추가, 노드 생성, 노드 체인 생성)

  • Resolve 페이지 탐색

  • 고급 스크립팅 (execute_python, execute_lua)

Related MCP server: Resolve Claude MCP

요구 사항

  • Python 3.10 이상

  • 스크립팅 API가 활성화된 DaVinci Resolve

  • MCP 호환 클라이언트 (예: Claude Desktop)

설치

git clone https://github.com/apvlv/davinci-resolve-mcp.git
cd davinci-resolve-mcp
uv sync --all-extras --dev

서버 실행

uv run davinci-resolve-mcp

서버는 시작 시 Resolve에 연결을 시도합니다. DaVinci Resolve가 실행 중인지 확인하십시오.

MCP 클라이언트 설정

MCP 클라이언트가 서버 명령을 실행하도록 구성하십시오:

{
  "mcpServers": {
    "davinci-resolve": {
      "command": "uv",
      "args": ["run", "davinci-resolve-mcp"]
    }
  }
}

리소스

  • system://status

  • project://current

  • project://timelines

  • timeline://current

  • mediapool://folders

  • mediapool://current

  • storage://volumes

도구

프로젝트

  • create_project(name)

  • load_project(name)

  • save_project()

타임라인

  • create_timeline(name)

  • set_current_timeline(index)

미디어

  • import_media(file_paths)

  • create_folder(name)

  • create_timeline_from_clips(name, clip_indices)

Fusion

  • add_fusion_comp_to_clip(timeline_index, track_type, track_index, item_index)

  • create_fusion_node(node_type, parameters)

  • create_fusion_node_chain(node_chain)

Resolve UI

  • open_page(page_name) (페이지 이름은 다음 중 하나여야 합니다:

    • media, edit, fusion, color, fairlight, deliver)

고급

  • execute_python(code)

  • execute_lua(script)

개발

make install      # install deps and pre-commit hooks
make lint-check   # ruff check
make format-check # ruff format check
make test         # pytest with coverage
make check        # lint + format + tests

사용 예시 아이디어

  • "My Documentary라는 이름의 프로젝트를 생성해줘"

  • "현재 프로젝트의 타임라인 목록을 보여줘"

  • "이 파일들을 미디어 풀로 가져와줘"

  • "Color 페이지를 열어줘"

  • "Blur -> ColorCorrector로 이어지는 Fusion 노드 체인을 만들어줘"

라이선스

MIT (LICENSE 참조)

Available Tools

14 tools
add_fusion_comp_to_clipC

Add a Fusion composition to a clip in the timeline.

Args: timeline_index: The index of the timeline (1-based) track_type: The type of track ("video", "audio", or "subtitle") track_index: The index of the track (1-based) item_index: The index of the item in the track (1-based)

Returns: A message indicating success or failure

Inputs: timeline_index (required), track_type (required), track_index (required), item_index (required). Returns: result

create_folderB

Create a new folder in the current media pool folder.

Args: name: The name of the folder to create

Returns: A message indicating success or failure

Inputs: name (required). Returns: result

create_fusion_nodeB

Create a Fusion node in the current composition.

Args: node_type: The type of node to create (e.g., 'Blur', 'ColorCorrector', 'Text') parameters: Optional dictionary of parameters to set on the node

Returns: A message indicating success or failure

Inputs: node_type (required), parameters. Returns: result

create_fusion_node_chainB

Create a chain of connected Fusion nodes in the current composition.

Args: node_chain: A list of dictionaries, each containing: - 'type': The type of node to create - 'name': Optional name for the node - 'params': Optional dictionary of parameters to set on the node

Returns: A message indicating success or failure

Inputs: node_chain (required). Returns: result

create_projectC

Create a new DaVinci Resolve project.

Args: name: The name of the project to create

Returns: A message indicating success or failure

Inputs: name (required). Returns: result

create_timelineB

Create a new timeline in the current project.

Args: name: The name of the timeline to create

Returns: A message indicating success or failure

Inputs: name (required). Returns: result

create_timeline_from_clipsB

Create a new timeline from clips in the current media pool folder.

Args: name: The name of the timeline to create clip_indices: A list of clip indices (1-based) to include in the timeline

Returns: A message indicating success or failure

Inputs: name (required), clip_indices (required). Returns: result

execute_luaB

Execute a Lua script in DaVinci Resolve's Fusion.

Args: script: The Lua script to execute

Returns: The result of the script execution

Inputs: script (required). Returns: result

execute_pythonB

Execute arbitrary Python code in DaVinci Resolve.

Args: code: The Python code to execute

Returns: The result of the code execution

Inputs: code (required). Returns: result

import_mediaB

Import media files into the current media pool folder.

Args: file_paths: A list of file paths to import

Returns: A message indicating success or failure

Inputs: file_paths (required). Returns: result

load_projectB

Load an existing DaVinci Resolve project.

Args: name: The name of the project to load

Returns: A message indicating success or failure

Inputs: name (required). Returns: result

open_pageB

Open a specific page in DaVinci Resolve.

Args: page_name: The name of the page to open (media, edit, fusion, color, fairlight, deliver)

Returns: A message indicating success or failure

Inputs: page_name (required). Returns: result

save_projectB

Save the current DaVinci Resolve project.

Returns: A message indicating success or failure

Inputs: no named parameters. Returns: result

set_current_timelineB

Set the current timeline by index.

Args: index: The index of the timeline (1-based)

Returns: A message indicating success or failure

Inputs: index (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific DaVinci Resolve operations like timeline management, Fusion composition, media import, and scripting. No tools overlap in functionality, making selection straightforward for an agent.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as 'create_project', 'import_media', and 'execute_lua'. This uniformity enhances readability and predictability across the toolset.

    Tool Count5/5

    With 14 tools, the server is well-scoped for DaVinci Resolve operations, covering project management, timeline creation, media handling, Fusion nodes, and scripting. Each tool serves a clear purpose without redundancy or bloat.

    Completeness4/5

    The toolset provides comprehensive coverage for core workflows including project lifecycle, timeline operations, media import, and Fusion composition. Minor gaps exist, such as the lack of tools for deleting or modifying existing projects or timelines, but agents can work around these with available tools.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers