Skip to content
cccskills
FreePublished on GitHub

bdb-davinci-mcp

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md8.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

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

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

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.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

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.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

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

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

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.

The English summary is being prepared. Showing the original description.

hybridlabor-api/aos6Updated Oct 16, 2026

See all skills by hybridlabor-api

Report a problem with this skill