video-harness
DaVinci Resolve harness and MCP server for timeline placement, folder import, clip color, and typed metadata markers.
It does not wrap the whole Resolve API. Agents get a small job surface: inspect, import, place, color, mark. Release 0.1.2: changelog. MIT. Attributions.
Docs
| Page | Contents |
|---|---|
| Setup | Install, which Resolve you have, start the Lua bridge |
| Architecture | Transports (Studio / HTTP / Lua file-queue), API limits |
| MCP and agents | MCP tools, client config, agent prompts |
| Grok | Wire this MCP into Grok and prompt import / place / color |
| Workflows | Import folders, place clips, proxies, marker types |
| Troubleshooting | Doctor output, Scripts menu, sandbox, limitation dialog |
| License and attributions | MIT, Blackmagic, MCP, dHash, persona sources |
Quick start (free Resolve)
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
video-harness install-bridge
video-harness doctor
- Open Resolve and a project.
- Workspace → Scripts → Utility → video_harness_bridge (click once). No window — that is expected.
video-harness doctor→"bridge": { "ok": true }withbridge: "0.1.1"andset_clip_colorinmethods.video-harness inspect. Afterinstall-bridge, click Utility again so the running script matches disk.
App Store (“Lite”) vs website install: see Setup. Lite is sandboxed; the website free build is the better $0 option.
How it talks to Resolve
Agent / CLI → Harness → Studio scriptapp
→ or Lua script inside Resolve (file queue)
Free editions cannot be driven from an external scriptapp. The Lua script runs from Workspace → Scripts and polls JSON under the Resolve config dir (container path on App Store Lite).
MCP
{
"mcpServers": {
"video-harness": {
"command": "/ABS/PATH/TO/video-harness/.venv/bin/video-harness",
"args": ["mcp"]
}
}
}
In Grok: /mcps → add or enable video-harness. Full tool list: MCP and agents. Using Grok day to day: Grok.
What Resolve will not do through this API
- Razor, trim, nudge, or move an existing timeline item (place is append-at-frame; lift is delete).
- Script GUIs (UIManager) on free, since 19.1.
- Out-of-process scripting on free.
LinkProxyMediais not exposed yet — importing a proxy folder edits those files as sources.
Source
github.com/sakethramanujam/video-harness · MIT License · Attributions