本文へ移動
cccskills
無料GitHub で公開

bdb-davinci-mcp

Utilizes the DaVinci Resolve MCP servers to control timeline editing, media analysis, color grading, and Fusion/Fairlight scripting.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

DaVinci Resolve MCP — Integration and AI Agent Guide

This skill file instructs AI agents on how to interface with the DaVinci Resolve MCP Server integrations (including davinci-resolve-mcp and davinci-mcp-professional). It details page requirements, media analysis, edit loops, versioning pipelines, and troubleshooting steps.

1. Overview and Pipeline Value

The DaVinci Resolve MCP Server exposes the complete scripting API of DaVinci Resolve Studio (18.5 to 21+) to AI models. In the BDB OS workflow, this server acts as an intelligent assistant that can automate timeline assembly, perform source-safe audio/video analysis, manage color grade metadata (CDLs/LUTs/stills), write timeline markers, and compile extension scripts.

Architecture

  • Local Scripting API: Communicates with Resolve via the official external Python scripting interface.
  • Two Operational Modes:
    • Compound Mode (Default): Exposes 32 structured tools containing 136 guarded workflow kernels. Keeps the model's context footprint lean.
    • Granular Mode (--full): Exposes 341 tools representing a one-to-one mapping of every Resolve scripting API method.
  • Local Control Panel: Includes a browser dashboard (venv/bin/python -m src.control_panel) for visual inspection, timeline rollback, and manual analysis review.

2. System Instructions

Page Requirements

Resolve is page-centric. Many tool calls will fail if the application is on the wrong page. Always verify or transition the page before invoking page-specific tools:

WorkflowPage RequiredTransition Command
Media Ingest / BinsMediaresolve_control(action="open_page", params={"page": "media"})
Timeline Assembly / EditsEdit or Cutresolve_control(action="open_page", params={"page": "edit"})
Color Grading / LUTS / CDLColorresolve_control(action="open_page", params={"page": "color"})
Audio ConfigurationFairlightresolve_control(action="open_page", params={"page": "fairlight"})
Effects / CompositingFusionresolve_control(action="open_page", params={"page": "fusion"})
Render Setup / QueuesDeliverresolve_control(action="open_page", params={"page": "deliver"})

Media Analysis and Visual Verification (host_chat_paths)

  1. Source Media Safety: Never transcode, modify, or create derivatives of original camera files. Write report files only to the davinci-resolve-mcp-analysis scratch directory.
  2. Visual Analysis Flow:
    • analyze_clip or analyze_bin extracts keyframes to disk and returns a deferred payload with frame_paths and a verification token.
    • The AI agent must read these image frames, generate a structured description, and finalize the analysis by calling media_analysis(action="commit_vision", params={clip_id, visual, vision_token}).
    • Do not skip commit_vision; doing so leaves the clip in a pending_host_vision_analysis error state.

Evidence-Based Editing (edit_engine)

Every timeline edit operates on a Plan → Confirm → Execute loop:

  • plan_tighten or plan_selects calculates trims (e.g., dead air removal from transcription evidence) and returns a plan_id.
  • The user must review this plan (optionally via the browser UI).
  • Run execute_tighten(plan_id) with a verification token to write the edits to a new timeline version.

3. Available Tools and API Parameters

Key tools on the compound server include:

ToolActionParametersDescription
resolve_controllaunch, get_page, open_page, api_truth, quitpage?: stringManages active page contexts and Resolve application states.
project_managerlist, get_current, create, load, save, import_project, export_project, lint, apply_specname?: string, path?: string, spec?: objectHandles project CRUD, backup archives, health linting, and declarative YAML specs.
media_poolget_clips, import_media, move_clips, setup_multicam_timeline, get_selectedpaths?: string[], target_path?: stringOrganizes media pool folders, imports files, and sets up multi-cam stacks.
media_pool_itemget_metadata, set_metadata, get_clip_property, set_clip_color, get_audio_mappingclip_id: string, key: string, value?: anySets search tags, notes, track mapping, and clip colors in Resolve.
media_analysisplan, coverage_report, analyze_clip, detect_sync_events, publish_clip_metadata, commit_vision, build_embeddings, find_similarclip_id?: string, kinds?: string[], vision_token?: stringHandles visual keyframing, audio transcriptions, sync detection, and semantic vector indexing.
edit_engineplan_selects, execute_selects, plan_tighten, execute_tighten, plan_swap, execute_swapplan_id?: string, timeline_name?: string, alternate_index?: intPlans and executes video trimming, select reels, and alternate take swaps.
timeline_versioningbegin_run, end_run, archive_current, list_versions, diff_versions, diff_timelinestimeline_name?: string, reason?: stringRecords edit logs, structures version diffs, and rolls back edits.
script_pluginrun_inline, execute, safe_install_extension, safe_remove_extensionsource: string, language: stringAuthoring utility that runs or installs custom Lua/Python script extensions.

4. Code Recipes and Prompt Cookbook

Recipe 1: CDL Grade Backup and Export

Snapshot a clip's grade, inspect CDL, and export a look:

// Step 1: Switch to Color page
// Tool: resolve_control(action="open_page", params={"page": "color"})

// Step 2: Snapshot active item's grade
// Tool: timeline_item_color(action="grade_version_snapshot", params={"version_name": "BeforeAdjustment"})

// Step 3: Set CDL parameters for mild primary grade adjustment
// Tool: timeline_item_color(action="safe_set_cdl", params={"slope": [1.05, 1.0, 0.95], "offset": [0.01, 0.0, -0.01]})

Recipe 2: Run Inline Scripting for Batch Meta Change

Use run_inline to quickly rename clips matching a specific prefix inside the Media Pool:

// Tool: script_plugin(action="run_inline", params={"language": "python", "source": "..."})
// Source value:
import sys
resolve = BmdResolveAPI()
projectManager = resolve.GetProjectManager()
project = projectManager.GetCurrentProject()
mediaPool = project.GetMediaPool()
rootFolder = mediaPool.GetRootFolder()

def rename_clips(folder):
    for clip in folder.GetClipList():
        name = clip.GetName()
        if name.startswith("CAM_A_"):
            clip.SetClipProperty("Clip Name", name.replace("CAM_A_", "AngleA_"))
    for subfolder in folder.GetSubFolderList():
        rename_clips(subfolder)

rename_clips(rootFolder)
print("Rename complete")

5. Troubleshooting and Connection Details

Configuration and Ports

  • Application Port: Controlled via system environment variables. Resolve communicates natively with the local Python runtime.
  • Control Panel Dashboard: http://localhost:5000 (by default) or path printed upon running:
    venv/bin/python -m src.control_panel
    
  • Requirements:
    1. DaVinci Resolve Studio (Scripting APIs are blocked in the free version).
    2. External Scripting Mode: Go to DaVinci Resolve -> Preferences -> System -> General, set "External scripting using" to Local or Developer.
    3. Python Registry (Windows): Python must be installed system-wide for Resolve to find it in the registry (pyenv or virtual environments will not work if the host installer isn't registered).

Diagnostic Connection Verification

Test if the local Python bridge can reach Resolve:

# Verify the Python scripting modules are discoverable
python -c "import DaVinciResolveScript as dvr; print(dvr.scriptapp('Resolve'))"

Common Errors

  1. Resolve is not running or scripting is disabled
    • Ensure the Studio version is active.
    • Verify that preferences are set to "External scripting using: Local".
  2. Visual Analysis stuck in pending_host_vision_analysis
    • The agent has not called the commit_vision tool with the results of visual frame descriptions. Check the manifest files in your scratch analysis directory to recover the token.
  3. Fusion.Execute() returns False or no-op
    • Resolve 20+ has limitations with remote execution of Lua scripts. Use the run_inline tool which leverages a temporary file fallback mechanism.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

Use when a hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

Reference for how BDB structures autonomous software engineering work — the seven-node dispatcher graph (Architect, TechLead, UI/UX, Engineering, Media/EventTech, Reviewer, Shipping) that /startcycle-graph actually runs. Use when you need the high-level lifecycle framing without inventing your own process.

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling.

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

Harness patterns for coding agents — memory, permissions, context engineering, delegation, skills, hooks, bootstrap.

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

agenttrail: live map of a multi-agent build in the browser: which plan component is being worked on, by which agent or harness, what is done and what is stuck. Use when a multi-agent pipeline starts (/startcycle, /startcycle-graph, /teamwork-preview) or after a plan-canvas approve, when the user asks to see what the agents are doing ("live map", "build board", "who is running now"), or by yourself whenever a multi-agent run is under way — no user prompt needed.

日本語の概要は準備中です。原文の説明を表示しています。

hybridlabor-api/aos62026年10月12日 更新

hybridlabor-api のスキルをすべて見る

このスキルの問題を報告する