io.github.Airta-Admin/davinc-resolve-local-bridge-mcp
Davinc-Resolve-Local-Bridge-MCP
これは何か?
Davinc-Resolve-Local-Bridge-MCP は、AIアシスタントにDaVinci Resolveの完全な制御を提供するModel Context Protocol (MCP)サーバーです。ResolveスクリプティングAPI全体(プロジェクト、タイムライン、メディア、Fusion、カラーグレーディング、レンダリングなど)をカバーする215のツールを公開します。
仕組み
Your AI Assistant (Claude, Cursor, Devin, etc.)
│
│ talks MCP (stdio)
▼
mcp_server/server.py ← runs on your machine
│
│ talks HTTP (localhost:8787)
▼
Bridge-Connection-Script.py ← runs INSIDE DaVinci Resolve
│ (Workspace > Scripts menu)
▼
DaVinci Resolve API ← full read + write accessブリッジスクリプトはDaVinci Resolveのプロセス内部で実行され、ResolveスクリプティングAPIへの完全なアクセスを提供します(外部スクリプティングをブロックするFree版でも動作します)。MCPサーバーは別プロセスとして実行され、localhost HTTP経由でツール呼び出しをブリッジにプロキシします。
Related MCP server: davinci-resolve-mcp
クイックスタート
前提条件
DaVinci Resolve 18.5+(FreeまたはStudio)
お使いのマシンにPython 3.10+
MCP互換のAIアシスタント(Claude Desktop、Cursor、Devinなど)
ステップ1 — ブリッジスクリプトのインストール
インストーラーを実行します:
python install.pyまたは、bridge/Bridge-Connection-Script.py をResolveのスクリプトフォルダに手動でコピーします:
プラットフォーム | パス |
Windows |
|
macOS |
|
Linux |
|
ステップ2 — MCPサーバーの依存関係のインストール
pip install -r requirements.txtステップ3 — AIアシスタントの設定
MCPサーバーをアシスタントの設定ファイルに追加します。サーバーパスはこのリポジトリの mcp_server/server.py です。
Claude Desktop
claude_desktop_config.json を編集します:
{
"mcpServers": {
"davinci-resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Cursor
.cursor/mcp.json を編集します:
{
"mcpServers": {
"davinci-resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Devin
mcp_config.json を編集します:
{
"mcpServers": {
"resolve-local-bridge": {
"command": "python",
"args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
}
}
}Claude Code
claude mcp add davinci-resolve-local-bridge -- python C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py任意のMCPクライアント(汎用)
サーバーはstdioトランスポートを使用します。次のように起動します:
python mcp_server/server.pyステップ4 — DaVinci Resolve内でブリッジを起動
DaVinci Resolveを開く
Workspace → Scripts → Bridge-Connection-Script に移動
コンソール(Workspace → Console)で以下を確認:
[Resolve Bridge] Connected to Resolve 21.0.4.5
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787
[Resolve Bridge] 215 actions availableステップ5 — 使い始める
AIアシスタントに次のように尋ねます:
「DaVinci Resolveが接続されているか確認して」
アシスタントが resolve_status ツールを呼び出して結果を報告します。次に試してみてください:
「'My Video' という名前の1920x1080 30fpsの新規プロジェクトを作成して、タイムラインを追加して」
アーキテクチャ
ブリッジスクリプト(bridge/Bridge-Connection-Script.py)
Workspace > ScriptsメニューからDaVinci Resolveの内部で実行されるPythonスクリプトです。次のことを行います:
Fusionのグローバルからライブの
resolveオブジェクトを取得127.0.0.1:8787でHTTPサーバーを起動3つのエンドポイントを公開:
GET /health— ブリッジが稼働しているか確認GET /actions— 利用可能なすべてのアクション名を一覧表示POST /action— パラメータ付きでアクションを名前で実行
ブロッキングの
serve_forever()呼び出しで常駐起動前に同じポートの以前のインスタンスを終了
MCPサーバー(mcp_server/server.py)
スタンドアロンのMCPサーバーです。次のことを行います:
localhost上のHTTPでブリッジに接続
ブリッジの
/actionsエンドポイントから215すべてのアクションを自動検出各アクションを
resolve_プレフィックス付きのMCPツールとして公開POST /action経由でツール呼び出しをブリッジにプロキシブリッジと同期を維持 — 手動のツール定義は不要
全215ツール
MCPサーバーはブリッジからツールを自動検出します。各ツールには resolve_ プレフィックスが付きます(例:status は resolve_status になります)。パラメータは params オブジェクトとして渡します。
Resolveアプリケーション(15ツール)
ツール | パラメータ | 説明 |
| — | ブリッジの接続状態を確認し、現在のプロジェクト/タイムライン情報を取得 |
| — | Resolveのバージョン情報を取得 |
| — | アクティブなページを取得(edit、cut、colorなど) |
|
| ページを切り替え:edit、cut、fusion、color、fairlight、deliver、media |
| — | 利用可能なレイアウトプリセットを一覧表示 |
|
| 名前でレイアウトプリセットを読み込み |
| — | 現在のキーフレームモードを取得 |
|
| キーフレームモードを設定 |
| — | Fairlightオーディオプリセットを一覧表示 |
| — | バーンインプリセットを一覧表示 |
|
| ファイルからレンダープリセットをインポート |
|
| レンダープリセットをファイルにエクスポート |
| — | Fusionページに切り替え |
| — | Editページに切り替え |
| — | Deliverページに切り替え |
プロジェクトマネージャー(18ツール)
ツール | パラメータ | 説明 |
|
| 新規プロジェクトを作成 |
|
| 既存のプロジェクトを読み込み |
| — | 現在のプロジェクトを保存 |
| — | 現在のプロジェクトを閉じる |
|
| プロジェクトを削除 |
|
| プロジェクトフォルダを作成 |
|
| プロジェクトフォルダを削除 |
| — | 現在のフォルダ内のプロジェクトを一覧表示 |
| — | 現在のフォルダ内のサブフォルダを一覧表示 |
| — | 現在のフォルダ名を取得 |
|
| フォルダを開く |
| — | ルートフォルダに移動 |
| — | 親フォルダに移動 |
|
| .drpプロジェクトをインポート |
|
| プロジェクトを.drpとしてエクスポート |
|
| プロジェクトをアーカイブ |
| — | 現在のデータベース名を取得 |
| — | 利用可能なデータベースを一覧表示 |
プロジェクト設定(7ツール)
ツール | パラメータ | 説明 |
| — | 現在のプロジェクト名を取得 |
|
| 現在のプロジェクト名を変更 |
|
| キーでプロジェクト設定を取得 |
|
| プロジェクト設定を設定 |
| — | すべてのプロジェクト設定を取得 |
| — | プロジェクトプリセットを一覧表示 |
|
| プロジェクトプリセットを適用 |
メディアストレージ(4ツール)
ツール | パラメータ | 説明 |
| — | マウントされたストレージボリュームを一覧表示 |
|
| パス内のサブフォルダを一覧表示 |
|
| フォルダ内のファイルを一覧表示 |
|
| OSのファイルブラウザでファイルを表示 |
メディアプール(13ツール)
ツール | パラメータ | 説明 |
|
| メディアファイルをプールにインポート |
| — | ルートフォルダ内のすべてのクリップを一覧表示 |
| — | ルートフォルダ情報を取得 |
|
| サブフォルダを作成 |
|
| 現在のフォルダを設定 |
|
| プールからクリップを削除 |
|
| クリップをフォルダに移動 |
|
| クリップを再リンク |
|
| クリップのリンクを解除 |
|
| メタデータCSVをエクスポート |
| — | 選択されたクリップを一覧表示 |
|
| クリップを選択 |
|
| マットファイルを追加 |
タイムライン(21ツール)
ツール | パラメータ | 説明 |
|
| 新しい空のタイムラインを作成 |
|
| クリップからタイムラインを作成 |
| — | すべてのタイムラインを一覧表示 |
| — | 現在のタイムライン名を取得 |
|
| 現在のタイムライン名を変更 |
|
| インデックスでタイムラインを切り替え(1始まり) |
| — | 現在のタイムラインを複製 |
|
| タイムラインを削除 |
| — | 開始フレームを取得 |
| — | 終了フレームを取得 |
| — | 開始タイムコードを取得 |
|
| 開始タイムコードを設定 |
| — | 現在のタイムコードを取得 |
|
| 現在のタイムコードを設定 |
| — | シーンカットを検出 |
|
| 字幕を自動生成 |
|
| タイムラインをエクスポート |
|
| ファイルからタイムラインをインポート |
|
| タイムラインにクリップを追加 |
|
| タイムライン設定を取得 |
|
| タイムライン設定を設定 |
タイムライントラック(11ツール)
ツール | パラメータ | 説明 |
|
| トラック数をカウント(ビデオ/オーディオ/字幕) |
|
| トラックを追加 |
|
| トラックを削除 |
|
| トラックを有効/無効化 |
|
| トラックが有効かどうかを確認 |
|
| トラックをロック/ロック解除 |
|
| トラックがロックされているか確認 |
|
| トラック名を取得 |
|
| トラック名を設定 |
|
| トラック上のクリップを一覧表示 |
| — | 選択されたタイムラインクリップを一覧表示 |
タイムラインアイテム(66ツール)
すべてのアイテム操作は、特定のクリップを対象とするオプションのtrackType、trackIndex、itemIndexを受け付けるか、省略した場合は最初に選択されたクリップに対して操作します。
ツール | パラメータ | 説明 |
|
| クリップ名を取得 |
|
| クリップ名を変更 |
|
| クリップの長さを取得 |
|
| クリップの開始フレームを取得 |
|
| クリップの終了フレームを取得 |
|
| クリップのプロパティを取得 |
|
| クリップのプロパティを設定 |
|
| クリップが有効かどうかを確認 |
|
| クリップを有効/無効にする |
|
| クリップの色を設定 |
|
| クリップの色を取得 |
|
| クリップの色をクリア |
|
| フラグを追加 |
|
| フラグを取得 |
|
| フラグをクリア |
|
| マーカーを追加 |
|
| マーカーを取得 |
|
| ジェネレーターを挿入 |
|
| Fusionジェネレーターを挿入 |
| — | Fusionコンポジションを挿入 |
|
| OFXジェネレーターを挿入 |
|
| タイトルを挿入 |
|
| Fusionタイトルを挿入 |
| — | 現在のフレームからスチルを取得 |
| — | すべてのクリップからスチルを取得 |
|
| コンパウンドクリップを作成 |
| — | Fusionクリップを作成 |
|
| タイムラインにインポート |
|
| クリップをスタビライズ |
|
| クリップをスマートリフレーム |
|
| マジックマスクを作成 |
|
| マジックマスクを再生成 |
|
| クリップのトラック情報を取得 |
|
| リンクされたアイテムを取得 |
|
| CDL値を設定 |
|
| テイクを追加 |
|
| テイク数をカウント |
|
| テイクを選択 |
|
| 現在のテイクを確定 |
|
| 他のクリップにグレーディングをコピー |
|
| LUTをエクスポート |
|
| カラー出力キャッシュを設定 |
|
| Fusion出力キャッシュを設定 |
|
| クリップのメタデータを取得 |
|
| クリップのメタデータを設定 |
|
| クリップのプロパティを取得 |
|
| クリップのプロパティを設定 |
|
| プロキシメディアをリンク |
| — | プロキシメディアのリンクを解除 |
|
| クリップをファイルに置き換え |
|
| クリップマーカーを追加 |
| — | クリップマーカーを取得 |
|
| クリップの色を設定(メディアプール) |
|
| クリップフラグを追加 |
|
| オーディオを文字起こし |
|
| マークイン/アウトを設定 |
|
| マークイン/アウトをクリア |
|
| タイムラインマーカーを追加 |
| — | タイムラインマーカーを取得 |
|
| 色でマーカーを削除 |
|
| フレーム位置のマーカーを削除 |
|
| 現在のフレームをスチルとしてエクスポート |
|
| Fairlightプリセットを適用 |
| — | クイックエクスポートプリセットを一覧表示 |
Fusionコンポジション(14ツール)
ツール | パラメータ | 説明 |
|
| Fusionコンポジションを作成 |
|
| クリップにFusionコンポを追加 |
|
| .compファイルをインポート |
|
| Fusionコンポをエクスポート |
|
| 名前でコンポを読み込み |
|
| 名前でコンポを削除 |
|
| コンポの名前を変更 |
|
| クリップ上のFusionコンポ数をカウント |
|
| Fusionコンポ名を一覧表示 |
| — | 現在のFusionコンポジションを取得 |
| — | 開いているすべてのコンポを一覧表示 |
| — | 新しいFusionコンポを作成 |
|
| 現在のコンポを保存 |
|
| コンポファイルを読み込み |
| — | 現在のコンポを閉じる |
| — | 現在のコンポをレンダリング |
Fusionツール(11ツール)
Tool | Parameters | Description |
| — | 現在のコンポ内のすべてのツール/ノードを一覧表示 |
|
| 名前でツールを検索 |
|
| ツールを削除 |
|
| ツールの属性を取得 |
|
| ツールの属性を設定 |
|
| ノードを追加(Background、Paint、Merge など) |
|
| 2つのノードを接続 |
|
| ノード入力を設定(キーフレーム可能) |
|
| ノード入力値を取得 |
|
| 現在のフレームを設定 |
| — | 現在のフレームを取得 |
ギャラリー(4ツール)
Tool | Parameters | Description |
| — | ギャラリーのスチルアルバムを一覧表示 |
| — | PowerGrade アルバムを一覧表示 |
| — | スチルアルバムを作成 |
| — | PowerGrade アルバムを作成 |
カラー / ノード(7ツール)
Tool | Parameters | Description |
| — | 現在のクリップのノード数を取得 |
|
| ノードのラベルを取得 |
|
| ノードの LUT を取得 |
|
| ノードに LUT を設定 |
|
| ノードを有効/無効にする |
| — | すべてのグレーディングをリセット |
| — | LUT リストを更新 |
レンダリング(22ツール)
Tool | Parameters | Description |
| — | レンダーフォーマットを一覧表示 |
|
| フォーマットのコーデックを一覧表示 |
| — | 現在のフォーマット/コーデックを取得 |
|
| レンダーフォーマットとコーデックを設定 |
| — | レンダーモードを取得 |
|
| レンダーモードを設定 |
|
| レンダー解像度を一覧表示 |
| — | レンダープリセットを一覧表示 |
|
| レンダープリセットを読み込み |
|
| 新しいレンダープリセットを保存 |
|
| レンダープリセットを削除 |
|
| レンダー設定を設定(TargetDir、CustomName など) |
| — | レンダージョブを追加 |
|
| レンダージョブを削除 |
| — | すべてのレンダージョブを削除 |
| — | レンダージョブを一覧表示 |
|
| レンダリングを開始 |
| — | レンダリングを停止 |
| — | レンダリング中かどうかを確認 |
|
| レンダージョブのステータスを取得 |
|
| クイックエクスポート |
|
| ジョブを追加してレンダリングを開始 |
音声 & 字幕(1ツール)
Tool | Parameters | Description |
|
| AI 音声オーディオを生成 |
スペシャル(1ツール)
Tool | Parameters | Description |
|
| 手描きアニメーションを作成(Daniel Batal のテクニック) |
トラブルシューティング
ブリッジが起動しない
DaVinci Resolve が実行中で、プロジェクトが開いていることを確認してください
エラーメッセージがないかコンソール(Workspace → Console)を確認してください
DaVinci Resolve を再起動してください — 起動時にのみ Scripts フォルダをスキャンします
「Resolve Bridge に接続できない」
Resolve 内で Workspace → Scripts → Bridge-Connection-Script を実行したことを確認してください
コンソールに
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787と表示されていることを確認してくださいポートがすでに使用されている場合は、Resolve を閉じて再度開いてください(古い
fuscript.exeプロセスがポートを保持している可能性があります)
ツールがエラーを返す
最初に
resolve_statusを呼び出して接続を確認してください一部の操作では、プロジェクトが開いていること、タイムラインが存在すること、またはクリップが選択されていることが必要です
ブリッジからのエラーメッセージは、何が不足しているかを示します
技術詳細
ブリッジポート: 127.0.0.1:8787(localhost のみ、外部アクセス不可)
トランスポート: HTTP/1.0(Connection: close)
MCP トランスポート: stdio
依存関係:
mcp、requests(MCP サーバーのみ。ブリッジは純粋な stdlib を使用)Resolve バージョン: 18.5+(21.0.4.5 でテスト済み)
Python: MCP サーバーは 3.10+。ブリッジは Resolve の組み込み Python を使用
ライセンス
MIT ライセンス — LICENSE ファイルを参照してください。
クレジット
The Geek Gods によって作成されました。DaVinci Resolve スクリプティングコミュニティに触発されています。
Available Tools
1 toolresolve_healthA
Check if DaVinci Resolve bridge is running. The bridge script must be running inside Resolve via Workspace > Scripts > DaVinciResolveBridge. If this returns an error, the bridge is not running.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states the error behavior: 'If this returns an error, the bridge is not running.' This is key behavioral information. However, it does not disclose what a successful response contains or whether the tool has any side effects, though 'check' implies a read-only operation. Still, the error semantics are clearly and usefully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place. The first sentence states the purpose, the second gives the setup prerequisite, and the third explains error interpretation. It is front-loaded with the core function and contains no filler or redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, no output schema, and no siblings. The description covers what the tool checks and how to interpret an error. A minor gap is that it does not explicitly describe the success response, but for a health-check tool, the error condition is the most critical information. The description is otherwise complete for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so there is nothing to document. According to the guidelines, a baseline of 4 is appropriate when no parameters exist. The description does not need to add parameter-level detail, and it doesn't waste space on it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Check if DaVinci Resolve bridge is running.' The verb 'check' and resource 'DaVinci Resolve bridge' are specific and unambiguous. Since there are no sibling tools, there is no need for differentiation, and the description is fully self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the prerequisite: the bridge script must be running inside Resolve via Workspace > Scripts > DaVinciResolveBridge. It also tells the agent how to interpret the result, which is effectively guidance for using the tool. There are no alternatives to contrast, so no exclusions are necessary, but it doesn't explicitly say 'use this when you need to verify connectivity.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.2.5- First observed
resolve_health
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or overlapping purposes. The tool's purpose is unambiguous.
The single tool name follows a clear verb_noun pattern (resolve_health), which is consistent and descriptive. With only one tool, naming consistency is inherently strong.
A single health-check tool is far too few for a server presumably meant to bridge to DaVinci Resolve. Even as a minimal health-only server, one tool feels extremely thin and provides little value beyond a ping.
The server only provides a health check, with no ability to interact with DaVinci Resolve projects, timelines, renders, or any other meaningful operations. This is a severely incomplete surface for a bridge to a complex application.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Remote MCP for AI video, image, music and speech generation.
- CueFrameOAuthai.cueframe
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for DaVinci Resolve with 295+ tools to control projects, timelines, editing, color grading, rendering, and more via natural language.83 PyPI6MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes the complete DaVinci Resolve scripting API, enabling AI assistants to control DaVinci Resolve programmatically with over 440 tools for project management, timeline editing, color grading, rendering, and more.13MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control DaVinci Resolve (Free and Studio) through natural language, providing 162 tools for timeline editing, color grading, rendering, and more. Includes local AI replacements for Studio-only features like voice isolation, background removal, and transcription.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to control DaVinci Resolve Studio via MCP, providing full scripting API coverage plus workflow helpers for editing, media organization, rendering, grading, and more.5,556 npmMIT