resolve-ai-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| resolve_statusA | Check how the bridge is connected, plus the Resolve version, open project, and timeline. Always call this first. |
| project_infoB | Return the current project's name, timeline, frame rate, resolution, and timeline count. |
| list_timelinesA | List every timeline in the open project and identify the current one. |
| timeline_overviewA | Inspect stable unique clip IDs, positional labels, tracks, frame ranges and markers. Call before and after edits. |
| timeline_frameA | Return a native MCP image of the requested absolute timeline frame or timecode. Auto attempts a composited still, then Free-compatible ffmpeg source extraction. Source fallback excludes timeline transforms, grades, Fusion and overlays. mode='composite' fails explicitly when a true timeline still is unavailable. |
| timeline_audioA | Analyze selected source PCM, excluding Fairlight gain, fades, mute and the timeline mix. Actions: analyze (per-channel peak/RMS), silence_cuts, energy_envelope, export_slice, onsets, vad_clusters. Defaults to the range from playhead to clip end; whole_clip starts at the clip in-point. Decode is capped at max_duration_seconds. Cut end frames are exclusive; timeline_* fields use absolute timeline coordinates. Known retiming is rejected rather than guessed. Needs ffmpeg or macOS afconvert. |
| list_mediaB | List media pool items recursively with unique ids, bin paths, file paths, frame counts, and durations. |
| list_render_presetsA | List the render presets and formats available in this project, for use with render_current_timeline. |
| preview_timelineA | Duplicate and open the active timeline for reviewing edits while retaining the original. No edits are applied by this call. Get fresh clip IDs with timeline_overview, edit the preview, and compare_timelines before accepting it. |
| compare_timelinesA | Compare two timelines by unique ID or exact name without changing the active timeline. Reports structural/property/marker changes; does not compare rendered pixels, internal Fusion graphs, full grades or Fairlight processing. |
| project_healthA | Inspect active-timeline missing sources, gaps, disabled/locked tracks and clips. Optionally compare timeline resolution/rate against your delivery requirements. Gaps and disabled tracks can be intentional; this does not inspect Fairlight automation. |
| bridge_capabilitiesA | Report Resolve version, transport, API presence and source decoder availability. API presence does not guarantee operation success. New review workflows use ordinary timeline APIs and work through the Console worker in Resolve Free. |
| review_silenceA | Analyze source audio for a clip and place yellow review markers; never deletes clips. Analysis starts at the clip's in-point and excludes Fairlight processing. Audition the markers, then pass accepted marker IDs to apply_silence_cuts. |
| apply_silence_cutsA | Remove USER-ACCEPTED silence intervals on a new duplicate timeline, retaining the original. Supports an isolated normal-speed dialogue clip or one aligned video/audio pair. Complex timelines, Fusion clips, changed timelines and mixed frame rates are rejected. Requires explicit user approval of the selected cuts. Review the resulting preview: rebuilding does not guarantee preservation of fades, gain automation or all metadata. |
| open_timelineB | Open a timeline by unique ID, exact name or one-based index from list_timelines. |
| create_timelineA | Create and open a new empty timeline with an exact name. |
| set_playheadB | Move the current timeline playhead. Use HH:MM:SS:FF matching the timeline frame rate. |
| open_pageA | Switch the Resolve window to a page so the user can see a change: media, cut, edit, fusion, color, fairlight, or deliver. |
| import_mediaA | Import existing local media files by absolute path into the Media Pool. This does not place them on the timeline. |
| append_mediaA | Append video or audio to the timeline from media pool ids or absolute file paths. Omit track_index and record_frame to append at the end of the timeline. For still images use add_image instead, which controls how long the still lasts. |
| add_imageA | Put an image on the timeline: import the still, place it with a real duration, and optionally position it. This is the tool for logos, screenshots, overlays, title cards, and any generated picture. Use track_index=2 or higher to lay the image over existing footage; the track is created automatically when missing. Set at_playhead=True to place it at the current playhead instead of the end of the track. pan_percent and tilt_percent move the image as a percentage of frame width and height from centre. zoom is a scale multiplier where 1.0 is the original size. opacity runs from 0 to 100. Verify with timeline_overview afterwards, and read the returned actual_duration_frames: Resolve can shorten a still. |
| add_trackA | Add one or more empty tracks. track_type is video, audio, or subtitle. |
| set_track_nameB | Rename one track, for example labelling V2 as Overlays. |
| set_clip_transformA | Position, scale, rotate, fade, crop, or blend one timeline item. Use an id such as V2.1 from timeline_overview, or pass item_id="playhead" to act on the clip currently under the playhead so you need not look up the id. pan and tilt are in pixels from centre; pan_percent and tilt_percent are the same move as a percentage of the timeline width and height. zoom sets both axes at once, where 1.0 is original size; zoom_x and zoom_y scale one axis. opacity runs from 0 to 100. composite_mode accepts names such as normal, screen, multiply, add, overlay, or alpha. scaling is crop, fit, fill, or stretch. resize_filter, retime_process, and motion_estimation accept the Resolve mode names. This sets a static transform; for a scale that animates over time use animate_zoom instead. |
| get_clip_transformA | Read the current position, scale, rotation, crop, opacity, and blend mode of one timeline item. Pass an id such as V2.1, or leave item_id as "playhead" to read the clip under the playhead. |
| split_clipA | Split a normal-speed clip at an absolute frame/timecode after creating a timeline checkpoint. Keeps static transforms, enabled state, color and current grade layer. Rejects Fusion compositions and mixed rates; audio links/fades/metadata are not guaranteed. On a failed rebuild, opens the checkpoint and reports the partial attempted timeline. Prefer unique IDs from timeline_overview. Verify the resulting halves. |
| animate_zoomA | Animate a clip's scale and framing over time (smooth zooms, punch-ins, rebounds, pull-outs, multi-keyframe paths). Supports full Zoom In and Zoom Out ( |
| change_clip_speedA | Change constant video speed through a bridge-owned Fusion TimeSpeed node. Existing Fusion connections are preserved. Timeline duration and linked audio are unchanged. Speed 1 neutralizes only bridge-owned nodes. Reverse is not currently verified. Clip-attributes mode changes EVERY use of the source media, relative to its current FPS. Args: item_id: Target clip id (e.g. 'V1.1', 'playhead', or clip name). Defaults to active clip under playhead. speed: Speed multiplier (e.g. 0.75 for 75% speed / 25% slower, 0.5 for half-speed, 2.0 for 2x speed, 1.0 for normal). speed_percent: Speed as a percentage (e.g. 75.0 for 75% speed). slow_down_percent: Slowdown percentage (e.g. 25.0 to slow down by 25% -> 0.75x speed). speed_up_percent: Speedup percentage (e.g. 50.0 to speed up by 50% -> 1.5x speed). interpolate_frames: Whether to enable smooth frame interpolation/blending (default True). reverse: Must be False; use Resolve manually for reverse playback. method: Implementation method: 'fusion' (native TimeSpeed node, default) or 'clip_attributes' (MediaPoolItem FPS). |
| create_compound_clipA | Create a compound clip combining one or more timeline items into a single container clip. Args: item_ids: List of timeline item ids to combine (e.g. ['V1.1', 'A1.1'] or ['A1.1']). If omitted, item_id is used. item_id: Single timeline item id to turn into a compound clip (e.g. 'V1.1' or 'playhead'). Defaults to 'playhead'. name: Name for the newly created compound clip (e.g. 'Voice Compound Clip'). start_timecode: Optional custom starting timecode for the compound clip container. |
| insert_titleA | Insert a title at the playhead on the current video track, best effort. Available title names depend on the Resolve version and installed templates; Text+ and Text are the common ones. Setting the text through scripting is not supported on every build, so check text_set in the result and tell the user to type it in the Inspector if it is false. For designed animated typography, Remotion produces a better result. |
| add_markerA | Add a timeline marker. Omit frame to use the current playhead; frame values are relative to timeline start. |
| delete_markerA | Delete the timeline marker at a frame relative to timeline start. |
| set_clip_propertyA | Set any documented Resolve timeline item property directly. Prefer set_clip_transform for common changes. |
| set_clip_enabledA | Enable or disable one timeline item without deleting it. |
| set_clip_colorB | Set a standard Resolve clip color, or pass an empty string to clear it. |
| get_clip_gradeB | Inspect color grading nodes, versions, and Fusion compositions on a clip. |
| set_clip_gradeB | Apply ASC-CDL color grading (saturation, slope/gain, offset/lift, power/gamma) to a clip. Pass saturation=0.0 for black & white. |
| keyframe_clip_saturationB | Animate a gradual color transition (e.g. from 1.0 full color to 0.0 black and white) across frames via Fusion BezierSpline on the clip. |
| animate_color_fxB | Animate dynamic color effects (rainbow hue rotation and subtle organic luminance flicker) over time via Fusion on a clip. |
| apply_blur_effectC | Apply a static or dynamic (gradual) blur effect to a full frame or masked bounding region on a timeline clip. |
| apply_spotlight_maskC | Apply a dynamic or static spotlight reveal mask with adjustable feathering, ambient darkness, and animated sweep keyframes. |
| delete_clipsA | Delete timeline items. Refuses unless the user explicitly approved this destructive action in the current conversation. |
| save_projectA | Save the current Resolve project. |
| render_current_timelineC | Add a render job for the current timeline. Starting the render requires explicit user approval. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| edit_video | Create a cautious, verifiable Resolve editing workflow for a user goal. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| editing_guide | Workflow and safety guide for editing with Resolve AI Bridge. |
TDQS
Scored across 44 tools
Most tools target distinct actions and resources: transform, speed, grade, markers, timeline management, and rendering are clearly separated. A few pairs overlap, notably bridge_capabilities vs resolve_status and timeline_audio's silence_cuts vs review_silence, but the descriptions are detailed enough to usually prevent misselection.
Tool names overwhelmingly use snake_case with an action verb prefix such as set_, get_, list_, open_, create_, apply_, and delete_. A handful of informational tools use noun-style names instead (resolve_status, project_info, timeline_overview, project_health), creating minor inconsistency but no chaotic pattern.
44 tools is well above the 25-tool threshold and makes selection and discovery notably harder. Several effect/animation tools could be consolidated into parameterized operations, and the status/query tools overlap partially.
The surface covers the core Resolve editing lifecycle: project state, media import, timeline management, clip edits, transforms, speed, grading, effects, markers, audio silence workflows, and rendering. Notable gaps include no delete/rename timeline, no marker update, and no dedicated move-clip operation, but these can often be worked around via set_clip_property.