davinci-resolve-mcp (igamenovoer/davinci-resolve-mcp) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 84 tools. No publisher has claimed this listing.

D
Caution
54/100

davinci-resolve-mcp

A Model Context Protocol (MCP) server that connects AI coding assistants to DaVinci Resolve, enabling query and control through natural language.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

igamenovoer

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
// tools this server exposes83 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

switch_page

Switch to a specific page in DaVinci Resolve. Args: page: The page to switch to. Options: 'media', 'cut', 'edit', 'fusion', 'color', 'fairlight', 'deliver'

set_project_setting

Set a project setting to the specified value. Args: setting_name: The name of the setting to change setting_value: The new value for the setting (can be string, integer, float, or boolean)

open_project

Open a project by name. Args: name: The name of the project to open

create_project

Create a new project with the given name. Args: name: The name for the new project

save_project

Save the current project. Note that DaVinci Resolve typically auto-saves projects, so this may not be necessary.

close_project

Close the current project. This closes the current project without saving. If you need to save, use the save_project function first.

create_timeline

Create a new timeline with the given name. Args: name: The name for the new timeline

create_empty_timeline

Create a new timeline with the given name and custom settings. Args: name: The name for the new timeline frame_rate: Optional frame rate (e.g. "24", "29.97", "30", "60") resolution_width: Optional width in pixels (e.g. 1920) resolution_height: Optional height in pixels (e.g. 1080) start_timecode: Op

delete_timeline

Delete a timeline by name. Args: name: The name of the timeline to delete

set_current_timeline

Switch to a timeline by name. Args: name: The name of the timeline to set as current

add_marker

Add a marker at the specified frame in the current timeline. Args: frame: The frame number to add the marker at (defaults to current position if None) color: The marker color (Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream) note: Text note

import_media

Import media file into the current project's media pool. Args: file_path: The path to the media file to import

delete_media

Delete a media clip from the media pool by name. Args: clip_name: Name of the clip to delete

move_media_to_bin

Move a media clip to a specific bin in the media pool. Args: clip_name: Name of the clip to move bin_name: Name of the target bin

auto_sync_audio

Sync audio between clips with customizable settings. Args: clip_names: List of clip names to sync sync_method: Method to use for synchronization - 'waveform' or 'timecode' append_mode: Whether to append the audio or replace it target_bin: Optional bin to move synchronized clips to

unlink_clips

Unlink specified clips, disconnecting them from their media files. Args: clip_names: List of clip names to unlink

relink_clips

Relink specified clips to their media files. Args: clip_names: List of clip names to relink media_paths: Optional list of specific media file paths to use for relinking folder_path: Optional folder path to search for media files recursive: Whether to search the folder path recursively

create_sub_clip

Create a subclip from the specified clip using in and out points. Args: clip_name: Name of the source clip start_frame: Start frame (in point) end_frame: End frame (out point) sub_clip_name: Optional name for the subclip (defaults to original name with '_subclip') bin_name: Optional bin to place the

create_bin

Create a new bin/folder in the media pool. Args: name: The name for the new bin

list_timelines_tool

List all timelines in the current project as a tool.

add_clip_to_timeline

Add a media pool clip to the timeline. Args: clip_name: Name of the clip in the media pool timeline_name: Optional timeline to target (uses current if not specified)

apply_lut

Apply a LUT to a node in the color page. Args: lut_path: Path to the LUT file to apply node_index: Index of the node to apply the LUT to (uses current node if None)

set_color_wheel_param

Set a color wheel parameter for a node. Args: wheel: Which color wheel to adjust ('lift', 'gamma', 'gain', 'offset') param: Which parameter to adjust ('red', 'green', 'blue', 'master') value: The value to set (typically between -1.0 and 1.0) node_index: Index of the node to set parameter for (uses c

add_node

Add a new node to the current grade in the color page. Args: node_type: Type of node to add. Options: 'serial', 'parallel', 'layer' label: Optional label/name for the new node

copy_grade

Copy a grade from one clip to another in the color page. Args: source_clip_name: Name of the source clip to copy grade from (uses current clip if None) target_clip_name: Name of the target clip to apply grade to (uses current clip if None) mode: What to copy - 'full' (entire grade), 'current_node',

add_to_render_queue

Add a timeline to the render queue with the specified preset. Args: preset_name: Name of the render preset to use timeline_name: Name of the timeline to render (uses current if None) use_in_out_range: Whether to render only the in/out range instead of entire timeline

start_render

Start rendering the jobs in the render queue.

clear_render_queue

Clear all jobs from the render queue.

link_proxy_media

Link a proxy media file to a clip. Args: clip_name: Name of the clip to link proxy to proxy_file_path: Path to the proxy media file

unlink_proxy_media

Unlink proxy media from a clip. Args: clip_name: Name of the clip to unlink proxy from

replace_clip

Replace a clip with another media file. Args: clip_name: Name of the clip to be replaced replacement_path: Path to the replacement media file

transcribe_audio

Transcribe audio for a clip. Args: clip_name: Name of the clip to transcribe language: Language code for transcription (default: en-US)

clear_transcription

Clear audio transcription for a clip. Args: clip_name: Name of the clip to clear transcription from

export_folder

Export a folder to a DRB file or other format. Args: folder_name: Name of the folder to export export_path: Path to save the exported file export_type: Export format (DRB is default and currently the only supported option)

transcribe_folder_audio

Transcribe audio for all clips in a folder. Args: folder_name: Name of the folder containing clips to transcribe language: Language code for transcription (default: en-US)

clear_folder_transcription

Clear audio transcription for all clips in a folder. Args: folder_name: Name of the folder to clear transcriptions from

set_cache_mode

Set cache mode for the current project. Args: mode: Cache mode to set. Options: 'auto', 'on', 'off'

set_optimized_media_mode

Set optimized media mode for the current project. Args: mode: Optimized media mode to set. Options: 'auto', 'on', 'off'

set_proxy_mode

Set proxy media mode for the current project. Args: mode: Proxy mode to set. Options: 'auto', 'on', 'off'

set_proxy_quality

Set proxy media quality for the current project. Args: quality: Proxy quality to set. Options: 'quarter', 'half', 'threeQuarter', 'full'

set_cache_path

Set cache file path for the current project. Args: path_type: Type of cache path to set. Options: 'local', 'network' path: File system path for the cache

generate_optimized_media

Generate optimized media for specified clips or all clips if none specified. Args: clip_names: Optional list of clip names. If None, processes all clips in media pool

delete_optimized_media

Delete optimized media for specified clips or all clips if none specified. Args: clip_names: Optional list of clip names. If None, processes all clips in media pool

set_timeline_item_transform

Set a transform property for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify property_name: The name of the property to set. Options include: 'Pan', 'Tilt', 'ZoomX', 'ZoomY', 'Rotation', 'AnchorPointX', 'AnchorPointY', 'Pitch', 'Yaw' property_value: The value to set fo

set_timeline_item_crop

Set a crop property for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify crop_type: The type of crop to set. Options: 'Left', 'Right', 'Top', 'Bottom' crop_value: The value to set for the crop (typically 0.0 to 1.0)

set_timeline_item_composite

Set composite properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify composite_mode: Optional composite mode to set (e.g., 'Normal', 'Add', 'Multiply') opacity: Optional opacity value to set (0.0 to 1.0)

set_timeline_item_retime

Set retiming properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify speed: Optional speed factor (e.g., 0.5 for 50%, 2.0 for 200%) process: Optional retime process. Options: 'NearestFrame', 'FrameBlend', 'OpticalFlow'

set_timeline_item_stabilization

Set stabilization properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify enabled: Optional boolean to enable/disable stabilization method: Optional stabilization method. Options: 'Perspective', 'Similarity', 'Translation' strength: Optional strength value (0.0

set_timeline_item_audio

Set audio properties for a timeline item. Args: timeline_item_id: The ID of the timeline item to modify volume: Optional volume level (usually 0.0 to 2.0, where 1.0 is unity gain) pan: Optional pan value (-1.0 to 1.0, where -1.0 is left, 0 is center, 1.0 is right) eq_enabled: Optional boolean to ena

add_keyframe

Add a keyframe at the specified frame for a timeline item property. Args: timeline_item_id: The ID of the timeline item to add keyframe to property_name: The name of the property to keyframe (e.g., 'Pan', 'ZoomX') frame: Frame position for the keyframe value: Value to set at the keyframe

modify_keyframe

Modify an existing keyframe by changing its value or frame position. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe frame: Current frame position of the keyframe to modify new_value: Optional new value for the keyframe new_frame: Optional ne

delete_keyframe

Delete a keyframe at the specified frame for a timeline item property. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe to delete frame: Frame position of the keyframe to delete

set_keyframe_interpolation

Set the interpolation type for a keyframe. Args: timeline_item_id: The ID of the timeline item property_name: The name of the property with keyframe frame: Frame position of the keyframe interpolation_type: Type of interpolation. Options: 'Linear', 'Bezier', 'Ease-In', 'Ease-Out'

enable_keyframes

Enable keyframe mode for a timeline item. Args: timeline_item_id: The ID of the timeline item keyframe_mode: Keyframe mode to enable. Options: 'All', 'Color', 'Sizing'

save_color_preset

Save a color preset from the specified clip. Args: clip_name: Name of the clip to save preset from (uses current clip if None) preset_name: Name to give the preset (uses clip name if None) album_name: Album to save the preset to (default: "DaVinci Resolve")

apply_color_preset

Apply a color preset to the specified clip. Args: preset_id: ID of the preset to apply (if known) preset_name: Name of the preset to apply (searches in album) clip_name: Name of the clip to apply preset to (uses current clip if None) album_name: Album containing the preset (default: "DaVinci Resolve

delete_color_preset

Delete a color preset. Args: preset_id: ID of the preset to delete (if known) preset_name: Name of the preset to delete (searches in album) album_name: Album containing the preset (default: "DaVinci Resolve")

create_color_preset_album

Create a new album for color presets. Args: album_name: Name for the new album

delete_color_preset_album

Delete a color preset album. Args: album_name: Name of the album to delete

export_lut

Export a LUT from the current clip's grade. Args: clip_name: Name of the clip to export grade from (uses current clip if None) export_path: Path to save the LUT file (generated if None) lut_format: Format of the LUT. Options: 'Cube', 'Davinci', '3dl', 'Panasonic' lut_size: Size of the LUT. Options:

export_all_powergrade_luts

Export all PowerGrade presets as LUT files. Args: export_dir: Directory to save the exported LUTs

object_help

Get human-readable help for a DaVinci Resolve API object. Args: object_type: Type of object to get help for ('resolve', 'project_manager', 'project', 'media_pool', 'timeline', 'media_storage')

inspect_custom_object

Inspect a custom DaVinci Resolve API object by path. Args: object_path: Path to the object using dot notation (e.g., 'resolve.GetMediaStorage()')

save_layout_preset_tool

Save the current UI layout as a preset. Args: preset_name: Name for the saved preset

load_layout_preset_tool

Load a UI layout preset. Args: preset_name: Name of the preset to load

export_layout_preset_tool

Export a layout preset to a file. Args: preset_name: Name of the preset to export export_path: Path to export the preset file to

import_layout_preset_tool

Import a layout preset from a file. Args: import_path: Path to the preset file to import preset_name: Name to save the imported preset as (uses filename if None)

delete_layout_preset_tool

Delete a layout preset. Args: preset_name: Name of the preset to delete

quit_app

Quit DaVinci Resolve application. Args: force: Whether to force quit even if unsaved changes (potentially dangerous) save_project: Whether to save the project before quitting

restart_app

Restart DaVinci Resolve application. Args: wait_seconds: Seconds to wait between quit and restart

open_settings

Open the Project Settings dialog in DaVinci Resolve.

open_app_preferences

Open the Preferences dialog in DaVinci Resolve.

create_cloud_project_tool

Create a new cloud project. Args: project_name: Name for the new cloud project folder_path: Optional path for the cloud project folder

import_cloud_project_tool

Import a project from DaVinci Resolve cloud. Args: cloud_id: Cloud ID or reference of the project to import project_name: Optional custom name for the imported project (uses original name if None)

restore_cloud_project_tool

Restore a project from DaVinci Resolve cloud. Args: cloud_id: Cloud ID or reference of the project to restore project_name: Optional custom name for the restored project (uses original name if None)

export_project_to_cloud_tool

Export current or specified project to DaVinci Resolve cloud. Args: project_name: Optional name of project to export (uses current project if None)

add_user_to_cloud_project_tool

Add a user to a cloud project with specified permissions. Args: cloud_id: Cloud ID of the project user_email: Email of the user to add permissions: Permission level (viewer, editor, admin)

remove_user_from_cloud_project_tool

Remove a user from a cloud project. Args: cloud_id: Cloud ID of the project user_email: Email of the user to remove

set_project_property_tool

Set a project property value. Args: property_name: Name of the property to set property_value: Value to set for the property

set_timeline_format_tool

Set timeline format (resolution and frame rate). Args: width: Timeline width in pixels height: Timeline height in pixels frame_rate: Timeline frame rate interlaced: Whether the timeline should use interlaced processing

set_superscale_settings_tool

Set SuperScale settings for the current project. Args: enabled: Whether SuperScale is enabled quality: SuperScale quality (0=Auto, 1=Better Quality, 2=Smoother)

set_color_science_mode_tool

Set color science mode for the current project. Args: mode: Color science mode ('YRGB', 'YRGB Color Managed', 'ACEScct', or numeric value)

set_color_space_tool

Set timeline color space and gamma. Args: color_space: Timeline color space (e.g., 'Rec.709', 'DCI-P3 D65', 'Rec.2020') gamma: Timeline gamma (e.g., 'Rec.709 Gamma', 'Gamma 2.4')

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configMCP_DEV_MODE
configRESOLVE_SCRIPT_APIexport ="/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting"
configRESOLVE_SCRIPT_LIBexport ="/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so"
configPROGRAMDATA
configPROGRAMFILES
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

84/84 tools missing one or more hints — switch_page (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); switch_page (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); set_project_setting (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +81 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Destructive tools are labelled

1 tool perform destructive updates without destructiveHint — save_project deletes at line 451 (os.remove(temp_file))

Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.

Tool inputs are validated

77/84 tool handlers declare input schemas (92%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

Only 37/84 tool handlers wrap calls in try/catch (44%)

Wrap each tool handler body in try/catch and return a structured error response.

Tests exist

No test files found

Add tests that exercise each declared tool.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/igamenovoer/davinci-resolve-mcp?variant=verified)](https://m8ven.ai/mcp/igamenovoer/davinci-resolve-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: fd012efe10244b4b71227b7a72be8b9e9002e0e0
code hash: 86442ad53aecc5878e76f0c61ca39c211a25b233537d35e29bf5aa1cf05a830a
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client