Atlas / MCP servers / samuelgursky / DaVinci Resolve

DaVinci ResolveBLOCK

mcp/samuelgursky/davinci-resolve-1

MCP server integration for DaVinci Resolve Studio

Verdict
BLOCK
Grade
F
Trust score
50 /100
Exposed tools
200 187r · 83w · 2d
Transport
stdio · streamable-http
License
MIT
Stars
3,080
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

English | 简体中文

[](https://github.com/samuelgursky/davinci-resolve-mcp/releases) [](https://www.npmjs.com/package/davinci-resolve-mcp) [](docs/reference/api-coverage.md) -blue.svg) -18%20tools-blueviolet.svg) [](docs/reference/api-coverage.md#test-results) [](https://www.blackmagicdesign.com/products/davinciresolve) [](https://www.python.org/downloads/) [](https://opensource.org/licenses/MIT)

A Model Context Protocol (MCP) server that lets AI assistants control DaVinci Resolve Studio through the official Scripting API. It provides full API coverage plus guarded workflow helpers for editing, media pool organization, render setup, review markers, grading, Fusion, Fairlight, project lifecycle tasks, extension authoring, and source-safe media analysis.

[](docs/guides/control-panel.md)

A local browser control panel ships with the server for inspecting Resolve state, running source-safe analysis, drilling into analyzed clips and shots, and editing analysis output inline. See the Control Panel Guide for the full tour.

Quick Start

npx davinci-resolve-mcp setup

Before connecting, ope

Read from source at commit ba56de95aba0OBSERVED · 2026-09-23
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add drt-format --env DAVINCI_MCP_TOKEN=${DAVINCI_MCP_TOKEN} --env PGPASSWORD=${PGPASSWORD} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "drt-format": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "DAVINCI_MCP_TOKEN": "${DAVINCI_MCP_TOKEN}",
        "PGPASSWORD": "${PGPASSWORD}"
      }
    }
  }
}
03

Exposed tools (200)

187 read · 83 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
DocumentaryreadInterview-driven documentary with natural sound and music
DreamyreadSoft, low-contrast with lifted blacks and gentle warmth. Ethereal mood.
EktachromereadVivid blues, punchy contrast. Cross-process reversal feel.
KodachromereadRich, saturated with warm midtones and slightly lifted blacks. Iconic reversal film.
MoonlightreadCool blue shadows, desaturated. Night exterior mood.
OffsetreadTrue exposure compensation - affects entire image equally
PodcastreadMulti-host podcast with music beds
VéritéreadRaw, natural feel with slight lift. Observational documentary aesthetic.
add_clip_flagwriteAdd a flag to a Media Pool clip.
add_clip_markerwriteAdd a marker to a Media Pool clip.
add_clip_mattes_to_media_poolwriteAdd clip mattes from Media Storage to a MediaPoolItem.
add_color_groupwriteCreate a new color group in the current project.
add_items_to_media_pool_from_storagewriteAdd specified file/folder paths from Media Storage into current Media Pool folder.
add_keyframewriteAdd a keyframe at the specified frame for a timeline item property.
add_render_jobwriteAdd a render job based on current render settings to the render queue.
add_subfolderwriteCreate a new subfolder in the current Media Pool folder.
add_timeline_mattes_to_media_poolwriteAdd timeline mattes from Media Storage to a timeline item.
analyze_clip_for_intellisearchwriteRun IntelliSearch analysis on a clip (Resolve 21+, requires AI IntelliSearch Extra).
analyze_clip_for_slatewriteRun Slate analysis on a clip (Resolve 21+, requires AI Slate ID Extra).
append_to_timelinereadAppend clips to the current timeline.
apply_fairlight_preset_to_current_timelinewriteApply a Fairlight preset to the current timeline.
attenuate_lut_filewriteBlend an existing .cube toward identity and install the result.
audioreadOffline audio ops via system ffmpeg/ffprobe (must be on PATH — not bundled, FFmpeg is GPL;
audio_planreadFairlight audio track planning + coverage/loudness analysis — offline, pure Node. Actions: list_templates, select_template, track_plan, analyze_coverage, check_loudness.
auto_sync_audiowriteSync audio across multiple clips.
capabilitiesreadReport available vs. setup-needed features. The core is pure-JS (always works); audio needs ffmpeg on PATH, conform.verify needs sharp, fairlight DB path needs better-sqlite3. Action: get.
conform_qc_packagereadBuild a deliverable package (media mode × formats {otio,fcp7Xml,aaf,drp}) + V2 flag track + provenance manifest from a conformed timeline.
conform_qc_verifywriteRun the read-only verify pass over a conform model (parse->oracle->reference->compare->report).
create_cloud_project_toolwriteCreate a new cloud project.
create_gallery_power_grade_albumwriteCreate a new gallery power grade album.
create_gallery_still_albumwriteCreate a new gallery still album.
create_projectwriteCreate a new project with the given name.
create_project_folderwriteCreate a new folder in the current project folder location.
create_stereo_clipwriteCreate a stereo clip from left and right eye clips.
create_timelinewriteCreate a new timeline with the given name.
create_timeline_from_clipswriteCreate a new timeline from specified media pool clips.
describe_resolve_apireadFull typed detail for one Resolve API symbol. Needs no connection.
disable_background_tasks_for_current_sessionwriteDisable all background tasks for the current Resolve session (Resolve 21+).
enable_keyframeswriteEnable keyframe mode for a timeline item.
encrypt_dctl_nativereadEncrypt a .dctl to a new .dctle using Resolve 21.1. Never overwrites. Empty/null expiry means no expiry; ISO 8601 strings pass to Resolve. Source is unchanged.
export_burn_in_presetreadExport a burn-in preset to a file.
export_current_frame_as_stillreadExport the current frame as a still image.
export_folderreadExport a folder to a DRB file or other format.
export_layout_preset_toolreadExport a layout preset to a file.
export_media_pool_metadatareadExport metadata of clips in the current Media Pool folder to a CSV file.
export_project_to_filereadExport a project to a .drp file.
export_render_presetreadExport a render preset to a file.
export_stills_from_albumreadExport stills from a gallery album.
export_user_preferences_presetreadExport a user-preferences preset to a file (Resolve 21.0.4+).
folder_analyze_for_intellisearchwriteRun IntelliSearch analysis on all clips in a folder (Resolve 21+, requires AI IntelliSearch Extra).
folder_analyze_for_slatewriteRun Slate analysis on all clips in a folder (Resolve 21+, requires AI Slate ID Extra).
folder_exportreadExport a Media Pool folder to a file.
folder_perform_audio_classificationreadClassify audio of all clips in a Media Pool folder into categories (Resolve 21+).
folder_transcribe_audioreadTranscribe audio for all clips in a Media Pool folder.
fusionreadDeclarative Fusion composition (.comp) authoring — offline, no Resolve required. Actions: generate, generate_from_template, list_templates, to_api_calls.
generate_speechwriteGenerate AI text-to-speech audio and add it to the media pool (Resolve 21+).
get_album_stillsreadGet list of stills in a gallery album.
get_audio_render_codecsreadRead GetAudioRenderCodecs (documented on Resolve 21.1+). Pass an audio file extension such as wav.
get_audio_render_formatsreadRead GetAudioRenderFormats (documented on Resolve 21.1+).
get_burn_in_preset_listreadGet the names of all saved data burn-in presets (Resolve 21.0.4+).
get_clip_audio_mappingreadGet audio mapping for a clip.
get_clip_colorreadGet the clip color of a Media Pool item.
get_clip_flag_listreadGet list of flags on a clip.
get_clip_mark_in_outreadGet mark in/out points for a clip.
get_clip_marker_by_custom_datareadGet a marker by its custom data string.
get_clip_marker_custom_datareadGet the custom data of a clip marker at a specific frame.
get_clip_markersreadGet all markers on a Media Pool clip.
get_clip_matte_listreadGet list of clip mattes for a MediaPoolItem.
get_clip_media_idreadGet the media ID for a clip.
get_clip_metadatareadGet metadata for a Media Pool clip.
get_clip_propertyreadGet a property of a Media Pool clip.
get_clip_third_party_metadatareadGet third-party metadata for a clip.
get_clip_timelinereadResolve a Media Pool timeline entry to its timeline summary (Resolve 21.0.4+).
get_clip_unique_id_by_namereadFind a clip by name and return its unique ID.
get_color_group_clipsreadGet clips in a color group for the current timeline.
get_color_group_post_clip_node_graphwriteGet the post-clip node graph for a color group.
get_color_group_pre_clip_node_graphreadGet the pre-clip node graph for a color group.
get_color_groups_listreadGet list of all color groups in the current project.
get_current_databasereadGet information about the current database.
get_current_keyboard_presetreadRead GetCurrentKeyboardPreset (documented on Resolve 21.1+).
get_current_project_folderreadGet the name of the current project folder.
get_current_render_format_and_codecreadGet the current render format and codec setting.
get_current_render_modereadGet the current render mode (0=Individual Clips, 1=Single Clip).
get_current_still_albumreadGet the current still album.
get_database_listreadGet list of all available databases.
get_fairlight_presetsreadGet the available Fairlight preset names.
get_folder_clip_listreadGet list of clips in a Media Pool folder.
get_folder_is_stalereadCheck if a Media Pool folder is stale (needs refresh).
get_folder_subfolder_listreadGet list of subfolders in a Media Pool folder.
get_folder_unique_idreadGet the unique ID of a Media Pool folder.
get_fusion_comp_by_namereadGet a Fusion composition from a timeline item by name.
get_fusion_objectreadGet the Fusion object. Starting point for Fusion scripts.
get_gallery_album_namereadGet the name of the current gallery album.
get_gallery_power_grade_albumsreadGet list of all gallery power grade albums.
get_gallery_still_albumsreadGet list of all gallery still albums.
get_keyboard_presetsreadRead GetKeyboardPresetList (documented on Resolve 21.1+).
get_keyframe_modereadGet the current keyframe mode in Resolve. Returns 0=ALL, 1=COLOR, 2=SIZING.
get_layout_preset_listreadGet the names of all saved UI layout presets (Resolve 21.0.4+).
get_lut_directoriesreadReport Resolve
get_lut_file_capabilitiesreadWhat this server can do with LUT files, and what it refuses.
get_media_pool_item_transcriptionreadRead the complete 21.1 transcription dictionary for one Media Pool item, including timed words.
get_media_pool_unique_idreadGet the unique ID of the Media Pool.
get_media_storage_filesreadGet media and file listings in a given absolute folder path from Media Storage.
get_media_storage_subfoldersreadGet subfolders in a given absolute folder path from Media Storage.
get_mounted_volumesreadGet list of mounted volumes displayed in Resolve
get_normalize_audio_modesreadRead GetNormalizeAudioModes (documented on Resolve 21.1+).
get_project_attributes_in_current_folderreadGet per-project attributes for every project in the current folder (Resolve 21.0.4+).
get_project_folder_listreadGet list of folders in the current project folder location.
get_project_preset_listreadGet list of available project presets.
get_project_settings_presetsreadRead GetProjectSettingsPresetList (documented on Resolve 21.1+).
get_project_unique_idreadGet the unique ID of the current project.
get_quick_export_render_presetsreadGet list of available quick export render presets.
get_render_codecsreadGet available codecs for a given render format.
get_render_formatsreadGet all available render formats.
get_render_job_listreadGet list of all render jobs in the queue.
get_render_job_statusreadGet the status of a specific render job.
get_render_resolutionsreadGet available render resolutions for a format/codec combination.
get_resolve_api_surfacereadCounts and object list for the shipped typed stub. Needs no connection.
get_resolve_version_fieldswriteGet DaVinci Resolve version as structured fields [major, minor, patch, build, suffix].
get_selected_clipsreadGet currently selected clips in the Media Pool.
get_selected_timeline_itemsreadGet the timeline items currently selected in the timeline (Resolve 21.0.4+).
get_still_labelreadGet the label of a still in a gallery album.
get_timeline_by_indexreadGet a timeline by its 1-based index.
get_timeline_item_fadesreadRead GetFades (documented on Resolve 21.1+). Durations are in frames.
get_timeline_item_output_blankingreadRead GetOutputBlanking (documented on Resolve 21.1+). Pixel coordinates; clips inheriting timeline blanking return an empty dict.
get_timeline_item_speedreadRead GetSpeed (documented on Resolve 21.1+).
get_timeline_item_typereadRead the native lowercase TimelineItem type documented on Resolve 21.1+.
get_timeline_item_use_timeline_for_output_blankingreadRead GetUseTimelineForOutputBlanking (documented on Resolve 21.1+).
get_timeline_matte_listreadGet list of timeline mattes for a timeline item.
get_timeline_output_blankingreadRead GetOutputBlanking (documented on Resolve 21.1+). Pixel coordinates; clips inheriting timeline blanking return an empty dict.
get_user_preferences_preset_listreadGet the names of all saved user-preferences presets (Resolve 21.0.4+).
goto_parent_project_folderreadNavigate up one level in the project folder hierarchy.
goto_root_project_folderreadNavigate to the root project folder.
graph_apply_arri_cdl_lutwriteApply ARRI CDL and LUT to a timeline item
graph_apply_grade_from_drxwriteApply a grade from a .drx file to a timeline item
graph_get_lutreadGet LUT path on a node in the color graph.
graph_get_node_cache_modereadGet the cache mode of a node.
graph_get_node_labelreadGet the label of a node.
graph_get_num_nodesreadGet number of nodes in the color graph for a timeline item.
graph_get_tools_in_nodereadGet list of tools used in a node.
import_burn_in_presetwriteImport a burn-in preset from a file.
import_cloud_project_toolwriteImport a cloud project from a file.
import_folder_from_filewriteImport a Media Pool folder structure from a file.
import_layout_preset_toolwriteImport a layout preset from a file.
import_mediawriteImport media into the current project
import_project_from_filewriteImport a project from a .drp file.
import_render_presetwriteImport a render preset from a file.
import_stills_to_albumwriteImport stills from file paths into a gallery album.
import_timeline_from_filewriteImport a timeline from a file (AAF, EDL, XML, FCPXML, DRT, ADL, OTIO).
import_user_preferences_presetwriteImport a user-preferences preset from a file (Resolve 21.0.4+).
insert_audio_to_current_trackwriteInsert audio file to current track at playhead position.
inspect_custom_objectread
install_lut_filewriteInstall a LUT into the writable MCP folder under the master LUT root.
is_rendering_in_progressreadCheck if rendering is currently in progress.
is_resolve_studioreadRead IsStudio (documented on Resolve 21.1+).
link_clip_full_resolution_mediareadLink full resolution media to a proxy clip.
link_clip_proxy_mediareadLink proxy media to a clip.
link_proxy_mediareadLink a proxy media file to a clip.
list_lut_filesreadList LUT files Resolve can see, with the path graph_set_lut accepts.
list_timelines_toolreadList all timelines in the current project as a tool.
modify_keyframewriteModify an existing keyframe by changing its value or frame position.
monitor_clip_growing_filereadMonitor a growing media file for the given Media Pool clip.
move_clips_to_folderwriteMove clips to a different Media Pool folder.
move_media_pool_folderswriteMove folders to a different Media Pool location.
object_helpread
open_app_preferencesreadOpen the Preferences dialog in DaVinci Resolve.
open_projectreadOpen a project by name.
open_project_folderreadOpen/navigate into a project folder.
open_settingsreadOpen the Project Settings dialog in DaVinci Resolve.
perform_clip_audio_classificationreadClassify a clip
project_readreadRead a Resolve Project.db as a database (READ-ONLY, zero-risk, no Resolve needed) — full offline introspection the scripting API can
provenancereadProvenance / bookkeeping / audit (Cluster P) — the trust/defense layer. Report-only (gate: review). Actions: gallery_lineage (stills label convention SC##_approved_v## + albums + TIFF-for-VFX export plan), grade_provenance (
read_lut_filereadSummarize a 3D .cube LUT: size, title, domain. Never the whole table.
refresh_lut_listreadRefresh the LUT list in the project. Call after adding new LUT files.
refresh_media_pool_foldersreadRefresh all folders in the Media Pool.
remove_lut_filedestructiveDelete a LUT from the writable MCP folder only.
rename_color_groupwriteRename a color group.
render_with_quick_exportreadRender the current timeline using a Quick Export preset.
restore_cloud_project_toolreadRestore a cloud project from a folder.
restore_projectreadRestore a project from an archive (.dra) file.
reveal_in_media_storagereadReveal a file path in Resolve
save_as_new_render_presetwriteSave current render settings as a new preset.
save_layout_preset_toolwriteSave the current UI layout as a preset.
save_projectwriteSave the current project.
save_user_preferences_presetwriteSave the current user preferences as a named preset (Resolve 21.0.4+).
search_resolve_apireadSearch the shipped Resolve 21.1 typed API stub. Needs no connection.
set_timeline_item_fadeswriteSet native 21.1 FadeIn and/or FadeOut as non-negative integer frame durations. Omitted fields remain native defaults/current state.
set_timeline_item_speedwriteSet native 21.1 Percentage, PitchCorrection, StretchKeyframesToFit and/or RippleTimeline. Percentage 0 freezes; RippleTimeline defaults false.
setup_multicam_timelinewriteCreate a stacked multicam prep timeline from Media Pool clips.
start_rendering_jobswriteStart rendering jobs. If no job IDs specified, renders all queued jobs.
switch_pagereadSwitch to a specific page in DaVinci Resolve.
ti_add_flagwriteAdd a flag to a timeline item.
ti_add_fusion_compwriteAdd a new Fusion composition to a timeline item.
ti_add_markerwriteAdd a marker to a timeline item.
ti_add_takewriteAdd a take to a timeline item.
ti_add_versionwriteAdd a new color version to a timeline item.
ti_assign_to_color_groupreadAssign a timeline item to a color group.
ti_create_magic_maskwriteCreate a Magic Mask on a timeline item.
ti_export_fusion_compreadExport a Fusion composition to file.
ti_export_lutreadExport LUT from a timeline item.
04

Trust audit

BLOCKgrade F · trust 50/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)WARN
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (15 observation(s))
Network
declared (9 observation(s))
Shell
declared (6 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
resolve-advanced/server/spec-compile.mjs:193
const doc = yaml.load(fs.readFileSync(file, 'utf8'));
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
MEDIUMInventory / provenance · inv.binary · CWE-1104
resolve-advanced/vendor/drp-format/templates/empty-project-r19.drp
empty-project-r19.drp
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
resolve-advanced/vendor/drp-format/templates/empty-project.drp
empty-project.drp
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/utils/mcp_transport.py:242
print(f"davinci-resolve-mcp: bearer token for this session: {token}",
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
src/utils/image_qc.py:407
f"no flags, but the grade moved {round(shift, 2)} ΔE2000 "
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
src/utils/image_qc.py:421
"reason": f"clean grade, {round(shift, 2)} ΔE2000 shift — nothing for vision to settle",
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
tests/test_issue_report.py:80
"[email protected] sk-ant-api03-abcdefghijklmnopqrstuv api_key=hunter2 Bearer eyJhbGciOi.xx",
MEDIUMPrompt injection · prompt.conditional_escalation · CWE-94, CWE-1427
docs/SKILL.md:764
- `report_issue(kind, title, summary, ...)` — when the user says "send this as a
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
remove_lut_file, update_layout_preset
Why it matters. 2 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.binary · CWE-1104
resolve-advanced/test/fixtures/E127_resolve_nested_export.drt
E127_resolve_nested_export.drt
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.binary · CWE-1104
resolve-advanced/vendor/drp-format/__tests__/fixtures/compound-nav-r21.drp
compound-nav-r21.drp
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.binary · CWE-1104
resolve-advanced/vendor/drp-format/__tests__/fixtures/p0-3-session30-empty-effectfilters.drp
p0-3-session30-empty-effectfilters.drp
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.hidden_file · CWE-1104
.clinerules
.clinerules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.windsurfrules
.windsurfrules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
resolve-advanced/.prettierrc.json
.prettierrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_granular_destructive_op.py:433
fn = getattr(__import__(f"src.granular.{path.stem}", fromlist=["x"]),
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_granular_destructive_op.py:456
module = importlib.import_module(f"src.granular.{path.stem}")
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_offline_guard_granular.py:124
common = importlib.import_module(GRANULAR_COMMON)
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_offline_guard_granular.py:136
common = importlib.import_module(GRANULAR_COMMON)
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/test_offline_guard_granular.py:147
module = importlib.import_module(name)
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
resolve-advanced/server/lineage-db.mjs:59
const sha1 = (s) => crypto.createHash('sha1').update(s).digest('hex');
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
resolve-advanced/server/project-db.mjs:23
const sha1 = (s) => crypto.createHash('sha1').update(s).digest('hex');
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
resolve-advanced/vendor/drp-format/media-template-cache.js:30
const key = crypto.createHash('sha1').update(path.resolve(mediaFilePath)).digest('hex');
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/analysis_dashboard.py:15475
etag = '"' + hashlib.md5(raw).hexdigest() + '"'
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/utils/color_grade_live_probe.py:188
return hashlib.md5(path.read_bytes()).hexdigest()

Gates applied: no_behavioural_pass.

Audited 2026-09-23 · audit v0.4.1 · source sha ba56de95aba0full audit observations/trust-audit/mcp-server/samuelgursky__davinci-resolve-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-09-23ba56de95aba0BLOCKF50score 52 -> 50
2026-09-1980eec60050e9BLOCKF52first audit
06

Questions

What is the DaVinci Resolve MCP server?

MCP server integration for DaVinci Resolve Studio

What tools does DaVinci Resolve expose?

200 in total: 187 read-only, 83 that write, and 2 that can delete or overwrite (remove_lut_file). Every one is listed on this page with its risk.

Is DaVinci Resolve safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (50/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does DaVinci Resolve need?

It reads DAVINCI_MCP_TOKEN and PGPASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does DaVinci Resolve run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as drt-format at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (ba56de95aba0), read on 2026-09-23. The repository is watched and re-audited when it changes.

Advertisement