Critical Risk →

dctl

Author and install DCTL files (Color page custom shaders + ACES transforms). Regular DCTLs live under Resolve's LUT directory and appear as LUT-style entries in the LUT browser, the Clip/Node LUT picker, and the ResolveFX DCTL plugin. After install, call project_settings(action='refresh_luts') to...

How to control dctl ↓

AI agents call dctl to permanently remove resources in DaVinci Resolve MCP — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

Critical Risk

An AI agent that decides to call dctl doesn't hesitate, doesn't double-check, and doesn't stop at one. Whatever it removes from DaVinci Resolve MCP is gone — there is no undo for destructive operations.

Risk signalsBulk/mass operation — affects multiple targets · Admin/system-level operation

Documented attack patterns abuse exactly the kind of access dctl gives an agent:

PolicyLayer is an MCP gateway — it sits between your AI agents and DaVinci Resolve MCP, and nothing reaches the server without passing your rules. This is the rule we recommend for dctl:

policy.json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "dctl"
  ]
}

dctl disappears from the agent's tool list entirely, and any attempt to call it is denied. The rest of the server keeps working.

  1. Create a free account and register DaVinci Resolve MCP — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RESTRICT THIS TOOL →

Free to start. No card required.

Go deeper

What does the dctl tool do? +

Author and install DCTL files (Color page custom shaders + ACES transforms). Regular DCTLs live under Resolve's LUT directory and appear as LUT-style entries in the LUT browser, the Clip/Node LUT picker, and the ResolveFX DCTL plugin. After install, call project_settings(action='refresh_luts') to make Resolve pick up the new file. ACES DCTLs (IDT/ODT) live in a separate ACES Transforms directory tree and are scanned only at Resolve startup — install requires a Resolve restart, NOT a LUT refresh. See docs/notes/dctl-notes.md for the full spec and docs/authoring/fuse-dctl-authoring.md for the experimental-tools coverage matrix. Actions: path(category?, subdir?) -> {dctl_dir} — category: 'lut' (default) | 'aces_idt' | 'aces_odt' list(category?, subdir?, all?) -> {files} — Default: only files with @mcp-dctl marker. Pass all=true for everything. install(name, source, category?, subdir?, ext?, overwrite?) -> {success, path} — name: filesystem-safe identifier — source: DCTL source as a string — category: 'lut' (default) | 'aces_idt' | 'aces_odt' — subdir: optional folder under the install root — ext: '.dctl' (default) or '.dctle' (encrypted) remove(name, category?, subdir?, ext?) -> {success} read(name, category?, subdir?, ext?) -> {source, encrypted} validate(source) -> {valid, errors, warnings, checker} template(kind, name, options?) -> {source, kind, name, suggested_category} — kind: 'transform' | 'transform_alpha' | 'transition' | 'matrix' | 'kernel' | 'lut_apply' | 'aces_idt' | 'aces_odt' — aces_* kinds set suggested_category to 'aces_idt'/'aces_odt'; pass that as the category argument to install(). list_templates() -> {kinds, kind_categories}. It is categorised as a Destructive tool in the DaVinci Resolve MCP MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on dctl? +

Register the DaVinci Resolve MCP server in PolicyLayer and add a rule for dctl: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches DaVinci Resolve MCP. Nothing to install.

What risk level is dctl? +

dctl is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit dctl? +

Yes. Add a rate_limit block to the dctl rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block dctl completely? +

Set action: deny in the PolicyLayer policy for dctl. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides dctl? +

dctl is provided by the DaVinci Resolve MCP server (samuelgursky/davinci-resolve-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every DaVinci Resolve MCP tool call.

Deterministic rules across all 369 DaVinci Resolve MCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

369 DaVinci Resolve MCP tools catalogued and risk-classified — across an index of 42,500+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.