DaVinci Resolve MCP服务器

DaVinci Resolve MCP服务器是一个通过MCP协议暴露DaVinci Resolve完整脚本API的服务,允许任何兼容MCP的AI助手以编程方式控制DaVinci Resolve。

  • by lordhoell
  • Python
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 lordhoell/davinci-resolve-mcp

使用说明

DaVinci Resolve MCP

一 主控程序 服务器和Claude代码技能,揭示 完成 DaVinci Resolve脚本API-让任何兼容MCP的人工智能助手以编程方式控制DaVinci Resve。

AI Assistant  <-->  MCP Protocol  <-->  This Server  <-->  fusionscript  <-->  DaVinci Resolve

它能做什么

440+工具 涵盖DaVinci Resolve的各个方面:

类别 工具 示例
项目管理 25 创建/加载/导出项目,管理数据库,云项目
时间剪辑 59 添加/删除曲目、插入标题和生成器、管理标记、导出时间线
媒体池 27 导入媒体、从剪辑中创建时间线、组织文件夹、同步音频
剪辑操作 80 设置剪辑属性、管理Fusion comps、颜色版本、拍摄、CDL、稳定、智能重新构建
色彩分级 16 节点图控制、LUT管理、等级应用、颜色组
渲染 15 配置渲染设置、格式/编解码器、添加渲染作业、启动/停止渲染
融合合成 95 添加/连接节点、设置输入、关键帧动画、表达式、渲染比较
画廊和剧照 14 管理静止相册、PowerGrade相册、导入/导出静止图片
媒体存储 7 浏览卷、从磁盘导入、管理剪辑/时间线素材
字幕和音频 5+ 从音频、语音隔离、Fairlight预设、转录生成字幕
应用程序控制 22 页面导航、布局预设、版本信息、关键帧模式

示例提示

  • “列出我的所有项目”
  • “将桌面上的所有.mov文件导入媒体池”
  • “创建一个名为“Assembly”的新时间线,并添加媒体池中的所有剪辑”
  • “在时间线的开头为视频轨道2添加文本+标题”
  • “在我的Renders文件夹中设置一个4K分辨率的ProRes 422 HQ渲染作业”
  • “将LUT‘Rec709’应用于当前剪辑的节点1”
  • “根据当前时间线上的音频生成字幕”
  • 使用背景、文本和合并节点构建Fusion comp

快速开始

先决条件

  • 达芬奇调色 或 DaVinci Resolve工作室 (v19.0+)已安装并正在运行
  • Python 3.10+
  • MCP服务器必须在 同一台机器 DaVinci Resolve

安装

pip install davinci-resolve-mcp

配置Claude桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "davinci-resolve": {
      "command": "davinci-resolve-mcp"
    }
  }
}

或与 uvx (无需安装):

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

配置Claude代码

claude mcp add davinci-resolve -- davinci-resolve-mcp

克劳德代码技能

此回购还包括 Claude代码技能 它教Claude如何有效地使用440+MCP工具,包括对象注册表模式、正确的工具链、Fusion节点连接和常见的工作流配方。

安装技能

claude skill install davinci-resolve-mcp.skill

或复制 skill/davinci-resolve-mcp/ 将您的Claude Code技能文件夹放入目录。

该技能提供:

  • 对象注册表指南 --如何正确地链接父/子对象ID
  • 工作流配方 --导入、编辑、分级、渲染的分步模式
  • 融合参考 --节点类型、通用输入、连接模式
  • 渲染设置参考 --格式/编解码器选项和配置键

建筑

对象注册表

Resolve API返回无法通过MCP序列化的本机对象。服务器维护一个内存注册表,将字符串ID映射到活动对象:

resolve_get_project_manager  -->  project_manager_id
  --> project_manager_get_current_project  -->  project_id
    --> project_get_current_timeline  -->  timeline_id
      --> timeline_get_item_list_in_track  -->  [timeline_item_ids]
  1. 返回Resolve对象的工具会注册它们并返回JSON安全ID
  2. 后续工具接受该ID以查找活动对象
  3. 使用 clear_object_cache 如果对象变得过时(例如,在Resolve UI中切换项目后)
  4. 使用 initialize 如果Resolve重新启动,则重新连接

服务器结构

src/davinci_resolve_mcp/
  server.py              # FastMCP server with lifespan management
  resolve_connection.py  # fusionscript bridge & object registry
  models.py              # Pydantic response models
  constants.py           # Enums and API constants
  tools/
    resolve.py           # App-level tools (22)
    project_manager.py   # Project CRUD & databases (25)
    project.py           # Timeline & render management (43)
    timeline.py          # Track, marker, generator tools (59)
    timeline_item.py     # Clip properties, Fusion, grades (80)
    media_pool.py        # Import, organize, create (27)
    media_pool_item.py   # Metadata, markers, proxy (36)
    media_storage.py     # Volume browsing, import (7)
    gallery.py           # Stills & PowerGrades (14)
    graph.py             # Node graph & LUTs (11)
    color_group.py       # Color group management (5)
    fusion_comp.py       # Fusion composition tools (40)
    fusion_tool.py       # Fusion node tools (20)
    fusion_input.py      # Input connections & expressions (12)
    fusion_output.py     # Output values & cache (8)
    fusion_flow.py       # Node layout & selection (8)
    fusion_spline.py     # Keyframe animation (5)
    fusion_misc.py       # Fonts, registry, image cache (11)
    folder.py            # Folder browsing (8)
    utility.py           # Cache & init (3)

环境变量

变量 目的 默认值
RESOLVE_SCRIPT_LIB 通往 fusionscript.dll/.so 自动检测
RESOLVE_SCRIPT_API 解析脚本模块的路径 自动检测到

按平台列出的默认路径

平台 fusionscript 地点
窗户 C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll
macOS /Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so
Linux /opt/resolve/libs/Fusion/fusionscript.so

API覆盖范围

基于DaVinci Resolve 20.2.2脚本API。适用于Resolve 19.0+,但某些工具需要更新版本:

功能 最小版本
语音隔离API 20.1
剪辑/项目的集合名称 20.2
灯光预设 20.2.2
监视器成长文件 20.0
图形/颜色组对象 19.0

局限性

  • 必须与DaVinci Resolve在同一台机器上运行
  • DaVinci Resolve必须在服务器启动前运行
  • 某些操作需要特定的页面(例如,缩略图需要彩色页面)
  • 某些功能仅限于Studio(免费版本中的脚本访问可能受到限制)
  • 仅包装API脚本-无GPU插件控制

发展

git clone https://github.com/lordhoell/davinci-resolve-mcp.git
cd davinci-resolve-mcp
pip install -e ".[dev]"

为新API版本添加工具

  1. 检查 Scripting/CHANGELOG.txt 在Resolve SDK中提供新方法
  2. 将工具添加到中的相应文件 src/davinci_resolve_mcp/tools/
  3. 将任何新的枚举常量添加到 constants.py
  4. 将任何新模型添加到 models.py

许可证

麻省理工学院