DaVinci Resolve MCP Server
Allows control of DaVinci Resolve Studio through natural language, including project management, timeline editing, color grading, media pool operations, clip replacement, marker management, title insertion, Fusion composition access, and rendering.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DaVinci Resolve MCP ServerOpen the tutorial project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Resolve MCP Server
Talk to your timeline.
AI-native remote editing and automation for DaVinci Resolve 21. Keep the editorial workflows—precise B-roll replacement, clip transforms, frame understanding and remote operation—and add native Resolve AI, inspectable state, safer edits, captions, transcripts, silence tightening, and multi-track podcast/interview workflows.
Current release: 2.2.0. The 2.0 editing workflows and 2.2 multi-track variant workflows have been live-tested on both Windows and macOS. Some less common Resolve-native AI and legacy operations remain unit-tested or partially exercised only. See validation and limitations.
Current inventory: 77 tools, 16 read-only MCP resources, and 5 workflow prompts.
What you can ask
“What's in this timeline?” — read project, tracks, clips and markers.
“Find the interview at 13:22.” — search at 802 elapsed seconds.
“Replace the second clip on V2 with TAKEOFF_03, video only.”
“What's in the current frame?” — Moondream caption or visual Q&A.
“Find shots containing an airplane.” — sample visible timeline frames with Moondream.
“Transcribe every interview in this bin.” — Resolve-native transcription.
“Caption this episode and give me an SRT.” — Resolve's speech recognition, read back as text.
“Cut the dead air out of this podcast.” — builds a tightened copy; the original is untouched.
“Remove the ums and the tangent about parking.” — text-based cuts into a new timeline.
“Keep all cameras and microphones in sync while tightening this interview.” — cuts every carried track together.
“Add chapter markers based on these transcript timestamps.” — supply chapter boundaries.
“Create a rough cut from these takes in this order.”
“Render this timeline for YouTube.” — local Quick Export, uploading disabled.
“Tell me what is currently rendering.” — read render jobs and progress.
The assistant still supplies editorial judgment. It cannot query Resolve's IntelliSearch index. Word-level, speaker-labelled clip transcripts need Resolve 21.1+; timeline captions work on supported Resolve 21 Studio builds.
Related MCP server: Resolve Claude MCP
Requirements
DaVinci Resolve Studio 21 on the same workstation, running with Preferences > System > General > External scripting using > Local.
A compatible 64-bit Python 3.10+ installation. Python and native Resolve scripting-library compatibility must be checked on your machine.
An MCP client supporting stdio or Streamable HTTP.
Optional Moondream API key, only for cloud vision tools.
Optional ffmpeg on
PATH(orRESOLVE_MCP_FFMPEG), only for silence detection and tightening.Required native AI packages installed through Resolve's Extras Download Manager.
Blackmagic's API documentation describes a Free/Studio superset, but some functions fail without Studio or required Extras. This project's external automation target is Studio; it does not promise full functionality on the free edition.
Install on macOS
git clone https://github.com/guycochran/resolve-mcp-server.git
cd resolve-mcp-server
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
resolve-mcp --doctor
resolve-mcpInstall on Windows (PowerShell)
git clone https://github.com/guycochran/resolve-mcp-server.git
cd resolve-mcp-server
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\resolve-mcp.exe --doctor
.\.venv\Scripts\resolve-mcp.exeActivation is optional. If PowerShell blocks launcher scripts, run the executable directly.
Supported launchers: resolve-mcp, resolve-mcp-server,
python -m resolve_mcp, python src/server.py, start.sh, and start.ps1.
The existing FastMCP implementation is retained using the maintained MCP SDK 1.x
line (mcp>=1.28,<2); SDK 2.x is a separate migration.
Automatic scripting discovery
Platform | Default Modules directory |
Windows |
|
macOS |
|
Override with PYTHONPATH_RESOLVE (Modules directory) or RESOLVE_SCRIPT_API
(parent Scripting directory). Blackmagic's loader honors RESOLVE_SCRIPT_LIB
for a nonstandard native library location. Linux's standard path is retained as
a best effort, without claiming Linux testing.
Connection health checks are cached for five seconds; failed attempts have a
two-second cooldown. resolve_reconnect forces an immediate retry.
--doctor separates OS process presence from scripting connectivity and reports
the version/edition when the API is available.
MCP client configuration
For a client using an mcpServers JSON configuration, use an absolute interpreter
path and module arguments. Windows example:
{
"mcpServers": {
"resolve": {
"command": "C:/path/to/resolve-mcp-server/.venv/Scripts/python.exe",
"args": ["-m", "resolve_mcp"],
"env": {"TRANSPORT": "stdio"}
}
}
}On macOS use /absolute/path/to/resolve-mcp-server/.venv/bin/python.
No working-directory assumption is needed after installation.
Copy .env.example to .env in a source checkout for local configuration.
Environment variables take precedence. Installed-wheel deployments can set
RESOLVE_MCP_ENV_FILE to an explicit private file path. Do not commit credentials.
Remote operation: authenticated Streamable HTTP
Remote MCP client → HTTPS access gateway → localhost:3001/mcp → Resolve
Local MCP client → stdio → ResolveSet TRANSPORT=http, MCP_AUTH_TOKEN and optionally PORT.
The server defaults to HOST=127.0.0.1. Generate a random token, for example with
python -c "import secrets; print(secrets.token_urlsafe(32))", and save it in your
private environment configuration. A token requires at least 32 characters.
Clients send Authorization: Bearer <token> on every HTTP request.
External binding requires a token; setting MCP_PUBLIC_URL also requires one.
Use MCP_PUBLIC_URL=https://resolve.example.com to allow your exact gateway host
and origin. Invalid host/origin requests remain blocked.
This is shared-token authentication for trusted operators, not an OAuth login server. Clients requiring OAuth need a compatible authentication gateway. A token grants access to all exposed tools and local media operations. Run one server process per Resolve instance, with no concurrent GUI edits during mutations. TLS and operator access policies belong at the gateway.
Cloudflare Tunnel
Route a named tunnel hostname to http://127.0.0.1:3001. Set MCP_PUBLIC_URL
to that HTTPS hostname, keep the backend on loopback, and retain bearer authentication.
Apply Cloudflare Access policies appropriate for the operators/clients; an Access
login page alone is not compatible with every MCP client. Configure service
credentials or an OAuth-capable gateway where necessary.
See Cloudflare's published application documentation. A tunnel supplies connectivity; configure access controls as a separate step.
Tailscale
Keep the same loopback backend and bearer token. Use Tailscale Serve to proxy
http://127.0.0.1:3001 over your tailnet's HTTPS hostname; set MCP_PUBLIC_URL
to that origin and restrict operators with tailnet policy.
See Tailscale Serve.
Do not forward the workstation's HTTP port directly onto the public internet. No arbitrary Python or Lua execution tool is exposed.
Two complementary kinds of AI
Resolve-native AI
Transcription with optional speaker detection, transcription clearing, audio classification/clearing, IntelliSearch analysis/reset, Slate ID markers, motion deblur, speech generation, and session-wide background-task disabling.
Native AI runs through Resolve. IntelliSearch and Slate ID need their Extras packages; speech generation needs AI Speech Generator. Face identification is off by default. Folder transcription/classification includes nested folders. Resetting IntelliSearch affects the whole project. Background-task disabling lasts for the Resolve session and has no API enable counterpart.
Moondream visual-language analysis
Set MOONDREAM_API_KEY to preserve frame descriptions, object detection and visual
Q&A. These requests send compressed frames to Moondream's cloud API.
Images use unique temporary paths and are deleted after each request; JPEG
compression happens in memory. Review Moondream API documentation.
Visual shot search samples one midpoint frame per timeline clip, up to the requested limit, and restores page/playhead. It observes the visible composite, including upper tracks; it can miss objects outside the sample. It is not an exhaustive source-media search or a query into native IntelliSearch.
Read-only MCP resources
Each resource returns JSON: {success: true, data: ...} or
{success: false, error: {code, message}}. Reads never select a project/bin/timeline.
Area | Resource URIs |
System |
|
Project |
|
Timeline |
|
Media |
|
Render |
|
Project listing is scoped to the current database folder; media clip listing is scoped to the current bin. Folder paths and workflow searches can traverse all bins.
Editorial workflows and recovery
All 53 original tool names remain. Newer workflows include media/timeline lookup,
resolve_insert_broll, resolve_build_rough_cut, marker/chapter helpers,
resolve_render_for_youtube, visual shot search, captions/transcripts, silence analysis,
reviewable cut variants, and render waiting.
Clip replacement
resolve_replace_clip still reads record position, deletes without ripple,
and inserts at that same record frame. Video-only is the default.
Use 1-based track/clip indices.
dry_run=truereturns the plan without mutations.Media names must be unique;
new_media_iddisambiguates them.Append source ranges are half-open:
[in, out_exclusive); automatic matching usesin + duration. The existingsource_end_frameargument is exclusive (zero means automatic). Plans returnsource_out_exclusive; originalsource_in_native/source_out_nativepreserve raw TimelineItem readbacks and must not be reused as append bounds.Source bounds, timeline position and track locks are checked before deletion.
Mixed source/timeline FPS is rejected rather than guessed.
A full recovery timeline is created before changing clips.
Linked peers are unlinked before deleting only the target, then linked to the replacement. Interview audio is not included in the delete call.
An insertion, duration or relinking failure selects the recovery timeline. The modified original remains for inspection; references to that timeline are not automatically redirected. A recovery copy is not an atomic undo.
The new clip uses its own media defaults. Original effects, grades, Fusion and retiming remain in the recovery copy.
media_type=2 explicitly targets an audio-track item. Combined video/audio
replacement is rejected because a single index cannot safely identify both targets.
This is a safety-related change from the permissive legacy parameter.
B-roll insertion requires an empty destination interval. B-roll and rough-cut tools default to dry-run. Chapter markers take supplied timestamps; they do not infer speaker changes. Direct trim/move operations are deferred because the API does not provide a general, reliable in-place edit with full effect preservation.
Transcripts, captions and multi-track tightening
These workflows are designed to preserve the source timeline by reading it or building a new variant.
Tool | What it does |
| Runs Resolve's auto-captioning on the current timeline and verifies success by reading cues back. |
| Returns caption cues, or on Resolve 21.1+ a clip's native transcript with speakers/word times. Can write SRT, VTT or text to a new path. |
| Read-only ffmpeg |
| Removes shared dead air into a new timeline, keeping a small pause around speech. Dry-run by default. |
| Removes specified time ranges across carried tracks into a new timeline. Dry-run by default. |
| Waits for a render job or queue, then reports status and output file. |
In 2.2, variant editing is multi-track aware. The source timeline is duplicated, the copy is emptied and rebuilt from kept media ranges on their original track numbers. Cameras and separate microphone tracks are cut together, links are restored, timeline markers in kept time move with the edit, and each track is read back and verified against the plan.
Silence is cut only where the selected audio set is quiet. With the default carried-track mode, a guest answering while the host is silent is not mistaken for dead air. Track names, audio formats, enable states and timeline settings are carried where supported.
Locked, non-empty tracks are intentionally refused rather than automatically unlocked because Resolve lock behavior differs across tested 21.x builds and can affect duplicate/source timelines. Titles, generators, compound/multicam clips, retimed clips and media at a different frame rate cannot always be rebuilt exactly; unsupported cases are rejected or reported instead of guessed.
Free-edition calls to Resolve's AI features can open a modal upgrade dialog that disrupts later API calls, so these tools refuse to run unless the product is Resolve Studio.
Live validation highlights
Windows
Resolve Studio 21.0.4.5 / Python 3.12.14. The 2.2 multi-track suite passed 34/34 checks, including locked-track refusal, shared-silence detection across A1/A2/A3, synchronized V1/A1/A2/A3 tightening, link restoration, marker movement, text cuts, source-timeline preservation, and render/wait.
macOS
Apple silicon / macOS 27.0 / Resolve Studio 21.1.0.17 / Python 3.14.2. The 2.2 live run passed, including shared-silence detection, multi-track tightening, link restoration, marker mapping, text cuts, render/wait and project save. The macOS unit suite reported 164 tests.
See docs/VALIDATION.md for fixtures, raw values and Resolve-version-specific findings.
Workflow prompts
MCP clients that support prompts get ready-made recipes with the safety rules built in:
podcast_episode_edit, tighten_recording, captions_and_transcript,
safe_shot_replacement and youtube_delivery.
Development
Codex and other coding agents should read AGENTS.md before making changes.
python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests
python -m buildSee architecture, manual integration tests, validation, the 2.0 implementation report, the 2.1 release notes and 2.2 release notes.
License
MIT. Resolve-native additions were implemented independently from Blackmagic's installed scripting documentation. No source was copied from the Digital Workflow Company reference implementation. The 2.1 transcript and tightening workflows were written independently; the idea of caption readback and calibrated silence detection was informed by reviewing samuelgursky/davinci-resolve-mcp (MIT).
Available Tools
77 toolsresolve_add_fusion_compA
Add a new Fusion composition to the clip at the playhead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states a mutation ('add') but does not disclose whether this replaces an existing Fusion composition, whether it requires a supported clip type, what side effects it has on the timeline, or whether it is undoable. For a mutating tool with zero annotation support, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with a specific verb and object. The key scoping condition ('at the playhead') appears early, and there is no filler. This is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, a short description could suffice, but several operational questions remain: What happens when no clip is at the playhead? Does it create a new Fusion comp or open an editor? Is there a prerequisite timeline page? These gaps make it incomplete for a mutation tool without annotation support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema has nothing to define. The description correctly implies the tool operates on the current clip at the playhead without additional inputs. The baseline for zero-parameter tools is 4, and no parameter information is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action – adding a Fusion composition – and a precise target: the clip at the playhead. It is clearly distinct from siblings like resolve_get_fusion_comps or resolve_get_fusion_tools, which inspect existing comps, and from creation tools like resolve_insert_title. An agent can tell what it does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or alternative routing. The description implies usage through the verb 'add' and the positional condition 'at the playhead', but it does not instruct the agent to verify a clip is present or to consider competing tools like resolve_insert_title. This is implied usage, not clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_add_markerB
Add timeline marker. Legacy frame=0 selects playhead; other values are timeline-relative. Use create_chapter_markers to explicitly address frame zero.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| note | No | ||
| color | No | Blue | |
| frame | No | ||
| duration | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully reveals the legacy frame=0 playhead behavior and explains that other frame values are timeline-relative, which goes beyond the schema. It does not describe side effects, overwrite behavior, or duration units, but the core quirk is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both purposeful: the first defines the operation and the critical frame behavior, the second routes to an alternative. It is front-loaded and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values do not need explanation. The description covers the core operation and the important frame=0 quirk, but for an unannotated five-parameter tool it omits the relationship to resolve_add_marker_at_playhead and does not clarify duration semantics. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for missing parameter documentation. It only explains the frame parameter's playhead-vs-timeline behavior; name, note, color, and duration rely entirely on their names and defaults. Duration's units and boundary behavior are left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Add timeline marker' with a specific verb and resource. It also adds frame-position semantics that differentiate default playhead placement from timeline-relative placement. It does not explicitly contrast with the closely named sibling resolve_add_marker_at_playhead, which costs it full marks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one explicit routing instruction: use resolve_create_chapter_markers to explicitly address frame zero. However, it does not mention the overlapping sibling resolve_add_marker_at_playhead or provide broader guidance about when to prefer this tool over that one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_add_marker_at_playheadA
Add a marker at the exact current playhead, including drop-frame timecode support.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| note | No | ||
| color | No | Blue |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It does disclose that the operation creates a marker at a precise playhead and highlights drop-frame timecode support, which is a useful edge-case behavior. However, it does not mention side effects such as duplicate markers, prerequisites like an open timeline, or whether existing markers are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with the core action front-loaded. 'Including drop-frame timecode support' is a relevant qualifier rather than filler, and there is no unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter mutation with no output schema, the description gives enough to understand the core action, and the drop-frame timecode detail adds useful context. Still, it omits guidance on when to prefer this over resolve_add_marker, and with no annotations, the safety and side-effect profile is left largely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it says nothing about the `name`, `note`, or `color` parameters. The schema's titles and defaults provide some structure, yet the description adds no semantic detail about what these values mean, what format is expected, or why `name` is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Add a marker at the exact current playhead', which clearly distinguishes it from generic marker tools like resolve_add_marker. The added detail about drop-frame timecode support further narrows the purpose. An agent can understand exactly what this tool does without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'at the exact current playhead' provides clear contextual guidance: use this tool when a marker should be placed precisely where the playhead is now. It does not explicitly contrast with resolve_add_marker or state when not to use it, though the playhead-specific framing strongly implies that distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_add_render_jobB
Add a custom render job to the render queue.
Args: output_dir: Output directory path. filename: Custom filename (optional). format: Video format (e.g., "mov", "mp4"). Leave empty for project default. codec: Codec name (e.g., "ProRes422", "H264"). Leave empty for project default. width: Output width. 0 = use project setting. height: Output height. 0 = use project setting. frame_rate: Output FPS. 0 = use project setting.
| Name | Required | Description | Default |
|---|---|---|---|
| codec | No | ||
| width | No | ||
| format | No | ||
| height | No | ||
| filename | No | ||
| frame_rate | No | ||
| output_dir | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only lists parameters and defaults, but does not disclose key behaviors such as whether the job starts immediately, whether it requires a loaded timeline, or what happens on failure. This is a significant gap for a queue-adding operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a clean docstring with a front-loaded purpose and a concise parameter list. Every line earns its place, with no fluff or repetition. It is structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all parameters adequately but misses workflow context: e.g., that this only queues a job and does not start rendering, or how to combine it with resolve_start_render. With an output schema present, the return value is likely documented elsewhere, but the missing operational context keeps this from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by explaining each parameter's purpose and default semantics (e.g., '0 = use project setting', 'Leave empty for project default'). This adds meaning beyond the schema's bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line clearly states the action ('Add a custom render job to the render queue') with a specific verb and resource. It distinguishes from siblings like resolve_start_render by focusing on adding to the queue, though it does not explicitly contrast with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like resolve_start_render, resolve_quick_export, or resolve_render_for_youtube. It only describes the parameters, leaving the agent to infer the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_analyze_intellisearchA
Analyze a clip or folder for IntelliSearch. Needs Faster/Better Extras. Face identification is opt-in. This starts native analysis; it does not query a search index.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| better_mode | No | ||
| folder_path | No | ||
| identify_faces | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that analysis is native, faces are opt-in, and it does not query a search index. These are meaningful behavioral traits. It could mention whether the operation is asynchronous and how to check results, but the current information is substantial given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with four short sentences that front-load the core purpose and then add prerequisite and behavioral notes. Every sentence adds value, and there is no fluff or redundancy. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description covers essential purpose and prerequisites but omits expected follow-up actions (e.g., how to know when analysis is done, whether it returns a result). It also doesn't clarify parameter interplay or potential side effects. While not incomplete to a dangerous degree, it leaves gaps that an agent might need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It directly explains 'identify_faces' as opt-in and indirectly references 'better_mode' through the 'Faster/Better Extras' prerequisite. However, it does not explicitly map each parameter to its role (e.g., what better_mode does, how clip_name vs folder_path interact). The description provides hints but leaves key parameter semantics partially ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Analyze a clip or folder for IntelliSearch.' It distinguishes the tool from siblings like resolve_reset_intellisearch by emphasizing it starts native analysis and does not query a search index. The purpose is unambiguous and easily separates it from related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: prerequisites ('Needs Faster/Better Extras'), opt-in behavior for face identification, and a clear distinction from search queries. However, it does not explicitly mention alternatives or when not to use it, such as when to use reset_intellisearch or other analysis tools. The guidance is helpful but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_analyze_slateA
Run native Slate ID analysis on a clip or folder and add slate markers. Requires AI Slate ID Extras.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| folder_path | No | ||
| marker_color | No | Green |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses that the operation is an analysis that writes slate markers and requires the AI Slate ID Extras package, but it does not describe failure behavior, how existing markers are affected, or what a successful run returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The main action is front-loaded, and the Extras prerequisite is presented as a clear terminal caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential action, target, outcome, and prerequisite, which is adequate for a simple tool. But with no annotations and no output schema, it omits expected return values, marker placement specifics, and behavior when the Extras requirement is unmet, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The phrase 'on a clip or folder' maps to clip_name and folder_path and implies they are alternatives, which adds meaning beyond the bare schema. However, it does not clarify interaction/precedence between those parameters or define marker_color behavior beyond the schema's title and default, leaving 0% schema coverage only partially compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run ... analysis') and resource ('on a clip or folder'), and states the observable result ('add slate markers'). This distinguishes it from sibling analysis/marker tools and makes the tool's purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the target and outcome, and it gives a hard prerequisite ('Requires AI Slate ID Extras'). However, it does not explicitly explain when to prefer this over related sibling tools such as resolve_analyze_intellisearch or resolve_add_marker.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_append_to_timelineA
Add a clip from the media pool to the current timeline.
Args: clip_name: Name of the clip in the media pool. track_index: Target video track (1-based, default: 1). media_type: 0 = video+audio (default), 1 = video only, 2 = audio only. Use 1 for b-roll to preserve interview audio.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | Yes | ||
| media_type | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says "Add" and describes parameter semantics; it does not disclose side effects on the current timeline, whether the operation is destructive or reversible, what happens if no current timeline is open, or what errors/status the caller should expect. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence action statement followed by a concise Args block. There is no filler, and the parameter details are front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool with an output schema, the parameter semantics are well covered. However, the description omits prerequisites (e.g., a loaded project/current timeline), what "append" means in terms of timeline placement, and how failures are surfaced. These omissions matter more because annotations are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description fully compensates. It explains clip_name, specifies track_index is 1-based, documents media_type numeric meaning and defaults, and adds a practical example (b-roll preserving interview audio). Every parameter gains meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resources: "Add a clip from the media pool to the current timeline." This clearly identifies what the tool does and where it applies. It does not explicitly distinguish itself from similar siblings like resolve_insert_broll or resolve_replace_clip, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one useful parameter-level guideline ("Use 1 for b-roll to preserve interview audio") and implies this is for appending media to a timeline. However, it does not say when to prefer this tool over siblings, when not to use it, or what state the timeline/project must be in.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_apply_lutA
Apply a LUT to a clip's node graph. Targets the clip at the playhead.
Must be on the Color page. Common built-in LUTs:
"Film Looks/Rec709 Kodak 2383 D65.cube"
"Film Looks/Rec709 Fujifilm 3513DI D65.cube"
Args: lut_path: LUT file path (relative to Resolve's LUT directory or absolute). node_index: Node to apply LUT to (1-based, default: 1).
| Name | Required | Description | Default |
|---|---|---|---|
| lut_path | Yes | ||
| node_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the page requirement and the fact that it targets the playhead clip, which is useful behavioral context. However, it does not mention whether the operation is destructive, whether it modifies the node graph irreversibly, or what the output/return value is. With no annotations, this is a moderate gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and target. The example LUT paths and Args section are useful and not redundant. It could be slightly tighter, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema present, the description covers the essential context: what it does, where it operates (Color page), and how to specify the LUT. It does not explain the return value, but the output schema likely covers that. It also doesn't mention failure modes (e.g., invalid LUT path), but overall it is sufficiently complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains lut_path as 'LUT file path (relative to Resolve's LUT directory or absolute)' and node_index as 'Node to apply LUT to (1-based, default: 1)', adding meaning beyond the bare schema types. It also gives example LUT paths. This is strong compensation, though it could clarify the default node behavior more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Apply'), a specific resource ('a LUT to a clip's node graph'), and a precise target ('the clip at the playhead'). It clearly distinguishes itself from sibling tools like resolve_get_lut or resolve_export_lut, which are about LUT retrieval/export rather than application.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear prerequisite ('Must be on the Color page') and provides concrete example LUT paths, which helps the agent know what values to pass. It does not explicitly state when to use this tool versus alternatives like resolve_create_color_version, but the context is clear enough for a color-grading operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_ask_about_frameB
Send the current frame to Moondream for visual question answering.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It states the action 'send' but does not reveal whether this is a read-only operation, whether it modifies any state, what side effects occur, or what the response entails. An agent cannot infer safety or expected behavior from this text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no fluff. It conveys the essential function without unnecessary words, achieving high conciseness and clear structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and has an output schema (not shown but indicated true). The description does not explain what 'current frame' means or any prerequisites, but the operation is self-explanatory enough. With no annotations, more context would be helpful, but the minimal description is borderline sufficient for such a basic action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies the single parameter 'question' via 'visual question answering,' making the parameter obvious, but it does not explicitly describe the parameter's format, constraints, or examples. For a single trivial string parameter, this is minimally adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Send the current frame to Moondream for visual question answering.' It specifies a verb, a resource (current frame), and the purpose (VQA). While it doesn't explicitly differentiate from sibling tools like resolve_describe_frame, the intended function is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of conditions, exclusions, or comparisons to sibling tools. The description is purely functional and gives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_build_cut_variantA
Text-based / manual editing: cut the listed ranges from ALL carried tracks into a NEW timeline (dry-run by default). remove: [{start_seconds, end_seconds}] in timeline-relative seconds, e.g. caption cues from resolve_get_transcript(source="captions") for filler words, false starts or off-topic passages. Ranges may overlap; the original timeline is not changed. tracks="all" (default) carries every video/audio track, keeping mics and cameras in sync; tracks="spine" carries only the spine track (A1 by default).
| Name | Required | Description | Default |
|---|---|---|---|
| remove | Yes | ||
| tracks | No | all | |
| dry_run | No | ||
| open_variant | No | ||
| carry_markers | No | ||
| min_keep_seconds | No | ||
| spine_track_type | No | audio | |
| new_timeline_name | No | ||
| spine_track_index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It discloses key behaviors: dry-run by default, original timeline unchanged, overlapping ranges allowed, and tracks behavior. However, it does not explain the effects of parameters like dry_run, open_variant, or carry_markers, nor does it mention return values or potential side effects. The description covers the core non-destructive nature but leaves significant behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, about four sentences, and front-loads the main action. It mixes parameter explanations inline but remains readable. It could be better structured with separate sections for parameters, but it is not overly verbose and wastes little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, no annotations, and no output schema, the description is incomplete. It covers the core operation and two parameters, but leaves out many parameters that affect behavior (e.g., dry_run, open_variant, carry_markers). It also doesn't specify what the function returns or any error conditions. An agent cannot fully understand how to use this tool correctly based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'remove' (format with start_seconds, end_seconds) and 'tracks' (all vs spine) in detail, but ignores the other 7 parameters (dry_run, open_variant, carry_markers, min_keep_seconds, spine_track_type, new_timeline_name, spine_track_index). This leaves the majority of parameters undocumented, which is inadequate for a tool with 9 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cuts listed ranges from carried tracks into a new timeline, which is a specific verb-resource pair. It distinguishes itself from sibling tools like resolve_build_rough_cut by emphasizing 'text-based / manual editing' and explicitly mentioning it creates a new timeline. The example with caption cues from resolve_get_transcript further clarifies its intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it's for text-based/manual editing, and gives an example of using caption cues for removing filler words. It implies it should be used when precise manual cuts are needed, but does not explicitly name alternatives or state when not to use it. However, the example and the distinction from automatic tools are enough to guide an agent reasonably.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_build_rough_cutA
Assemble complete media clips in supplied order into a NEW timeline. Rejects ambiguous media and existing timeline names. Defaults to planning only. This is an ordered assembly; it does not infer cuts from a transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| dry_run | No | ||
| clip_names | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it reveals that a new timeline is created, ambiguous or existing names are rejected, planning mode is the default, and transcript-based inference is not performed. It does not detail what happens on success or when dry_run is false, but the key behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short, front-loaded sentences with no filler. Every sentence adds a useful constraint or behavioral fact, and the most important action appears immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutating tool with no output schema or annotations, the description is mostly sufficient: it defines the required inputs, the uniqueness constraint, the ordering semantics, and the planning default. A little more about the actual execution result would improve completeness, but an agent can select and invoke the tool correctly from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does: 'clip_names' maps to complete media clips in supplied order, 'name' maps to a new, non-existing timeline name, and 'Defaults to planning only' clarifies the dry_run parameter. It could be more explicit about each parameter, but it adds meaningful semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Assemble complete media clips in supplied order into a NEW timeline.' This clearly identifies the tool's core purpose and distinguishes it from siblings that append to an existing timeline or infer cuts from a transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is for ordered assembly into a new timeline, rejects ambiguous media and existing timeline names, and does not infer cuts from a transcript. It makes the when-not explicit, though it stops short of naming the alternative tool to use for transcript-based cuts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_classify_audioB
Classify audio for one clip, or the current/specified folder AND nested folders.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| folder_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action (classify audio) and scope, but does not mention side effects, whether it modifies the project, if it is a long-running operation, what the output is, or any requirements (e.g., must have a project loaded). The description is too sparse to inform the agent about the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action and scope. Every word is useful, with no redundancy or filler. It is appropriately brief for a tool with only two optional parameters and no complex logic described. The structure is clean and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is expected to provide more contextual completeness. It does not explain what 'classify' produces, where results are stored, whether it returns data, or if it has any prerequisites (e.g., must have an open project or timeline). It also does not mention error conditions or the effect of both parameters being set. For a tool with two optional params, the description is minimal and leaves many operational questions unanswered, making it incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add some semantics: 'one clip' maps to clip_name, and 'current/specified folder' maps to folder_path. It also implies that folder_path can be empty to use the current folder. However, it does not clarify behavior when both parameters are provided, the meaning of 'classify' in this context, or any defaults beyond what is in the schema. It adds some value but leaves ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Classify audio' with a specific resource and scope. It distinguishes itself from siblings like resolve_transcribe_audio and resolve_clear_audio_classification by focusing on classification rather than transcription or clearing. The mention of 'one clip, or the current/specified folder AND nested folders' gives precise operational scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some usage context by specifying the two modes (single clip vs. folder), which implies when each parameter should be used. However, it does not explicitly compare to alternatives or state when not to use this tool. For example, it doesn't say 'Use this instead of transcribe_audio for classification.' There is no exclusion or alternative guidance, so the agent is left to infer the appropriate context from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_clear_audio_classificationC
Remove audio classification for one clip, or the current/specified folder AND nested folders.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| folder_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral disclosure burden. It mentions the scope (clip or folder recursively) but does not state whether the operation is destructive, reversible, requires permissions, or has any side effects. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the core functionality and scope. It is concise and front-loaded with the action, with no unnecessary detail. It could be slightly more structured to clarify parameter usage, but it is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two optional params, no output schema, no annotations), the description covers the basic intent but lacks details on parameter interaction and edge cases (e.g., both params empty, which folder is 'current'). It is minimally adequate but not complete enough to guarantee correct invocation without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'one clip' and 'current/specified folder' which roughly map to clip_name and folder_path, but it does not explain parameter precedence, what happens if both are empty, or how the 'current' folder is determined. The mapping is partial and leaves ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action (Remove audio classification) and specifies the target scope: one clip or a folder including nested folders. It distinguishes between these two modes, making the purpose unambiguous. However, it does not differentiate this from sibling tools like resolve_clear_transcription or resolve_classify_audio, which could be confused in intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention when classification removal is appropriate, nor does it exclude cases where other tools (e.g., resolve_clear_transcription) would be better. The usage context is only implied by the verb 'remove', leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_clear_transcriptionB
Delete transcription for one clip, or the current/specified folder AND nested folders.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| folder_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the operation is destructive ('Delete') and highlights the recursive scope ('AND nested folders'), which is valuable. However, it does not state irreversibility, required project context, or what happens when both clip_name and folder_path are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and scope with no filler. Every phrase contributes meaning, and the alternative scopes are clearly separated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is not complete enough for a destructive tool with no output schema and no annotations. It does not clarify parameter priority, the meaning of 'current' folder, prerequisites like a loaded project, or what result the agent should expect. This ambiguity could lead to incorrect invocation when both parameters are relevant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by connecting 'one clip' to clip_name and 'current/specified folder AND nested folders' to folder_path. Yet it leaves ambiguity about which parameter takes precedence, what 'current' means, and whether the two parameters can be used together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Delete transcription') and clearly scopes the action to 'one clip' or a folder including nested folders. It is immediately distinguishable from siblings like resolve_clear_audio_classification and resolve_get_transcript because it targets transcription deletion specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as resolve_clear_audio_classification or when to prefer folder-scoped vs clip-scoped deletion. The description implies the use case but does not state exclusions, alternatives, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_binC
Create a new bin (subfolder) in the media pool.
Args: name: Name for the new bin.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action (create) but does not disclose side effects, whether the bin is created in the currently loaded project, what happens if the name already exists, or whether it requires an open project. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the action and resource. The Args section is redundant with the schema but not harmful. It earns its place with no wasted words, though the Args block could be considered unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple schema (1 param) and an output schema exists, but the description lacks context about the required state (e.g., a loaded project), error conditions, and the meaning of the return value. For a mutation tool with no annotations, this is incomplete. The output schema may cover return values, but the description doesn't explain when this tool is appropriate or what prerequisites must be met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the 'name' parameter ('Name for the new bin'), which adds meaning beyond the schema's bare 'Name' title. However, it doesn't specify constraints like uniqueness, allowed characters, or whether nested paths are supported. Baseline 3 is appropriate because the description adds some value but not rich detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('a new bin (subfolder) in the media pool'), which clearly distinguishes it from sibling tools like resolve_import_media or resolve_create_timeline. It could be slightly more explicit about the media pool context, but the parenthetical clarification helps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor any prerequisites (e.g., must have a project loaded, must be in the media pool). The context is implied by the name and description, but there are no explicit exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_captionsA
Auto-caption the CURRENT timeline with Resolve's speech recognition (Studio, adds a subtitle track). Clips and audio are not changed. The native true/false result is unreliable, so success means a new subtitle track or new cues were read back. Then use resolve_get_transcript(source="captions"). language: auto, english, spanish, ...; preset: default, netflix, teletext; chars_per_line 0 = preset default.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | default | |
| dry_run | No | ||
| language | No | auto | |
| gap_frames | No | ||
| line_break | No | single | |
| chars_per_line | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so well: it states that clips and audio are not changed, that a subtitle track is added, that the native true/false result is unreliable, and exactly what counts as success. This gives an agent crucial expectations beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, then adds behavioral caveats and a workflow hint, then packs parameter notes into one line. Every sentence contributes useful information with minimal waste, though the parameter line is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, side effects, success criteria, a next-step recommendation, and several parameter meanings—substantial for an agent. But with no annotations and no output schema, the unexplained parameters and lack of a return/error contract leave notable gaps for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does add meaning for language, preset, and chars_per_line (listing concrete preset values and explaining '0 = preset default'). But dry_run, gap_frames, and line_break are not explained at all, leaving half the parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: auto-caption the CURRENT timeline with Resolve's speech recognitionropolitan, adding a subtitle track. It also clarifies the scope ('CURRENT timeline') and gives the resulting effect, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context (current timeline, Studio requirement) and a follow-up step (use resolve_get_transcript), so an agent can infer when this tool fits. However, it never explicitly contrasts this with sibling tools like resolve_transcribe_audio or states when not to use it, leaving selection guidance partly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_chapter_markersA
Create markers from supplied chapter/speaker boundaries. Each entry: {frame: timeline-relative integer, name: string, note: optional string}. Validates the complete batch before writing. Does not extract transcripts or infer speaker times.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Blue | |
| chapters | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does meaningful work: it discloses that validation happens for the complete batch before any write, that frame positions are timeline-relative integers, and that no transcript or speaker-time inference is performed. It does not describe return values or failure behavior, so it is not maximally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences deliver the action, entry contract, validation behavior, and non-goals. The information is front-loaded and every sentence contributes something that the schema and annotations do not already provide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the input contract, coordinate frame, and validation atomicity, which is enough for invoking the tool with correct arguments. However, there is no output schema and no statement about what the tool returns (success, created marker IDs, count) or how failures are surfaced, so an agent cannot fully predict the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by defining the structure of each chapters entry: frame as a timeline-relative integer, name as a string, and note as an optional string. It does not explain the color parameter beyond the schema default, but color's meaning is reasonably self-evident and it is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action ('Create markers') with a specific input source ('supplied chapter/speaker boundaries') and gives the per-entry shape. It also distinguishes this tool from nearby transcription or inference tools by explicitly noting that it does not extract transcripts or infer speaker times.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for cases where chapter/speaker boundaries already exist and tells the agent not to use it for transcript extraction or speaker-time inference. It does not explicitly name alternative tools or provide full when-not-to-use conditions, but the context is clear enough for good routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_color_versionB
Create a new color version on the clip at the playhead.
Args: name: Name for the color version. version_type: 0 = local (default), 1 = remote.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| version_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that a version is created, implying a mutation, but gives no details about side effects, requirements (e.g., active project/timeline), error conditions, or reversibility. This is a significant gap for a state-changing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one primary sentence followed by a bullet-point argument list. The main action is front-loaded, and every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool, the description covers the core operation and parameter meanings. However, it omits behavioral context such as error handling, preconditions (e.g., clip at playhead), and return value expectations. Since an output schema exists but is not described, the agent lacks full guidance on what to expect after calling the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context beyond the raw schema: it names the 'name' parameter and explains that 'version_type' uses 0 for local (default) and 1 for remote. This clarifies the integer values and their semantics, which the schema does not provide. However, it does not elaborate on what 'remote' implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'new color version on the clip at the playhead', making the primary action unambiguous. It is specific enough to distinguish from sibling tools like resolve_load_color_version and resolve_list_color_versions, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as loading or listing color versions. The description only explains what the tool does, not the context or prerequisites (e.g., a clip must be present at the playhead) or when to prefer it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_compound_clipB
Create a compound clip from a 1-based video-track range. Creates a recovery timeline first.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Compound Clip | |
| end_clip | No | ||
| start_clip | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose a meaningful side effect, 'Creates a recovery timeline first,' which is useful. However, it does not explain whether the operation is destructive, how the recovery timeline is used, or what happens to the original clips.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The primary action is front-loaded, and the recovery-timeline side effect earns its place as important behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, this is a mutation tool with no annotations and no parameter descriptions. The description leaves key invocation details ambiguous, such as how to specify the range, whether the range is inclusive, and whether a valid timeline must be loaded. It is not complete enough for an agent to call it correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the four undocumented parameters. It offers only the phrase '1-based video-track range,' which hints at track_index/start_clip/end_clip semantics but does not explain defaults, inclusivity, or what end_clip=0 means. This is insufficient for reliable parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a compound clip') and the specific scope ('from a 1-based video-track range'). This distinguishes it from sibling tools like resolve_create_timeline or resolve_build_rough_cut, and it is not a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives, nor are any preconditions or exclusions mentioned. The agent must infer that it applies to the current timeline and that no other tool is more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_projectB
Create a new project.
Args: name: Name for the new project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'Create a new project' conveys mutation but says nothing about side effects, whether an existing project with the same name is rejected or overwritten, or whether the new project becomes the current project.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose. The Args section is redundant but not verbose, and there is no unnecessary filler for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is minimally viable for invoking the tool: it names the action and the single required parameter, and an output schema exists. However, with no annotations and no behavioral context, it leaves gaps around side effects and when creation is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only restates that 'name' is the name for the new project. This adds minimal meaning beyond the schema's property title and fails to address constraints, uniqueness, or formatting expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Create a new project.' This distinguishes it from sibling create tools like resolve_create_bin and resolve_create_timeline, and the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as resolve_list_projects or resolve_load_project. It does not state prerequisites, exclusions, or context in which creation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_create_timelineB
Create a new empty timeline.
Args: name: Name for the new timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that a timeline is created, but does not disclose whether an open project is required, whether the new timeline becomes the current timeline, or what side effects creation has beyond the creation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core action, and contains no filler. The Args block is minimal and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter creation tool with an output schema, this is minimally adequate: the agent knows what to call and what argument to pass. But the missing project prerequisite and post-creation state (e.g., whether the timeline becomes current) leave meaningful gaps, especially with no annotations to fill them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section documents the single parameter as 'Name for the new timeline,' adding slight context beyond the schema's bare 'Name' title. However, with 0% schema description coverage, it does not compensate with constraints like uniqueness, allowed format, or relationship to the current project.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a new empty timeline.' The qualifier 'empty' clearly distinguishes this from sibling tools like resolve_duplicate_timeline and resolve_append_to_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. With many timeline-related siblings, the agent gets no criteria for choosing this tool instead of duplicate_timeline, append_to_timeline, or create_project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_delete_clipA
Delete exactly one clip; defaults to non-ripple. Linked peers remain. Creates a recovery copy.
| Name | Required | Description | Default |
|---|---|---|---|
| ripple | No | ||
| clip_index | No | ||
| track_type | No | video | |
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does well by stating the default ripple behavior, that linked peers remain, and that a recovery copy is created. A slightly higher score would require more detail about the recovery copy lifecycle or confirmation of irreversibility, but these disclosures are already strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the core purpose and key behaviors with no filler. The most important information, what the tool does, comes first, and each subsequent sentence adds a distinct behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so the description does not need to explain return values. Behavioral coverage is good, but parameter ambiguity remains: a caller still does not know exactly how clip_index, track_type, and track_index identify the target clip. This is a meaningful gap for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate for all four parameters. It adds meaning only to the ripple parameter via 'defaults to non-ripple' and vaguely implies 'exactly one' relates to clip_index. It does not explain clip_index semantics, track_type values, or track_index addressing, leaving the agent to infer critical targeting details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Delete exactly one clip,' which unambiguously identifies the operation and scope. Adding 'exactly one' distinguishes it from bulk operations, and no sibling tool overlaps with clip deletion, so the purpose is clear without needing to name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames when to use this tool: when a single clip needs to be deleted. It also notes the default non-ripple behavior, which gives context for typical usage. However, it does not explicitly state when not to use it or name alternatives, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_delete_markersA
Delete markers by explicit color, All, or exact timeline-relative frame (including zero). No arguments make no changes. Returns the removed marker records for restoration.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| frame | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that no arguments cause no changes, and that removed marker records are returned for restoration. It also clarifies frame semantics ('exact timeline-relative frame (including zero)'). These are useful, though it does not discuss permissions or side effects; still, the behavior is adequately transparent for a simple delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, each adding value: the first states the action and selection criteria, the second clarifies the no-op behavior and the return value. There is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete tool with two optional parameters and an output schema (which likely documents the return format), the description covers the essential behavior. It mentions the 'All' option and frame semantics that are not apparent from the schema. It is complete enough for an agent to call the tool correctly without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps 'color' and 'frame' to the properties, indicates that 'All' is a valid color value, and explains frame is timeline-relative and can be zero. However, it does not specify whether color and frame can be combined or the expected format of the color string, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete') and resource ('markers') and lists the selection criteria (color, All, frame). It clearly distinguishes from sibling tools like resolve_add_marker and resolve_get_markers by its explicit delete operation, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates what the tool does, so an agent can infer when to use it. However, it does not explicitly mention when not to use it or name alternatives like resolve_add_marker or resolve_get_markers, leaving the usage context implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_describe_frameA
Send the current frame to Moondream for a caption. detail: short or normal.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | normal |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only states the basic action and mentions the 'detail' parameter, but does not disclose whether the operation is read-only, involves network calls or latency, or has any side effects. For a tool with no annotations, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence plus a brief parameter hint—and front-loads the core purpose. There is no fluff or redundancy; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple input (one optional parameter) and an output schema that defines the return value, so the description does not need to explain output details. It covers the essential action and parameter guidance, but could be slightly more complete by mentioning any prerequisites (e.g., having a loaded timeline) or the nature of the caption generation. Overall, it is sufficient for the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the single 'detail' parameter by specifying the allowed values ('short or normal'), which the schema does not include as an enum. This goes beyond the schema's generic string type and helps the agent select an appropriate value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (send frame to Moondream) and the output (caption), distinguishing it from sibling vision tools like resolve_detect_in_frame (detection) and resolve_ask_about_frame (question answering). The verb and resource are specific, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a straightforward use case (getting a caption for the current frame) but does not explicitly state when to prefer it over alternatives or when not to use it. No exclusionary or comparative guidance is given, but the context is clear enough that an agent could infer its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_detect_in_frameA
Send the current frame to Moondream to detect described objects and return bounding boxes.
| Name | Required | Description | Default |
|---|---|---|---|
| object_description | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the frame is sent to an external service (Moondream) and that the output is bounding boxes, which is useful. Yet it does not mention side effects, latency, failure modes, or whether the operation is strictly read-only, so transparency is only partially adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that packs the action, target, method, and output without any filler. Every word contributes value, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter) and has an output schema, so the description does not need to explain return values. It conveys the core invocation context—acting on the current frame and using a description of objects—sufficiently for an agent to call it correctly. Minor gaps like prerequisite state or error handling are acceptable given the schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a type and title for object_description with 0% description coverage. The tool description compensates by stating that the tool detects 'described objects', clearly linking the parameter to the natural-language description of what to detect. This gives the agent the essential meaning, though it lacks examples or input-format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Send the current frame to Moondream') and a specific result ('return bounding boxes') for detecting described objects. It is clear about the tool's purpose but does not explicitly contrast it with siblings like resolve_describe_frame or resolve_ask_about_frame, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The wording implies usage: call this when you want to detect objects in the current frame based on a description. However, there is no explicit guidance on when to prefer this over other vision tools or any exclusions, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_detect_silenceA
Find dead air on the current timeline with ffmpeg (read-only; needs ffmpeg). detect_on="carried" reports only time when EVERY enabled audio track is quiet (safe for multi-mic podcasts); "spine" analyzes just the spine track. threshold_db 0 = calibrate per clip. Returns timeline-relative seconds (the same scale as resolve_get_transcript captions).
| Name | Required | Description | Default |
|---|---|---|---|
| tracks | No | all | |
| detect_on | No | carried | |
| audio_stream | No | ||
| threshold_db | No | ||
| spine_track_type | No | audio | |
| spine_track_index | No | ||
| min_silence_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states the tool is read-only and requires ffmpeg, which are key constraints. It also explains behavior across detect_on modes and the meaning of threshold_db=0 calibration. It does not disclose potential failure modes (e.g., missing ffmpeg) or performance characteristics, but the provided information is substantive and goes beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the primary action and constraints, then adds mode explanations and output context. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters), lack of annotations, low schema description coverage, and no output schema, the description is incomplete. It does not explain all parameters, does not describe the output format beyond scale, and omits potential prerequisites (like ffmpeg version). An agent may need to probe or fail before understanding full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must define parameters. It explains detect_on (carried vs spine) and threshold_db (0 = calibrate per clip), but does not cover tracks, audio_stream, spine_track_type, spine_track_index, or min_silence_seconds. For a 7-parameter tool, this leaves most parameters semantically undefined, requiring agents to guess or inspect the schema (which is also minimal).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find dead air on the current timeline' with a specific verb ('Find') and resource ('dead air on timeline'). It also distinguishes itself from siblings by adding 'with ffmpeg (read-only; needs ffmpeg)' and describing modes. No other sibling tool focuses on silence detection, so this tool is unique within the set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context for when to use different detect_on modes ('carried' vs 'spine') and explains calibration with threshold_db=0. It also mentions that return values are timeline-relative, aligning with resolve_get_transcript captions. However, it does not explicitly compare with alternatives like resolve_tighten_silence or state when not to use this tool, leaving some room for inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_disable_background_tasksA
Disable ALL Resolve background tasks for this application session. The API has no corresponding enable call; restart Resolve to reset this setting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses the irreversible nature (no enable call, restart required) and the broad scope (ALL tasks). This is strong transparency for a simple tool, though it could specify whether existing queued tasks are canceled or simply prevented from running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary action is front-loaded, and the critical caveat (irreversibility) follows immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers the essential facts: what it does, its scope, and the reset mechanism. It could mention the return value (if any) or side effects on ongoing tasks, but it is sufficient for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for this dimension is 4. The description correctly focuses on behavior rather than parameters, adding no unnecessary detail. The schema already reflects the lack of arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Disable') and the resource ('ALL Resolve background tasks'), with a specific scope ('for this application session'). It is unambiguous and distinguishes itself from other resolve_* tools by describing a global session-level operation rather than a task-specific one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit when-to-use guidance or mention any alternatives. While there are no obvious sibling tools that perform a similar disable operation, the description could have suggested typical scenarios (e.g., 'when you want to prevent background tasks from interfering'). It implies usage through its action but does not actively route the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_duplicate_timelineC
Duplicate the current timeline.
Args: new_name: Name for the duplicate (optional, defaults to original + " Copy").
| Name | Required | Description | Default |
|---|---|---|---|
| new_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that it duplicates the current timeline, but fails to disclose any side effects, such as whether the duplicate becomes the new current timeline, whether it is saved to the project, or whether it is a full copy or a reference. Given the tool is mutating (duplication), the lack of behavioral details is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the action. The docstring-style 'Args' section is clear for the parameter, but the overall description is under-specified for a tool with no other documentation. It is concise but not enough structure to compensate for missing usage and behavioral info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (though not provided) and only one optional parameter, the tool is low complexity. However, the description is incomplete: it does not indicate what the return value is (e.g., success status or the new timeline ID), which is important for the agent to understand the result. The output schema may cover this, but the description should at least mention it. Also, no mention of error conditions (e.g., if no current timeline exists).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the input schema only lists a 'new_name' property with a default of ''. The description adds some meaning by noting that new_name is optional and defaults to original + ' Copy', which is helpful. However, it doesn't specify the exact naming format or constraints (e.g., if characters are sanitized), and since coverage is 0%, the description should compensate more fully for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Duplicate the current timeline' but the tool name is 'resolve_duplicate_timeline'. This is essentially a tautology of the name, restating the action without adding specificity about the resource or context. The description is misleading: 'Duplicate the current timeline' does not clarify what the tool does relative to other timeline tools; it just repeats the purpose implied by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'resolve_create_timeline' or 'resolve_copy_timeline' (if it existed). The description does not mention any context for duplication, such as prerequisites (e.g., current timeline must exist) or whether it duplicates all contents or just the name. It does not exclude any scenarios, leaving the agent to infer when duplication is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_export_lutA
Export a LUT from the current clip's grade.
Args: output_path: Absolute path for the output .cube file. export_type: "17pt", "33pt" (default), or "65pt".
| Name | Required | Description | Default |
|---|---|---|---|
| export_type | No | 33pt | |
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden; it does disclose the core side effect by specifying an output .cube file at an absolute path. It does not discuss overwrite behavior, prerequisites for the current clip, or failure modes, but the main write action is clear enough for a straightforward export operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact parts: a front-loaded purpose sentence and a terse args list. There is no filler or repetition beyond what is needed to document the parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema and full parameter descriptions, the description is nearly complete. The main residual gap is that 'current clip' is not defined and no usage alternative is given, but the operation and its inputs are sufficiently clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description fully compensates by defining output_path as an absolute .cube path and enumerating the allowed export_type values (17pt, 33pt default, 65pt). This adds real meaning beyond the bare schema types and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb (export), a specific resource (LUT), and a source scope (current clip's grade). This cleanly separates it from sibling tools like resolve_apply_lut and resolve_get_lut, which involve applying or retrieving rather than creating a .cube file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when the operation is relevant (exporting a LUT from the current grade), but it gives no explicit guidance on alternatives or exclusion conditions. It does not mention that resolve_apply_lut and resolve_get_lut are for other LUT operations, so usage is only implied by the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_export_timelineC
Export the current timeline to an interchange format.
Args: output_path: Absolute path for the output file. format: Export format — "fcpxml" (default), "edl", "csv", "aaf", "otio".
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | fcpxml | |
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Export' which implies file creation, but doesn't disclose whether existing files are overwritten, what happens if output_path is invalid, or any permissions needed. It also doesn't mention that exporting might affect the timeline state (though it likely doesn't). The description is too thin to fully inform behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear purpose statement and a structured Args section. Every sentence provides useful information, and the format options are listed compactly. It's slightly thin but well organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, one required) and the presence of an output schema, the description is mostly adequate. However, it lacks usage context (when to choose this over other export/render tools), error behavior, and prerequisites (e.g., a loaded timeline). These gaps prevent it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful parameter detail beyond the schema: it specifies output_path as an absolute path and enumerates the allowed format values with a default. This compensates for the 0% schema description coverage, though it doesn't add constraints like file extension rules or format-specific notes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports the current timeline to an interchange format, listing specific formats (fcpxml, edl, csv, aaf, otio). This is specific enough to distinguish from related tools like resolve_export_lut (which exports LUTs) and resolve_quick_export (which renders for delivery). However, it doesn't explicitly contrast with these siblings, so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives. It doesn't mention conditions like 'use this for interchange formats' or 'use resolve_quick_export for final render'. The agent is left to infer usage from the purpose, which is insufficient for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_find_media_clipA
Find shots by case-insensitive name and/or metadata substrings across all bins. Returns exact names, media IDs and folder paths for unambiguous editing. Not visual search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses key behaviors: case-insensitive matching, substring-based search on both name and metadata, and scope across all bins. It also notes the return format. However, it does not mention that the operation is read-only (implied by 'find'), nor does it explain the effect of the 'limit' parameter or whether both name and metadata criteria are combined with AND/OR. The phrase 'and/or' is ambiguous, leaving behavioral expectations unclear for edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences with zero fluff. It front-loads the core action, then adds return-value context and a clear caveat. Every phrase contributes value: 'case-insensitive', 'substrings', 'across all bins', 'exact names, media IDs and folder paths', and 'Not visual search' are all purposeful. It is exemplary in brevity and information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 0% schema parameter coverage, the description must carry the entire burden. It provides the essential purpose, return information, and a key exclusion, but lacks explicit parameter documentation (especially limit) and does not address usage scenarios relative to other search tools. The ambiguous 'and/or' and lack of guidance on combining criteria make it incomplete for a tool with three optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies that 'query' is for name and 'metadata' for metadata substrings, but does not explicitly map each parameter. It completely omits 'limit', which has a default of 50 and likely controls result count. The structure of the metadata object (keys/values) is not explained, leaving the agent to guess the expected format. This is insufficient given the absence of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Find'), a concrete resource ('shots' / media clips), and precise matching semantics ('case-insensitive name and/or metadata substrings across all bins'). It also explicitly contrasts with visual search, distinguishing it from sibling resolve_find_shots_by_visual_description. The return values ('exact names, media IDs and folder paths') further clarify intent. This is a clear, purpose-driven description that leaves no doubt about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context: it searches across all bins, and explicitly excludes visual search ('Not visual search'). This is an effective when-not rule, but it does not name the alternative tool (resolve_find_shots_by_visual_description) or mention other relevant siblings like resolve_list_media or resolve_find_timeline_clip. The guidance is helpful but not exhaustive, lacking explicit recommendations for when to choose this over other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_find_shots_by_visual_descriptionA
Look for objects such as an airplane in timeline shots using Moondream. Sends ONE midpoint timeline frame per clip (up to 50) to the cloud; may miss objects elsewhere. Analyzes the visible composite, including overlays/upper tracks. Temporarily moves playhead/page. Reports sampled clip indices, matches and restoration status; not exhaustive source-media search.
| Name | Required | Description | Default |
|---|---|---|---|
| max_clips | No | ||
| track_index | No | ||
| object_description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so thoroughly. It discloses cloud transmission, one-frame-per-clip sampling with a 50-clip ceiling, the possibility of misses, analysis of the visible composite including overlays/upper tracks, temporary playhead/page movement, and restoration-status reporting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences deliver purpose, mechanism, limitations, side effects, and return information with no filler. The key sampling limitation is front-loaded, and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations and no output schema, the description still covers method, side effects, return summary, and limitations well. The only notable gap is the missing explicit parameter semantics, which keeps it from being fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all parameters. It clearly conveys object_description via the airplane example and hints at sampling limits, but max_clips and track_index are never explicitly tied to behavior. An agent cannot tell exactly how track_index changes the analysis or how max_clips interacts with the stated 50-clip ceiling.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Look for objects such as an airplane in timeline shots using Moondream.' It clearly distinguishes this from single-frame tools by framing it as a search across timeline shots, and the closing 'not exhaustive source-media search' further differentiates its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context: this searches timeline shots by sampling one midpoint frame per clip, and it explicitly warns it may miss objects. It also states a when-not: it is not an exhaustive source-media search. However, it does not name a specific sibling tool to use instead, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_find_timeline_clipA
Find clips by name and/or position. timecode is absolute HH:MM:SS:FF; seconds is elapsed since timeline start (13:22 = 802 seconds). End frame is exclusive. track_index 0 searches all tracks of the selected type.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| seconds | No | ||
| timecode | No | ||
| track_type | No | video | |
| track_index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond a simple 'find' by detailing critical input semantics: timecode format ('absolute HH:MM:SS:FF'), seconds as elapsed since timeline start with a concrete example, end-frame exclusivity, and how track_index=0 searches all tracks. These details reveal how the tool interprets parameters and behaves, which is valuable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no redundancy. The first sentence states the core purpose, and the second packs essential parameter semantics without padding. It is well-front-loaded and every clause adds information, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters, no output schema, and no annotations, the description covers input semantics for time-based and track-index search but leaves gaps. It does not describe the return value (e.g., list of clips or a single clip), what happens on no match, or possible values for 'track_type.' This is a moderate level of completeness that allows a basic call but leaves some uncertainty for edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description must compensate. It does so by explaining the meaning of 'timecode' and 'seconds' with formats and an example, clarifying 'track_index' behavior, and implying 'track_type' via 'selected type.' This is a meaningful layer of explanation above the raw schema, though it does not fully cover 'query' or enumerate 'track_type' values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'Find clips by name and/or position.' This is a specific verb ('find') with a clear resource ('timeline clips') and distinguishes itself from siblings like resolve_find_media_clip (which targets the media pool). It also clarifies the scope ('timeline') through the tool name and description, leaving no ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or when not to use it (e.g., when looking in the media pool instead). While it implies usage by describing search methods, it lacks explicit comparisons or conditions that would help an agent choose it over other resolve find tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_generate_speechA
Generate a speech clip into the media pool, leaving the timeline untouched. Requires AI Speech Generator Extras. Text is limited to 350 characters.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| voice | No | Female 1 | |
| filename | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses the non-destructive nature and the prerequisite, but it does not describe output/return behavior, failure modes, or what happens when the 350-character limit is exceeded. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences with no filler. The primary action and the key constraint ('leaving the timeline untouched') are front-loaded, and the prerequisite and character limit follow efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple 3-parameter tool, the description covers purpose, output location, side-effect absence, prerequisite, and an input constraint. It lacks explicit return/result description and more parameter detail, but it is functionally complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for parameter meaning. It adds a character limit for 'text' but says nothing about 'voice' or 'filename' beyond their raw names. The schema only provides types and defaults, leaving the agent to guess filename expectations and voice value semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate'), a concrete resource ('a speech clip'), and the target location ('into the media pool'). Also distinguishes itself by explicitly saying 'leaving the timeline untouched,' which separates it from timeline-modifying siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: the tool is for speech generation into the media pool without touching the timeline, and it notes a prerequisite ('Requires AI Speech Generator Extras'). It does not explicitly name alternatives or exclusion cases, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_clip_propertiesA
Get detailed properties of a media pool clip.
Args: clip_name: Name of the clip in the media pool.
Returns JSON with all clip properties (duration, resolution, codec, fps, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the operation is a getter and describes the return format, which implies read-only behavior, but it does not disclose failure behavior, error handling, or any environment dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the primary purpose. The Args line adds the only necessary parameter detail, and the return note is useful without being verbose. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter with an output schema, the description is mostly complete: it states the input and the kind of returned data. It lacks explicit mention of the prerequisite that a project/media pool must be loaded, but the phrase 'in the media pool' provides partial context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining that clip_name is a clip in the media pool. This adds relevant context beyond the bare schema property name, though it stops short of specifying naming requirements or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get detailed properties of a media pool clip.' It further specifies the return payload with concrete examples (duration, resolution, codec, fps), which makes the tool's scope clear and distinguishes it from sibling tools like resolve_get_clip_transform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative sibling tools such as resolve_list_media or resolve_find_media_clip. It also does not mention prerequisites like requiring an active project or loaded media pool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_clip_transformA
Read clip transform values at the playhead or explicit 1-based video track/clip indices.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. 'Read' correctly signals a non-mutating operation, and the 1-based indexing rule plus playhead fallback adds important behavioral context beyond the bare tool name. It omits error/edge-case behavior, but the output schema likely covers returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the operation, the resource, and the selection modes with no filler. Every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only getter with only two optional parameters and an output schema available, the description is sufficient for correct invocation. It covers the selection mechanism and indexing convention; return-value details are delegated to the output schema, as appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does by explaining that the two integer parameters are 1-based track/clip indices and that omitting them refers to the playhead. This gives meaningful semantics to the otherwise bare parameter names and default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and a clear resource ('clip transform values'), and it specifies the two selection modes: playhead or explicit 1-based video track/clip indices. This cleanly distinguishes it from siblings like resolve_set_clip_transform and resolve_get_clip_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys when the tool applies: reading transform values, either at the playhead or by providing explicit track/clip indices. It does not explicitly mention alternatives or when not to use it, but the invocation context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_current_pageA
Get the currently active DaVinci Resolve page.
Returns the page name: media, cut, edit, fusion, color, fairlight, or deliver.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It transparently states that the tool returns the page name and lists all possible values ('media, cut, edit, fusion, color, fairlight, or deliver'). The word 'Get' also clearly implies a read-only operation with no mutation of application state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely efficient: one sentence states the action and result, and a second sentence lists the possible return values. There is no redundant information or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter getter, the description is fully sufficient. It names what the tool does and enumerates the valid return values, and an output schema is provided to confirm the structure. Nothing needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document beyond what the empty schema already shows. The baseline of 4 applies because no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('currently active DaVinci Resolve page'), and explicitly enumerates the possible return values. It is easily distinguishable from the sibling resolver tools, especially resolve_open_page, which changes the page rather than querying it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case evident: call this when you need the name of the currently active page in DaVinci Resolve. It does not explicitly mention alternatives or exclusions, but for a read-only state getter the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_current_timelineA
Get detailed info about the current timeline.
Returns JSON with name, timecode, track counts, and start/end frames.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses that this is a read operation ('Get') and enumerates the returned data, but it does not explicitly state that it has no side effects, requires no active project, or what happens if no timeline is current. The return-value mention is useful but the safety/state implications are left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded, and the return content is summarized in a compact list. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter, the description is largely complete: it names the resource and the key returned fields, and an output schema exists for exact return structure. It does not mention error cases or prerequisite state (e.g., an open project), but these are minor gaps for a simple query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description has no parameter meaning to add. The input schema is empty and coverage is 100%, and the baseline for 0-parameter tools is 4; the description appropriately focuses on the operation rather than adding irrelevant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and a specific resource ('the current timeline'), and names concrete return fields (name, timecode, track counts, start/end frames). It is unambiguous about what the tool does, though it does not explicitly contrast itself with sibling tools like resolve_list_timelines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is reasonably implied: call this when you need details about the currently active timeline. However, there is no explicit guidance about when not to use it or how it differs from related tools such as list_timelines or get_playhead, leaving much to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_fusion_compsA
List Fusion compositions on a timeline clip. Targets clip at playhead by default.
Args: track_index: Video track (1-based). 0 = use playhead. clip_index: Clip position on track (1-based). 0 = use playhead.
Returns JSON with comp names and count.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the return format (JSON with comp names and count) and the targeting logic, but does not mention edge cases like empty tracks or missing clips, nor any side effects. This is adequate for a read-only listing tool but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose, followed by parameter explanations. The Args section is moderately compact, though it could be more succinct. No wasted words, but the formatting could be improved for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no required params) and the presence of an output schema, the description covers the essential behavior and parameters. It doesn't need to detail return values since the output schema exists. It lacks edge-case handling but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that 0 means use playhead and 1-based indexing for both parameters, which adds meaning beyond the schema. However, it does not explain the difference between track_index and clip_index beyond their positional roles, leaving some ambiguity about how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists Fusion compositions on a timeline clip and targets the clip at the playhead by default. This is specific enough to distinguish it from siblings like resolve_add_fusion_comp and resolve_get_fusion_tools, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains that track_index and clip_index can be set to 0 to use the playhead, which is the primary usage pattern. However, it does not provide explicit when-not-to-use guidance or name alternatives, though the default behavior is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_fusion_toolsA
List all tools in a Fusion composition on the clip at the playhead.
Args: comp_index: Fusion comp index (1-based, default: 1).
Returns JSON array of tools with their type and name.
| Name | Required | Description | Default |
|---|---|---|---|
| comp_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the action (listing tools), the return format (JSON array with type and name), and the scoping (clip at playhead, comp index). It does not explicitly state it is read-only or describe error behavior, but 'List' strongly implies no side effects. The description adds context beyond the schema by specifying the 1-based indexing and the playhead requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences, each earning its place. The purpose statement is front-loaded, followed by a brief parameter explanation and a clear return-type summary. There is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, the description is quite complete. It states what it lists, where (clip at playhead, comp index), and the output shape. It does not mention edge cases like 'no clip at playhead' or 'invalid comp index', but given the simplicity and the presence of an output schema (even if not fully shown), these gaps are minor. The description covers the essential context an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It fully explains the only parameter: 'comp_index' is a Fusion comp index, 1-based, with a default of 1. This adds meaning beyond the schema, which only provides the type and default without explaining what the index refers to or its base. The description also clarifies the context in which the parameter applies (clip at playhead).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List'), a specific resource ('all tools in a Fusion composition'), and a precise context ('on the clip at the playhead'). It distinguishes itself from siblings like resolve_get_fusion_comps (which lists comps) and resolve_add_fusion_comp (which adds a comp). An agent can immediately understand what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it (requires a clip at the playhead with a Fusion composition, and accepts a comp index). However, it does not explicitly mention alternatives (e.g., resolve_get_fusion_comps for listing comps) or state any exclusion criteria. It is clear but lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_lutA
Get the LUT currently applied to a node on the clip at the playhead.
Args: node_index: Node index (1-based, default: 1).
| Name | Required | Description | Default |
|---|---|---|---|
| node_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'Get' implies a read-only operation and 'currently applied' suggests no mutation, but the description does not explicitly state side effects, failure cases (e.g., no LUT applied, invalid node index), or any access prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose, followed immediately by the parameter clarification. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter getter with an output schema available, so the description is mostly sufficient. It could clarify what happens when no LUT is set or when the node index is invalid, but for a read-only query these are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no description for node_index)Skip, and schema coverage is 0%. The description compensates by explaining that node_index is 1-based and defaults to 1, which is meaningful. It still leaves some ambiguity about what 'node' means, but the single parameter is largely covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise read operation: get the LUT currently applied to a node on the clip at the playhead. This clearly distinguishes it from related operations like apply_lut or export_lut, which have different intents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives such as resolve_apply_lut or resolve_export_lut. The reader must infer that this is the read-only counterpart to applying/exporting LUTs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_markersA
Read timeline markers keyed by timeline-relative frame.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does explicitly say the operation is a read and specifies the keying scheme, which is useful. However, it does not mention dependence on the current timeline, error behavior, or any side-effect-free guarantee beyond the word 'Read'. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes: 'Read' indicates operation type, 'timeline markers' indicates resource, and 'keyed by timeline-relative frame' clarifies the mapping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema present, the description covers the essential semantics: what is being read and how markers are keyed. A minor gap is not explicitly stating that it operates on the current timeline, but that is likely implicit in the Resolve tool family context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage, so the baseline of 4 applies. The description adds meaningful context about what is being read and how it is keyed, even though no parameter-level explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Read', the resource 'timeline markers', and the key 'timeline-relative frame'. This clearly differentiates it from marker-mutating siblings like resolve_delete_markers, resolve_add_marker, and resolve_create_chapter_markers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The read verb implies this is the tool for inspecting markers rather than creating or deleting them, but there is no explicit when-to-use guidance or named alternatives. The intended usage is clear enough from context, yet no exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_playheadA
Get the current playhead timecode position.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the entire burden of behavioral disclosure. It only says 'get', implying a read operation, but does not disclose what happens if no timeline is loaded, whether the timecode format is standard (e.g., HH:MM:SS:FF), or if any side effects exist. The output schema exists but the description itself offers no explicit behavioral guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is completely front-loaded, stating exactly what the tool does without any filler. It earns its place and is appropriately sized for a simple getter with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, output schema present), the description is nearly complete. It could explicitly note that it refers to the current playhead on the current timeline, but that is strongly implied by sibling tools and the tool's name. The output schema covers return values, so the description doesn't need to repeat them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% by default. The description adds no parameter semantics because there are none to explain. Per the baseline for 0-parameter tools, a 4 is appropriate – the description accurately labels the purpose and there is nothing missing regarding parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), resource ('playhead'), and detail ('timecode position'). Clearly distinguishes from sibling tools like resolve_set_playhead or resolve_add_marker_at_playhead, which modify or add at the playhead rather than merely read its position.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives. There is no mention of the read-only nature or conditions under which it is appropriate, such as requiring an open project and current timeline. The presence of siblings like set_playhead implies use cases but they are not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_project_settingsA
Get all settings for the current project.
Returns JSON with frame rate, resolution, color science, and other project settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavioral disclosure. It does add value by specifying that it returns JSON and names key fields, which is not evident from the name alone. However, it does not state whether a project must be loaded, whether the operation is read-only, or what happens if no project is open. For a simple getter, the read-only implication is strong, but the prerequisites remain unspoken.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The main action is stated first, followed by the return format and representative content. Every sentence contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema available, the description is nearly complete. It communicates the primary purpose and return shape. The only minor gap is the absence of explicit note about requiring an open/current project, though that is largely implied by 'current project.' Overall, an agent has enough to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description correctly avoids inventing parameter-related details, and there is nothing more to explain in the input schema. This is appropriate for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific action ('Get all settings') on a clear resource ('the current project'). It also lists representative returned fields, and the name/description naturally distinguishes it from sibling set_project_setting. The purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case clear: retrieve all settings for the current project. However, it does not explicitly mention when not to use it or point to alternatives like set_project_setting, which would be the natural comparison. The usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_render_statusA
Get the status of all render jobs.
Returns JSON with each job's status, progress percentage, and completion state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It discloses the return format (JSON with status, progress, completion state) but does not explicitly state that the operation is read-only or non-blocking, nor does it mention error conditions or dependencies on prior render initiation. The 'Get' verb implies safety, but it is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no superfluous words. It is highly efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has no parameters, and has an output schema that likely details the return structure. The description covers the purpose and key fields, which is sufficient for an agent to invoke it. It lacks mention of any prerequisites or when to use it in a workflow, but that is minor for a getter with an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description needs to add no parameter meaning. According to the rubric, a tool with 0 parameters gets a baseline of 4, and the description does not need to compensate for any missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the status') and the resource ('all render jobs'), distinguishing it from siblings like resolve_get_status (general status) and resolve_wait_for_render (blocking wait). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking render status but provides no explicit guidance on when to choose this over alternatives such as resolve_wait_for_render or resolve_get_status. There is no mention of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_statusA
Get current DaVinci Resolve status including version, current project, timeline, and page.
Returns JSON with product name, version, current page, project name, timeline name, and connection state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It states that it returns a JSON object with specific fields and implies a read-only operation via the verb 'Get', but it does not explicitly state that it has no side effects or side effects, nor does it mention any error conditions or connection requirements. It adds the return field list, which is useful, but it does not fully disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the core purpose front-loaded ('Get current DaVinci Resolve status') followed by a concise list of return fields. Every sentence adds value, and there is no redundancy or filler. It is highly efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no parameters, a clear read-only status getter). The description explains the return fields, and an output schema exists (though not shown) to provide structured detail. It does not mention error handling or connection prerequisites, but for a status query these are minor. The description is sufficient for an agent to call it correctly in most contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is trivially 100%. According to the rubric, the baseline for 0 parameters is 4. The description does not need to add parameter semantics since there are none, and it appropriately focuses on the return value instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'current DaVinci Resolve status', and specifies the included elements (version, project, timeline, page). It is unambiguous about its purpose. However, it does not explicitly distinguish itself from the sibling tool resolve_get_current_page, which is a more specific status getter, so it misses the top score for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like resolve_get_current_page or resolve_get_playhead. It does not mention any prerequisites, conditions, or exclusions. An agent would have no explicit basis to choose this over its siblings beyond the general purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_track_itemsB
List all clips on a specific track.
Args: track_type: "video", "audio", or "subtitle" (default: "video"). track_index: Track number, 1-based (default: 1).
Returns JSON array of clips with name, start/end frame, duration, and source info.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | video | |
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. The verb 'List' implies a read-only operation, and the return-shape statement ('Returns JSON array of clips...') adds some transparency. However, it does not explicitly state side-effect freedom, error behavior, or what happens with invalid track_type/track_index values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-line purpose, a terse Args block, and a one-line return note. Every sentence earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers parameter semantics and mentions the return shape, but given an output schema already exists, that return mention adds limited value. It lacks usage context, sibling differentiation, and behavioral caveats, leaving the description only partially complete for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. It does this well by enumerating valid track_type values ('video', 'audio', 'subtitle'), noting the 1-based nature of track_index, and providing defaults – all beyond the bare schema type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('all clips on a specific track'), making the core purpose clear. It does not explicitly differentiate from siblings like resolve_get_clip_properties or resolve_find_timeline_clip, but the 'all clips on a track' phrasing is enough to avoid major confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or scenarios where a sibling tool would be more appropriate, which is a notable gap given the large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_get_transcriptA
Read transcript TEXT with timing. source="captions": cues from the current timeline's subtitle track(s) (0 = all); seconds are timeline-relative, frames absolute. Works on any Resolve 21 Studio after resolve_create_captions. source="clip": a media pool clip's full native transcript (Resolve 21.1+) with speakers and word times, in seconds from the clip's start; run resolve_transcribe_audio first. format json|srt|vtt|text. output_path (absolute, new file) writes SRT/VTT/text to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json | |
| source | No | captions | |
| media_id | No | ||
| clip_name | No | ||
| max_entries | No | ||
| output_path | No | ||
| subtitle_track | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and delivers: it explains timestamp semantics (timeline-relative seconds vs absolute frames), version requirements, scope ('0 = all' tracks), and the side effect of writing files via output_path. This is thorough behavioral disclosure beyond what structured data provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, purposeful sentences with no filler; the main action is front-loaded and source-specific details are grouped clearly. The compact formatting conveys a high amount of information without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers source selection, prerequisites, formats, and file output, which is substantial for an unannotated tool. However, it is incomplete for a 7-parameter tool: there is no output schema, and media_id/clip_name/max_entries are not defined, leaving clip-source invocation ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It documents source, format, output_path, and subtitle_track (including 0=all), but leaves media_id, clip_name, and max_entries unexplained, creating gaps for clip-source selection and output limiting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Read transcript TEXT with timing,' then distinguishes two clear sources (captions vs clip). It obviously separates this tool from siblings like resolve_transcribe_audio and resolve_create_captions, so an agent can identify it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit prerequisite conditions per source: captions requires resolve_create_captions, and clip requires resolve_transcribe_audio. It does not explicitly name alternative tools or negative cases, but the mode-specific guidance is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_import_mediaA
Import media files into the current media pool bin.
Args: file_paths: List of absolute file paths to import (e.g., ["/Users/guy/video.mov"]).
Returns names of successfully imported clips.
| Name | Required | Description | Default |
|---|---|---|---|
| file_paths | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining side effects alert, and it does state the core behavior: importing into the current bin and returning successful clip names. However, it does not disclose duplicate handling, unsupported file types, or failure behavior beyond returning names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and organized with Args and Returns sections. Every sentence earns its place, and the key purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter import tool with an output schema, the description covers purpose, parameter semantics, and return behavior. It is complete enough for normal use, though edge-case behaviors and alternative tool selection are not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaning by specifying absolute file paths and providing an example. This compensates for the bare schema definition of 'file_paths' as an array of strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Import') and resource ('media files') and locates the action in the 'current media pool bin.' This clearly distinguishes the operation from siblings like resolve_list_media or resolve_find_media_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor does it list exclusions or prerequisites. It only states the action and parameter, leaving usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_insert_brollA
Insert video-only B-roll into an EMPTY interval on an existing video track. Absolute record frame; defaults to dry-run. Rejects overlap, locked tracks and FPS mismatch. Creates a recovery copy before an actual insertion.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| media_id | No | ||
| clip_name | Yes | ||
| track_index | No | ||
| record_frame | Yes | ||
| duration_frames | Yes | ||
| source_start_frame | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: 'defaults to dry-run', 'Rejects overlap, locked tracks and FPS mismatch', and 'Creates a recovery copy before an actual insertion'. While it does not mention the return format or success signaling, it covers the most critical behaviors for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both dense with information. The primary purpose is front-loaded, and the second sentence covers behavioral constraints and safety. There is no waste; every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description is incomplete. It does not explain most parameters, what the function returns, or when to prefer this tool over siblings. An agent would struggle to correctly populate all arguments without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at 'record_frame' (via 'Absolute record frame') and 'dry_run' (via 'defaults to dry-run'), but leaves clip_name, duration_frames, track_index, media_id, and source_start_frame unexplained. The description adds minimal meaning beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Insert video-only B-roll into an EMPTY interval on an existing video track.' It distinguishes from siblings like resolve_insert_title or resolve_replace_clip by emphasizing 'video-only' and 'EMPTY interval', leaving no ambiguity about the tool's primary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for empty intervals ('EMPTY interval') and video-only content, but it does not explicitly name alternatives or conditions when not to use this tool. It lacks an explicit 'when-to-use' vs 'when-not-to-use' guidance, so an agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_insert_titleA
Insert Text+ at playhead. Validates size/position and reports partial failures after creation.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| font_size | No | ||
| position_x | No | ||
| position_y | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It adds non-obvious behavioral context by stating that size/position are validated and that partial failures can be reported after creation. It does not elaborate on rollback or side effects, but the core mutation and failure behavior are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core action first and the caveat second. Every clause earns its place and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, and the description gives the essential insertion and failure behavior. However, it does not state prerequisites such as an open timeline or a set playhead, nor clarify the coordinate system, so the tool is usable but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only gestures at 'size/position' without defining units, valid ranges, coordinate system, or how position_x/position_y relate to the playhead. It adds less meaning than the parameter names and defaults already convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact action: 'Insert Text+ at playhead.' The verb-resource pair is precise, and the playhead qualifier distinguishes it from title-modification tools like resolve_modify_title_text and marker tools like resolve_add_marker_at_playhead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no explicit when-to-use guidance or comparison to alternatives. It does not tell the agent to use this for new titles instead of resolve_modify_title_text, nor mention any prerequisite such as setting the playhead first via resolve_set_playhead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_list_color_versionsA
List all color versions on the clip at the playhead.
Args: version_type: 0 = local versions (default), 1 = remote versions.
Returns JSON with version names and current version.
| Name | Required | Description | Default |
|---|---|---|---|
| version_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly signals a read-only list operation and specifies the return payload ('JSON with version names and current version'). It also documents the local/remote version distinction, which is meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence purpose, a one-line parameter explanation, and a one-line return note. No extraneous content, and the key purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with an output schema, the description is nearly complete. It covers operation, parameter semantics, and return shape. It does not mention error cases (e.g., no clip at playhead) or prerequisites, but these are minor gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, leaving the description solely responsible for parameter meaning. It fully explains version_type with '0 = local versions (default), 1 = remote versions', adding semantic value that the bare schema lacks. For a single-parameter tool, this is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('all color versions on the clip at the playhead'), making the tool's function immediately clear. It also distinguishes itself from siblings like resolve_create_color_version and resolve_load_color_version by focusing on enumeration rather than creation or loading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—whenever the agent needs to see available color versions on the current clip—but it does not explicitly contrast it with alternatives or state when not to use it. The version_type explanation adds operational context but not decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_list_mediaA
List clips in the media pool. Shows the current bin by default.
Args: folder_path: Optional subfolder name to navigate to (e.g., "B-Roll"). Leave empty for current folder.
Returns JSON with folder name, clips (with metadata), and subfolders.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool lists clips, shows the current bin by default, supports navigating to a subfolder, and returns JSON with folder name, clips, and subfolders. This provides useful behavioral context. However, it does not explicitly state that it is read-only, nor does it mention error behavior or edge cases (e.g., invalid path). While it's obvious that listing is non-destructive, the lack of explicit safety information prevents a higher score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly scoped paragraphs. The opening line states the purpose, then it covers the parameter and return format without fluff. Every sentence earns its place, and the most important information is front-loaded. No redundancy with schema or annotations (since none exist).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter) and the description covers the key aspects: default bin, navigation, and return structure. It mentions the JSON output includes folder name, clips, and subfolders, which is sufficient for an agent to know what to expect. There is an output schema present (though not shown), so the description need not detail every field. Minor gaps remain (e.g., exact metadata format), but overall it is complete for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so excellently: the Args section explains that folder_path is optional, gives an example ('B-Roll'), and clarifies the default behavior when empty. This adds meaning well beyond the raw schema, which only has a type and default. All parameter semantics are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('List') and resource ('clips in the media pool') without ambiguity. It also specifies default behavior ('Shows the current bin by default'), which helps distinguish from other browsing tools. However, it does not explicitly compare with any sibling like resolve_find_media_clip or resolve_import_media, so it doesn't fully leverage sibling differentiation. Still, the purpose is immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via the folder_path parameter ('Navigate to a subfolder') and says 'Leave empty for current folder,' which gives context. But it does not explicitly state when to choose this tool over alternatives, nor does it mention any exclusions or prerequisites. For a simple list tool, the context is moderately clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_list_projectsA
List all projects in the current database folder.
Returns a JSON array of project names.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does state that it returns a JSON array of project names, which is helpful. However, it does not explicitly confirm this is a read-only, non-destructive operation, nor does it mention any edge cases or side effects (e.g., requiring a project to be open). The information is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the key action and scope, followed by the return type. There is no filler or redundancy; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema. The description already states the return format ('JSON array of project names'), which is sufficient for an agent to understand the result. It does not elaborate on error conditions or environmental prerequisites, but for a straightforward list operation this is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema is empty and offers no additional meaning. The description's focus on 'list all projects' is sufficient and aligns with the baseline for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb-resource pair ('List all projects') with a specific scope ('current database folder'), and the tool name itself distinguishes it from siblings like resolve_create_project or resolve_list_timelines. It is unambiguous about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool lists projects but provides no explicit guidance on when to prefer it over alternatives or any exclusions (e.g., 'use X for filtered lists'). However, given the simple purpose, the usage is largely implied; it does not actively mislead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_list_render_presetsA
List all available render presets (both standard and Quick Export).
Returns JSON with standard render presets and Quick Export presets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must bear the full burden. It states the tool returns JSON with preset details, which implies a read-only operation, but it does not explicitly claim non-destructive behavior or disclose any potential side effects or prerequisites. The description is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose. It consists of two short sentences, though there is slight redundancy in repeating 'standard and Quick Export' in both sentences. It is still efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and the presence of an output schema, the description is complete. It clearly states what the tool does and what it returns. There are no missing details needed for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no semantics to explain. The baseline for 0 parameters is 4, and the description doesn't need to add parameter information. It correctly focuses on output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available render presets, explicitly mentioning both standard and Quick Export types. This makes the resource and scope unambiguous, distinguishing it from other list tools like list_projects or list_timelines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus alternatives. The purpose implies it is used to retrieve render presets, but no context is given such as 'before rendering' or 'to check available options'. It falls short of explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_list_timelinesA
List all timelines in the current project.
Returns JSON array with each timeline's name, index, duration, and track counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It explicitly states the read-only list behavior and what the JSON array contains. It does not mention failure modes such as requiring an open project, but this is minor for a zero-parameter list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two focused sentences: the first states the action and scope, the second specifies the output shape. There is no fluff or unnecessary detail, and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter enumeration tool with an output schema available, this description is complete. It identifies the resource, limits it to the current project, and summarizes the returned data. Nothing required to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to clarify. The schema coverage is 100% and there is no parameter documentation gap, so the baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and object: 'List all timelines in the current project.' It also describes the output fields, making it easy to distinguish from sibling tools such as resolve_get_current_timeline, resolve_set_current_timeline, or resolve_create_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when to use it: when the agent needs all timelines in the currently loaded project. It scopes usage to the current project and, by naming 'all timelines', implicitly differentiates from single-timeline operations. It does not explicitly name alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_load_color_versionA
Switch to a color version by name on the clip at the playhead.
Args: name: Color version name. version_type: 0 = local (default), 1 = remote.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| version_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the operation ('switch') and the version_type meaning (local/remote), but fails to disclose side effects (e.g., whether the change is persistent, what happens if the named version does not exist, or any permission requirements). The description is terse and omits error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: one sentence stating the purpose, followed by a compact argument list. Every word earns its place, and the main action is front-loaded. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, 1 required) and has an output schema (though not shown here), so the description need not detail return values. However, it lacks essential context about error conditions, preconditions (e.g., ensuring the clip has a color version), and the effect on the current timeline state. It is minimally viable but leaves gaps for an agent to discover at runtime.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only types and titles, with no descriptions (schema coverage 0%). The description adds meaningful semantic detail: it explains that 'name' is the color version name and clarifies that version_type is 0 for local (default) and 1 for remote. This goes beyond the schema and compensates for the lack of structured descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Switch to') and resource ('color version by name on the clip at the playhead'). It clearly distinguishes this from sibling tools like 'resolve_create_color_version' and 'resolve_list_color_versions' by implying an existing version is loaded. The scope is precise and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use or when-not-to-use guidance. It does not mention prerequisites (e.g., the clip must have color versions) or contrast with create/list operations. The agent must infer that 'switch' implies an existing version, but no alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_load_projectC
Open a project by name.
Args: name: Project name to load.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses nothing beyond the action itself — no mention that opening a project switches the current project context, no failure behavior when the project does not exist, and no side effects. The description adds essentially no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three lines with the purpose front-loaded and no filler. The Args block is redundant with the schema, which is a minor inefficiency, but overall it is tight and quick to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and an output schema present, the description covers the what and the parameter, and return values are handled by the output schema. But it omits prerequisites (project must already exist) and failure behavior, making it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It offers only 'name: Project name to load', which is a near-restatement of the schema property title 'Name' and adds minimal meaning. Under conditions demanding compensation, this falls short.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Open a project by name' states a specific verb (open), a resource (project), and a scoping qualifier (by name) that ties to the single parameter. The verb distinguishes it from siblings like resolve_create_project and resolve_save_project. However, 'open' is near-synonymous with the tool's 'load', so the statement borders on restating the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites such as the project needing to already exist (e.g., created via resolve_create_project), nor does it state any exclusions or context in which a sibling would be preferred. No guidance is provided at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_modify_title_textB
Modify Text+ on the playhead clip or explicit 1-based video track/clip indices.
| Name | Required | Description | Default |
|---|---|---|---|
| new_text | Yes | ||
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavior burden. It only says 'Modify', implying mutation, but fails to mention side effects, requirements for an existing Text+ clip, behavior when indices are invalid or when no playhead clip exists, and whether any settings beyond the text are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler. The core action is front-loaded, and the two addressing modes are compactly expressed. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotationsable and three parameters, yet the description omits prerequisites, error behavior, and constraints on what kind of 'Text+' clip can be modified. The output schema may define return values, but the description is too thin for safe invocation in real editing contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It usefully clarifies that clip_index and track_index are 1-based and that omitting them targets the playhead clip, adding meaning beyond the raw parameter names. However, it does not elaborate on new_text semantics or the default 0 values found in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Modify Text+' with target selection via playhead or explicit track/clip indices. It is distinguishable from sibling tools like resolve_insert_title, though the term 'Text+' is domain-specific and the original text being replaced is only implied by the new_text parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains two addressing modes: playhead clip or explicit 1-based track/clip indices CEO. It does not mention when to prefer this over alternatives such as resolve_insert_title, nor does it state prerequisites like whether a Text+ clip must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_open_pageA
Switch DaVinci Resolve to a specific page.
Args: page: Page name — "media", "cut", "edit", "fusion", "color", "fairlight", or "deliver"
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but does not disclose side effects, failure behavior for invalid page names, whether this is a safe navigation operation, or whether it changes any persistent state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused units: a front-loaded action sentence followed by a compact parameter listing. Every sentence contributes necessary information with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema, the description covers the action and all valid inputs. It is nearly complete, but it omits minimal context around what switching pages implies and what happens on invalid input, which matters more given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description or enum for the page parameter, so the description fully compensates by enumerating every valid value: 'media', 'cut', 'edit', 'fusion', 'color', 'fairlight', and 'deliver'. This is exactly the information needed to call the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Switch'), a resource ('DaVinci Resolve'), and a target ('a specific page'). It is immediately clear what the tool does and is distinct from siblings like resolve_get_current_page by its mutable, action-oriented meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent what the tool does, but gives no guidance on when to choose it over alternatives, when not to use it, or any exclusions. Usage must be inferred purely from the verb 'Switch.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_quick_exportB
Render the current timeline using a Quick Export preset.
Common presets: "H.264 Master", "H.265 Master", "ProRes 422 HQ", "YouTube", "Vimeo", "TikTok", "Twitter".
Args: preset: Quick Export preset name. output_dir: Output directory (optional, uses project default if empty). filename: Custom filename (optional, uses timeline name if empty).
| Name | Required | Description | Default |
|---|---|---|---|
| preset | Yes | ||
| filename | No | ||
| output_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but does not reveal any side effects, such as whether the render is asynchronous, whether it blocks, whether it overwrites files, or if specific permissions or a loaded timeline are required. This leaves significant behavioral uncertainty for a render operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the primary purpose is stated in the first sentence, followed by a brief list of common presets and an Args block. There is no fluff, and every sentence contributes to understanding how to use the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and parameter semantics, and an output schema exists, so return values are presumably documented elsewhere. However, it omits any mention of prerequisites (e.g., a loaded timeline), potential side effects, or whether the render is synchronous. Given the tool's complexity (rendering) and lack of annotations, a bit more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema has 0% description coverage, the description itself includes an 'Args' section explaining each parameter: preset, output_dir, and filename, including defaults. This adds meaning beyond the bare schema definitions, making the parameters self-explanatory. It is clear and directly useful for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Render the current timeline using a Quick Export preset.' It specifies the verb (render), resource (current timeline), and method (Quick Export preset), and lists common presets to make the scope concrete. However, it does not explicitly differentiate from sibling tools like resolve_render_for_youtube or resolve_export_timeline, which could confuse an agent selecting among rendering tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Sibling tools like resolve_render_for_youtube and resolve_export_timeline exist, but the description does not mention any selection criteria, prerequisites, or scenarios where this tool is preferred. The agent must infer usage from the tool name and preset list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_reconnectA
Force reconnection to DaVinci Resolve. Use if Resolve was restarted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'force reconnection' and a use case, but it does not disclose side effects (e.g., resetting state, discarding unsaved changes), idempotency (safe to call repeatedly?), or error handling (what happens if already connected). For a 'force' operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core action ('force reconnection') is front-loaded. Every word earns its place. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no detailed output schema exposed, the description is adequate for basic usage. However, it lacks any note about behavior when called repeatedly or potential to interrupt ongoing operations, which would help an agent decide if a reconnect is safe mid-session. Given the simplicity, a 3 is fair but not higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100% (an empty schema). Per the baseline for zero-parameter tools, the description need not add any parameter semantics; the schema already documents everything. This is a non-issue.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Force reconnection to DaVinci Resolve' – a specific verb ('force reconnection') and resource ('DaVinci Resolve'). This clearly distinguishes it from all sibling tools, none of which handle reconnection. The purpose is unambiguous and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear trigger: 'Use if Resolve was restarted.' This tells the agent when to invoke it. It lacks explicit exclusions or alternatives, but given the tool's niche role (reconnect), the condition is sufficient to differentiate it from other resolve_* operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_remove_motion_blurA
Create new deblurred media from ONE uniquely named clip; does not replace timeline clips. filename names the native output. Format/codec availability depends on this workstation.
| Name | Required | Description | Default |
|---|---|---|---|
| codec | No | H264 | |
| format | No | mov | |
| filename | Yes | ||
| clip_name | Yes | ||
| folder_path | No | ||
| extreme_mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool creates new media (non-destructive), does not replace timeline clips, names the output via 'filename', and notes that format/codec availability depends on the workstation. These are meaningful behavioral traits beyond the tool's name, though it does not mention side effects, permissions, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two sentences with no filler. It front-loads the core purpose and immediately adds a critical behavioral note (non-destructive). Every sentence earns its place, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, no output schema, and no annotations, yet the description is extremely brief. It does not explain the purpose of 'extreme_mode' or 'folder_path', nor does it describe the expected output or any asynchronous behavior. For a rendering/processing tool, this is insufficient to guide an agent on correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining parameter meaning. It gives some context for 'clip_name' ('ONE uniquely named clip') and 'filename' ('names the native output'), but it does not explain 'codec', 'format', 'folder_path', or 'extreme_mode'. This leaves most parameters ambiguous, which is a significant gap given zero schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Create new deblurred media from ONE uniquely named clip'. It uses a specific verb (create) and resource (deblurred media) and adds a key constraint ('ONE uniquely named clip') that distinguishes it from general media creation. It also clarifies it does not replace timeline clips, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for deblurring clips, but it does not explicitly state when to use it over alternatives (e.g., other media creation tools like resolve_create_compound_clip). It does note that it creates new media rather than modifying existing clips, which is a mild usage hint, but there is no explicit when-not-to-use or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_render_for_youtubeA
Render locally with an installed Quick Export preset; explicitly disables uploading to YouTube. Requires an existing absolute output directory and a filename. Returns Resolve's actual status.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | YouTube | |
| filename | Yes | ||
| output_dir | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behaviors: render location (local), upload suppression, prerequisite (existing absolute output directory), and return value ('Resolve's actual status'). It stops short of explaining synchronous vs. asynchronous rendering or error conditions, but the disclosed traits go beyond a one-line summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff: purpose, constraints, and return value. Each sentence earns its place, and the core differentiation (local, no upload) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema and no annotations, the description covers purpose, prerequisites, and return behavior. It doesn't clarify what happens if the preset is missing or whether rendering blocks, but these are minor gaps given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It maps meaningfully to all three parameters: 'existing absolute output directory' clarifies output_dir, 'a filename' clarifies filename, and 'installed Quick Export preset' clarifies preset's nature. It could add detail like file extension rules or full-path expectations, but it gives substantial semantic value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Render locally with an installed Quick Export preset' and explicitly distinguishes itself by noting it 'disables uploading to YouTube.' This differentiates it from sibling render tools like resolve_quick_export and resolve_add_render_job without needing to inspect them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is for local renders with a Quick Export preset and explicitly no YouTube upload. This implies the right scenario for use, though it doesn't name specific alternatives or state when-not-to-use them. The 'explicitly disables uploading' is a strong contextual signal that selects this tool over upload-capable siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_replace_clipA
Replace at the original record position without ripple. Video-only preserves linked audio. Indices are 1-based. media_type 1 targets video; 2 targets audio. Combined replacement is rejected. source_end_frame is EXCLUSIVE; zero auto-matches source_start_frame + original duration. Source FPS must match timeline. Native source-out readbacks are reported separately. Validates bounds/locks/ambiguity and creates a recovery timeline before mutation. dry_run returns the plan without edits; new_media_id disambiguates duplicate names.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| clip_index | Yes | ||
| media_type | No | ||
| track_index | Yes | ||
| new_media_id | No | ||
| new_clip_name | Yes | ||
| source_end_frame | No | ||
| source_start_frame | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers: it discloses that combined replacements are rejected, that source_end_frame is exclusive and auto-matches to original duration, that it validates bounds/locks/ambiguity, creates a recovery timeline before mutating, reports native source-out readbacks separately, and that dry_run makes no edits. This far exceeds a generic statement like 'replaces a clip'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place. The main purpose is front-loaded, followed by dense but non-redundant coverage of indexing, frame semantics, validation, safety, and dry-run behavior. It is appropriately sized for a complex mutating tool with eight parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and eight parameters, the description covers prerequisites (FPS match), validation, safety via recovery timeline, indexing conventions, dry-run path, and duplicate-name handling. An output schema exists, so describing the return shape is not required; nothing essential for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters, and it does: 1-based indices, media_type 1/2 meanings, source_end_frame exclusivity and zero behavior, dry_run plan behavior, and new_media_id disambiguation. All non-obvious parameters are addressed, and new_clip_name is self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb and object: replace at the original record position without ripple, immediately distinguishing this in-place edit from timeline mutations like append, delete, or insert. It also scopes the operation by media type and explains the rejection of combined replacements, so the tool's purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the core placement behavior (original position, no ripple) and gives operational conditions such as matching source FPS, media_type semantics, bounds/lock validation, and dry_run use. It does not explicitly point to a sibling alternative or state when not to use this tool, but for an in-place replacement the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_reset_intellisearchA
Clear IntelliSearch analysis for the ENTIRE current project (Resolve API scope).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does communicate the most important trait — that this is a broad, potentially destructive operation affecting the ENTIRE project, not a scoped or reversible-looking action. However, it doesn't disclose side effects (e.g., invalidation of derived results), recoverability, or whether analysis must be regenerated afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 10-word sentence that front-loads the verb and action, emphasizes scope with 'ENTIRE', and clarifies the domain in a parenthetical. Every word earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description conveys what the operation does, its scope, and its domain — sufficient for an agent to invoke it. Minor gaps remain around post-conditions and consequences, but the low complexity keeps the burden modest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to illuminate beyond the schema. The 0-params baseline of 4 applies; no semantic gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Clear'), a precise resource ('IntelliSearch analysis'), and a clear scope qualifier ('ENTIRE current project'). It reads as the inverse of the sibling 'resolve_analyze_intellisearch' and is distinct from similar tools like 'resolve_clear_transcription' and 'resolve_clear_audio_classification', which target different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't state that this precedes a re-run of resolve_analyze_intellisearch, when to choose it over scope-limited clear operations, or any conditions under which it should not be invoked. The parenthetical '(Resolve API scope)' is a domain qualifier, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_save_projectB
Save the current project.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'Save' without disclosing side effects such as overwriting, disk persistence, blocking behavior, or handling of unsaved changes. The output schema exists, but the description gives no hint of what the tool returns or does beyond the bare action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler. It states the verb and resource immediately and is appropriately sized for a zero-parameter action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with an output schema, this is mostly sufficient for an agent to invoke it correctly. However, missing side effects and usage context leave an agent to infer what 'save' actually entails in Resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema fully documents this with 100% coverage, so the description need not add parameter-level detail. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Save', and a clear resource, 'current project', so the action is unambiguous. It doesn't explicitly contrast with sibling tools, but no sibling performs a save operation, so confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus related project operations like load_project or create_project. The intended usage is only implied by the verb, with no conditions, exclusions, or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_clip_enabledA
Enable/disable a clip at playhead or explicit 1-based video track/clip indices.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | ||
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral burden, but it only states the core operation. It doesn't disclose side effects, behavior when indices are invalid or playhead is not over a clip, reversibility, or any mutation warnings. For a setter tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the action and adds the key scoping detail without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core calling convention is covered, but edge cases are not addressed: what happens when only one of clip_index/track_index is set, whether playhead requires both indices to be 0, and error handling are unclear. Given an output schema exists, return values are not essential, but these constraints affect correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well by defining the '1-based' semantics for track/clip indices and the playhead default. This adds meaning beyond the raw schema fields, which only provide types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('enable/disable') and explicitly names the resource ('a clip') with the targeting mechanism ('at playhead or explicit 1-based video track/clip indices'). This clearly distinguishes it from sibling tools like resolve_set_clip_transform or resolve_set_clip_speed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: use this tool when you need to enable or disable a clip. However, there is no explicit guidance on when to use it versus alternatives, nor are there exclusions or conditions described. It tells what it does, but not when to choose it over other clip operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_clip_speedC
Legacy speed-property request. Resolve may reject it; timeline retiming is not guaranteed by the API. This acts on the underlying media-pool property, potentially affecting other uses of the media.
| Name | Required | Description | Default |
|---|---|---|---|
| speed | Yes | ||
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a decent job. It discloses that the API may reject the request and that it operates on the underlying media-pool property, potentially affecting other uses. This gives important behavioral context about failure modes and side effects, which is valuable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loads the caveat, but the wording is vague ('Legacy speed-property request') and could be clearer. It is concise but not optimally structured for quick comprehension of the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no annotations, and no parameter documentation, this description is severely incomplete. It omits parameter semantics, expected input formats, and any guidance on success/failure handling. The agent cannot reliably invoke this tool without further external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description provides no explanation of the parameters (speed, clip_index, track_index). The agent cannot determine the expected range or meaning of speed, or how indices are resolved. The description completely fails to compensate for the empty parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and description clearly indicate that it sets clip speed ('speed-property request'). It distinguishes itself from siblings by focusing on speed, but the description is framed around legacy status rather than a direct statement of functionality. The purpose is inferable but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description warns that the request is legacy and may be rejected, but does not specify when to use it instead of an alternative or provide conditions for usage. It mentions timeline retiming is not guaranteed, which implies caution, but there is no explicit routing to a preferred tool or clear context for when this should be attempted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_clip_transformA
Set pan/tilt, zoom (0–100), rotation (-360–360), opacity (0–100). Targets playhead, or explicit 1-based video track/clip indices. Validates before writing. Returns JSON including original values and any partial failure.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | No | ||
| tilt | No | ||
| zoom_x | No | ||
| zoom_y | No | ||
| opacity | No | ||
| rotation | No | ||
| clip_index | No | ||
| track_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does so well: it discloses pre-write validation and that the call returns original values plus any partial failure. This gives agents a realistic model of side effects and error handling, although it does not cover permissions or full rollback semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences front-load the operation and immediately give ranges, targeting, validation, and return behavior. Every sentence adds non-redundant information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutation with no annotations, the description covers purpose, targeting, validation, and return shape; since an output schema exists, it does not need to detail the JSON fields. The main missing context is the exact semantics of omitted/null properties and pan/tilt units.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the text adds meaningful semantics: numeric ranges for zoom, rotation, and opacity, 1-based clip/track indices, and the playhead default. It does not explicitly state that null-valued parameters mean 'leave unchanged' or give pan/tilt ranges, so it falls short of full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Set' applied to clip transform fields (pan/tilt, zoom, rotation, opacity). It distinguishes this setter from siblings like resolve_get_clip_transform and resolve_set_clip_speed by naming exactly which properties are modified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the targeting modes—playhead or explicit 1-based track/clip indices—so an agent knows how to invoke it. It does not explicitly name alternative tools for comparison, but the field list implicitly separates it from related setters; the guidance is clear, though not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_current_timelineA
Switch to a different timeline by name or index.
Args: name: Timeline name to switch to (preferred). index: Timeline index (1-based). Used if name is empty.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses meaningful selection behavior: name is preferred, index is used only when name is empty, and indexes are 1-based. It does not mention error behavior for invalid names or out-of-range indexes, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose, followed by a compact parameter breakdown. Every sentence earns its place and there is no redundant or promotional language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with two optional parameters and an output schema, the description covers the core invocation logic well. It is missing guidance on where to obtain valid timeline names or indexes (e.g., resolve_list_timelines), but the tool is simple enough that this is not a severe gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for both parameters. It adds significant meaning beyond the schema by explaining that name is preferred, index is a fallback, and indexes are 1-based. It does not clarify how the default index of 0 behaves, which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Switch to') and resource ('timeline'), and clarifies that switching can be done by name or index. This clearly distinguishes it from siblings like get_current_timeline and list_timelines, which read rather than mutate state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for changing the active timeline, but it does not explicitly explain when to prefer this tool over siblings such as resolve_list_timelines or resolve_get_current_timeline. The in-tool guidance about preferring name over index is useful, but no alternative tool routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_playheadA
Set the playhead to a specific timecode.
Args: timecode: Timecode string (e.g., "01:00:05:00").
| Name | Required | Description | Default |
|---|---|---|---|
| timecode | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It only states that the playhead is set, but does not disclose side effects, error behavior for invalid timecodes, reversibility, or whether a timeline must be open. For a state-changing action this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and front-loaded: one sentence states the action, and the argument documentation adds only a useful example. No filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter setter with an output schema, the description is mostly adequate, but it omits operational prerequisites such as needing a loaded timeline, which is relevant in the Resolve tool family. The example helps, yet the agent must infer the required working state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description enriches the single parameter by providing an explicit example format, '01:00:05:00', which goes beyond the schema's bare string type. It clarifies the expected timecode shape, though it does not explain frame-rate dependence or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Set the playhead to a specific timecode,' which names a specific verb ('Set') and resource ('playhead'). This clearly distinguishes it from read-style siblings like resolve_get_playhead and from marker tools like resolve_add_marker_at_playhead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or what prerequisites exist. It does not mention that a project or timeline must be loaded, nor does it point to resolve_get_playhead as the read counterpart; the agent must infer usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_set_project_settingC
Set a project setting.
Args: setting: Setting name (e.g., "timelineFrameRate", "timelineResolutionWidth"). value: Value to set.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| setting | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Set a project setting' without disclosing whether the operation overwrites existing values, requires specific permissions, is reversible, or returns anything. The mutation behavior is implied but not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and efficient, stating the purpose in the first line and following with parameter details. It is front-loaded and contains no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and an output schema (not shown), the description lacks context such as the full list of valid settings, reference to the getter for discovery, or any note about project-specific behavior. An agent would need to guess or consult elsewhere to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It does provide example setting names and identifies each parameter's role, adding value beyond the bare schema. However, it does not enumerate possible settings or value formats, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set') and the resource ('a project setting'), with a specific verb and object. It distinguishes itself from the sibling getter implicitly through the action verb, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as resolve_get_project_settings. The context implies this is the setter while the sibling is the getter, but the description does not state this or any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_start_renderA
Start rendering all queued render jobs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action without indicating whether rendering runs asynchronously, whether the tool blocks until completion, any side effects on the render queue, or what the return value contains. Sibling tools like resolve_wait_for_render and resolve_get_render_status imply these aspects, but the description fails to mention them, leaving significant unknowns for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise, front-loaded sentence with no filler. Every word earns its place, making it easy to parse quickly. It is appropriately sized for a parameterless action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema (though not shown), but the description omits important workflow context. It does not explain that after starting a render, an agent should use resolve_wait_for_render to await completion or resolve_get_render_status to monitor progress. Given the sibling ecosystem, this omission leaves the description incomplete for an agent planning a multi-step rendering workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description has no parameter burden to carry. Per the baseline rule for 0-parameter tools, a score of 4 is appropriate even though no parameter-specific details are added. The schema already covers everything (vacuously).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Start rendering all queued render jobs' uses a specific verb and resource, clearly distinguishing this from sibling tools like resolve_add_render_job (which adds a job) and resolve_get_render_status (which queries status). It is not a tautology and leaves no ambiguity about the intended action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., that render jobs must be queued first), the need to call resolve_wait_for_render afterward, or the relationship to resolve_get_render_status. An agent would not know the proper workflow sequence from this description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_tighten_silenceA
Remove dead air from a talking-head/podcast timeline into a NEW timeline (dry-run by default). A pause is cut only where every enabled mic track is quiet for longer than min_silence_seconds; keep_pause_seconds of room stays at each side. All tracks are cut together, so cameras and mics stay in sync; timeline markers in kept time move with the edit. Needs ffmpeg. tracks="all" (default) carries every video/audio track, keeping mics and cameras in sync; tracks="spine" carries only the spine track (A1 by default).
| Name | Required | Description | Default |
|---|---|---|---|
| tracks | No | all | |
| dry_run | No | ||
| detect_on | No | carried | |
| audio_stream | No | ||
| open_variant | No | ||
| threshold_db | No | ||
| carry_markers | No | ||
| min_keep_seconds | No | ||
| spine_track_type | No | audio | |
| new_timeline_name | No | ||
| spine_track_index | No | ||
| keep_pause_seconds | No | ||
| min_silence_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does a solid job: it explains the silence-detection condition, the keep_pause_seconds margin, multi-track sync, marker behavior, and the ffmpeg dependency. It stops short of stating return values or how open_variant/detect_on alter execution, but the core behavioral contract is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but well organized: purpose first, then the cutting rule, then sync behavior, then the ffmpeg requirement, then the tracks options. Every sentence earns its place, and nothing important to the core workflow is buried or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter tool with no annotations and no output schema, this description is more complete than average but still leaves gaps: several parameters are undefined, return values are unspecified, and the relationship to resolve_detect_silence is not clarified. It gives enough to run the default behavior correctly but not enough to tune advanced options with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains tracks, min_silence_seconds, keep_pause_seconds, dry_run, and new_timeline_name, but 8 of 13 parameters—detect_on, audio_stream, open_variant, threshold_db, carry_markers, min_keep_seconds, spine_track_type, and spine_track_index—receive no semantic explanation. An agent cannot confidently reason about threshold_db or detect_on from this text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Remove dead air from a talking-head/podcast timeline.' It also adds key scope details—output goes into a NEW timeline, dry-run by default, and all tracks cut together—so it is immediately distinguishable from siblings like resolve_detect_silence, which only detects silence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates when to use the tool ('Remove dead air') and notes a prerequisite ('Needs ffmpeg'), but it never mentions alternatives or when not to use it. In a large sibling set with resolve_detect_silence and resolve_build_cut_variant, explicit routing guidance would make the intended use case much clearer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_transcribe_audioA
Transcribe one exact clip, or a folder AND nested folders when clip_name is empty. folder_path is an exact resource path; empty uses current bin. Requires Resolve 21. Returns operation status, not a transcript; speaker detection is optional.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_name | No | ||
| folder_path | No | ||
| use_speaker_detection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does so well. It reveals the actual return type (status, not transcript), explains the empty-parameter edge cases, notes the Resolve 21 requirement, and flags speaker detection as optional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with no filler. The most important behavioral distinction (status vs transcript) is front-loaded, followed by parameter edge cases and the version prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the core call semantics: what it does, how parameters behave, what it returns, and a version prerequisite. It doesn't explain how to retrieve the actual transcript afterward or whether transcription runs asynchronously, but for a 3-parameter optional tool the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It successfully explains folder_path semantics ('exact resource path', empty = current bin), clip_name's role in selecting between clip and folder mode, and that use_speaker_detection is optional. It doesn't fully define clip_name, but the meaning is largely inferable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Transcribe one exact clip, or a folder AND nested folders') and a concrete resource scope. It also differentiates the tool from related siblings like resolve_get_transcript by explicitly noting it returns operation status, not a transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use a folder when clip_name is empty, pass an exact folder_path, or leave it empty for the current bin. It doesn't explicitly name alternatives or exclusion conditions, but the distinction from transcript retrieval is implicit and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_wait_for_renderA
Wait until a render job (or all rendering, if job_id is empty) finishes, then report the final status and output file. Other MCP calls wait while this runs, so keep timeouts modest (max 3600 s). stop_on_timeout=True calls StopRendering if the deadline passes.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | ||
| poll_seconds | No | ||
| stop_on_timeout | No | ||
| timeout_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the blocking behavior ('Other MCP calls wait while this runs'), the maximum timeout, and the consequence of stop_on_timeout=True (calls StopRendering). It also states what is reported on completion. This is substantive transparency, though it does not detail error handling or edge cases like failed renders, which could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loading the core behavior first, then adding constraints and consequences. Every sentence adds information without redundancy. It is compact and well-structured, ideal for quick comprehension by an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description covers the essential operational context: what it does, blocking nature, timeout limits, and stop_on_timeout behavior. It does not explain poll_seconds or mention any prerequisites (e.g., render must already be started), but given the tool's straightforward nature, the description is largely complete. A small gap is the lack of clarification on what 'final status' includes or how errors are reported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains job_id (empty means wait for all rendering) and stop_on_timeout (triggers StopRendering on deadline), which are genuinely useful. However, it does not clarify poll_seconds (the polling interval) or timeout_seconds beyond the max, leaving those parameters dependent on their names and defaults. Partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (wait), resource (render job), and what it does (blocks until finished, then reports status and output file). It also specifies behavior when job_id is empty (waits for all rendering), which distinguishes it from sibling tools like resolve_get_render_status or resolve_start_render. This is a precise, unambiguous purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance on usage: it warns that other MCP calls wait while this runs and recommends modest timeouts (max 3600 s). It also explains stop_on_timeout behavior. However, it does not explicitly contrast with alternatives (e.g., 'use this instead of polling get_render_status') or state when not to use it, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
77 tool updates
v2.2.0- First observed
resolve_add_fusion_comp - First observed
resolve_add_marker - First observed
resolve_add_marker_at_playhead - First observed
resolve_add_render_job - First observed
resolve_analyze_intellisearch - First observed
resolve_analyze_slate - First observed
resolve_append_to_timeline - First observed
resolve_apply_lut - First observed
resolve_ask_about_frame - First observed
resolve_build_cut_variant - First observed
resolve_build_rough_cut - First observed
resolve_classify_audio - First observed
resolve_clear_audio_classification - First observed
resolve_clear_transcription - First observed
resolve_create_bin - First observed
resolve_create_captions - First observed
resolve_create_chapter_markers - First observed
resolve_create_color_version - First observed
resolve_create_compound_clip - First observed
resolve_create_project - First observed
resolve_create_timeline - First observed
resolve_delete_clip - First observed
resolve_delete_markers - First observed
resolve_describe_frame - First observed
resolve_detect_in_frame - First observed
resolve_detect_silence - First observed
resolve_disable_background_tasks - First observed
resolve_duplicate_timeline - First observed
resolve_export_lut - First observed
resolve_export_timeline - First observed
resolve_find_media_clip - First observed
resolve_find_shots_by_visual_description - First observed
resolve_find_timeline_clip - First observed
resolve_generate_speech - First observed
resolve_get_clip_properties - First observed
resolve_get_clip_transform - First observed
resolve_get_current_page - First observed
resolve_get_current_timeline - First observed
resolve_get_fusion_comps - First observed
resolve_get_fusion_tools - First observed
resolve_get_lut - First observed
resolve_get_markers - First observed
resolve_get_playhead - First observed
resolve_get_project_settings - First observed
resolve_get_render_status - First observed
resolve_get_status - First observed
resolve_get_track_items - First observed
resolve_get_transcript - First observed
resolve_import_media - First observed
resolve_insert_broll - First observed
resolve_insert_title - First observed
resolve_list_color_versions - First observed
resolve_list_media - First observed
resolve_list_projects - First observed
resolve_list_render_presets - First observed
resolve_list_timelines - First observed
resolve_load_color_version - First observed
resolve_load_project - First observed
resolve_modify_title_text - First observed
resolve_open_page - First observed
resolve_quick_export - First observed
resolve_reconnect - First observed
resolve_remove_motion_blur - First observed
resolve_render_for_youtube - First observed
resolve_replace_clip - First observed
resolve_reset_intellisearch - First observed
resolve_save_project - First observed
resolve_set_clip_enabled - First observed
resolve_set_clip_speed - First observed
resolve_set_clip_transform - First observed
resolve_set_current_timeline - First observed
resolve_set_playhead - First observed
resolve_set_project_setting - First observed
resolve_start_render - First observed
resolve_tighten_silence - First observed
resolve_transcribe_audio - First observed
resolve_wait_for_render
TDQS
Scored across 77 tools
Several tools have close cousins: add_marker overlaps with add_marker_at_playhead, quick_export overlaps with render_for_youtube, and there are multiple transcription/analyze commands. The detailed descriptions usually clarify the intended target, but with 77 tools an agent has real misselection risk.
The resolve_ prefix and verb_noun pattern are used very consistently across the entire set. Minor deviations like resolve_reconnect, resolve_render_for_youtube, and resolve_wait_for_render break the strict verb_noun pattern, but they are still predictable.
77 tools is well beyond the 25+ over-scoped threshold. The set bundles media management, editing, color, Fusion, render, and AI vision/audio features into one server, making the namespace heavy to navigate even though each tool has a defined job.
The surface is impressively broad for editing, color, audio, and rendering, but lifecycle gaps remain: no delete/rename project or timeline, and no trim/transition/move operations for timeline clips. Agents can complete many workflows but may hit dead ends on routine cleanup/edit tasks.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
- VidmoatOAuthcom.vidmoat
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
- CueFrameOAuthai.cueframe
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Related MCP Servers
- AlicenseAqualityDmaintenanceAllows AI assistants like Claude to directly interact with and control DaVinci Resolve through the Model Context Protocol, providing capabilities for project management, timeline manipulation, media management, and Fusion integration.1478MIT
- AlicenseBqualityDmaintenanceConnects DaVinci Resolve Studio to Claude AI via the Model Context Protocol, enabling natural language control over video editing, color grading, Fusion compositing, AI features, and more.53379MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to control DaVinci Resolve (Free and Studio) through 215 MCP tools covering the full Resolve scripting API, including projects, timelines, media, Fusion, color, and rendering.165 PyPI1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control DaVinci Resolve Studio through the official Scripting API, covering editing, media pool management, rendering, grading, Fusion, Fairlight, and project lifecycle tasks.5,854 npmMIT