davinci-resolve-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited davinci-resolve-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Control DaVinci Resolve programmatically through 440+ MCP tools.
AI Assistant <--> MCP Protocol <--> davinci-resolve-mcp <--> fusionscript <--> DaVinci ResolveResolve API objects cannot be serialized. The server maps string IDs to live objects.
Always follow this chain:
clear_object_cache and re-fetchresolve_get_project_manager --> project_manager_id
--> project_manager_get_current_project --> project_id
--> project_get_current_timeline --> timeline_id
--> timeline_get_item_list_in_track --> [timeline_item_ids]All tools return JSON: {"success": true, "result": ...} or {"success": false, "error": "..."}.
Some tools require specific Resolve pages:
Use resolve_open_page("color") etc. to switch first.
| Category | Count | Key Tools |
|---|---|---|
| Resolve | 22 | resolve_open_page, resolve_get_version, layout/render presets |
| ProjectManager | 25 | project_manager_get_current_project, project_manager_load_project, database/cloud |
| Project | 43 | project_get_current_timeline, project_set_render_settings, project_start_rendering |
| MediaStorage | 7 | media_storage_get_file_list, media_storage_add_item_list_to_media_pool |
| MediaPool | 27 | media_pool_import_media, media_pool_create_empty_timeline, media_pool_append_to_timeline |
| Folder | 8 | folder_get_clip_list, folder_get_sub_folder_list |
| MediaPoolItem | 36 | metadata, markers, flags, clip properties, proxy, transcription |
| Timeline | 59 | tracks, markers, titles, timeline_create_subtitles_from_audio, export, scene detection |
| TimelineItem | 80 | properties, Fusion comps, color versions, takes, CDL, grades, stabilization |
| Gallery | 14 | still/PowerGrade albums, import/export stills |
| Graph | 11 | node LUTs, cache modes, grade application |
| ColorGroup | 5 | naming, pre/post clip node graphs |
| Utility | 3 | clear_object_cache, initialize |
| Fusion Comp | 40 | comp_add_tool, comp_find_tool, undo/redo, render, lock/unlock |
| Fusion Tool | 20 | tool_set_input, tool_connect_input, modifiers, settings |
| Fusion Input | 12 | expressions, connections, keyframes |
| Fusion Output | 8 | values, connections, disk cache |
| Fusion Flow | 8 | node positioning, selection, zoom |
| Fusion Spline | 5 | keyframe animation (BezierSpline) |
| Fusion Misc | 11 | fusion_get_font_list, fusion_get_reg_list, image cache |
See references/workflows.md for step-by-step recipes covering:
See references/ffmpeg_workflows.md for audio-driven editing:
See references/fusion_tools.md for Fusion node types, common inputs (TextPlus, Merge, Background), and connection patterns.
FFmpeg is used for audio analysis BEFORE building timelines in Resolve. The pattern is:
media_pool_item_get_clip_property(clip_id, "File Path")media_pool_create_empty_timeline + media_pool_append_to_timeline with clip_infosffmpeg -t <duration> -i <file> -map 0:<audio_stream> -af silencedetect=noise=-30dB:d=1.0 -vn -f null --map 0:<N> to target a specific audio stream (MKV files often have multiple)-t <seconds> to limit to clip duration (source files may be longer than timeline clips)Use FFT-based normalized cross-correlation (see find_sounds_fast.py pattern):
ffmpeg -i <file> -map 0:<N> -ac 1 -ar 16000 <output.wav>Performance: ~78 seconds to scan 2.5 hours of audio against 4 sound samples at 16kHz mono.
media_pool_append_to_timeline with clip_infos is the workhorse:
{"media_pool_item_id": "<id>", "startFrame": 1000, "endFrame": 2000}media_pool_get_root_folder → folder_get_clip_listclear_object_cache when switching projects via the Resolve UIinitialize if Resolve was restarted after the MCP server startedffmpeg -i <file> and use -map 0:<N> to target the right onetimeline_item_get_source_start_time / timeline_item_get_source_end_timecomp_lock/comp_unlockcomp_start_undo/comp_end_undo~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.