RV MCP Server
The RV MCP Server bridges AI assistants (like Claude) to Autodesk/Tweak RV, enabling full control of the professional media review application through natural language.
Media Loading & Session Management
Load single files, image sequences, or multiple media files
Create, clear, and save sessions (
.rvfiles)List loaded sources, get detailed media info (resolution, frame range, FPS, bit depth, channels)
Query sources visible at specific frames and get session info
Playback Control
Start/stop/toggle playback; jump to specific frames; step forward/backward
Set in/out points, FPS, playback speed and direction (forward, reverse, 2x, etc.)
Set loop mode (
loop,once,pingpong) and enable/disable realtime modeQuery full playback state (frame, range, in/out, FPS)
View & Comparison Modes
Switch between
sequence,stack, andlayout(tiled) viewsSet compositing mode (
over,add,difference,replace,topmost, etc.)Toggle A/B wipe comparison
Color Correction & Display
Apply/clear LUT files (
.3dl,.csp,.cube) tolook,linearize, ordisplaytargetsSet/clear CDL values (slope, offset, power, saturation)
Adjust exposure, gamma, and saturation
Configure display gamma, sRGB transform, and viewport background (black, checker, grey18, etc.)
Query all current color correction settings
Advanced Control
Execute arbitrary Mu scripting code directly in RV for anything not covered by dedicated tools
Provides tools to control Autodesk RV and OpenRV, enabling playback control, media loading, shot comparison, and color grading adjustments for media review sessions.
Click on "Install 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., "@RV MCP ServerLoad shot_v02 and compare it with v01 using a wipe"
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.
RV MCP Server
MCP (Model Context Protocol) server that bridges AI assistants like Claude to Autodesk/Tweak RV, the industry-standard media review application. Control playback, compare shots, adjust color grading, and manage review sessions — all through natural language.
No plugin required inside RV. Uses RV's built-in network listener with Mu scripting via remote-eval.
Requirements
OpenRV (or RV 2022.3.1+) with network mode enabled
Python 3.10+
uv package manager
Related MCP server: dcc-mcp-fpt
Quick Start
1. Start RV with networking
Enable networking in RV via RV → Networking → Enable Network (default port 45124).
Or from the command line:
rv -network -networkPort 451242. Install and register
Claude Code (CLI):
claude mcp add --scope user rv-mcp -- uv run --no-sync --directory /path/to/RV_MCP rv-mcpNote:
--no-syncprevents file lock conflicts when multiple Claude sessions share the same MCP server. Runuv syncmanually after changing dependencies.
Claude Desktop (~/.claude.json):
{
"mcpServers": {
"rv-mcp": {
"command": "uv",
"args": ["run", "--no-sync", "--directory", "/path/to/RV_MCP", "rv-mcp"]
}
}
}Environment variables (optional):
Variable | Default | Description |
|
| RV network host |
|
| RV network port |
3. Use it
Ask Claude to load media, control playback, compare shots, or adjust colors. The server translates natural language into RV commands automatically.
Architecture
Claude (stdio/MCP) --> FastMCP Server --> RV Network Protocol (TCP:45124) --> RVThe server maintains a persistent TCP connection to RV using a custom protocol based on RV's RvCommunicator. Key design decisions:
Persistent connection with automatic reconnection on socket loss
Thread-safe via
threading.Lockfor concurrent tool callsClean shutdown via
atexithandler that sendsDISCONNECT(without this, RV rejects future connections)Mu string handling — return values are automatically unquoted and unescaped
Protocol Flow
1. Connect TCP to 127.0.0.1:45124
2. Send: NEWGREETING <len> rv-mcp rvController
3. Send: PINGPONGCONTROL 1 0 (disable heartbeat)
4. Recv: NEWGREETING <len> <rv-name> (consume RV's greeting)
5. For each command:
Send: MESSAGE <len> RETURNEVENT remote-eval * { require commands; <mu_code> }
Recv: MESSAGE <len> RETURN <value>
6. On shutdown:
Send: MESSAGE <len> DISCONNECTOCIO Color Management
The server includes full OCIO v2 support. When $OCIO is set, RV can match the exact display transform used by your DCC apps (3ds Max/Redshift, Nuke, etc.).
Auto-configuration
An rv_ocio_setup.py script is included that auto-configures OCIO when RV loads media:
EXR/HDR/TX files are auto-detected as scene-linear (ACEScg via the
scene_linearrole)Display transform is set from the config's defaults (e.g.,
sRGB/ACES 1.0 SDR-video)Chromaticity metadata in EXRs is matched against the active config's color spaces
To install, copy rv_ocio_setup.py to your RV support path:
# Windows
copy rv_ocio_setup.py %APPDATA%\RV\Python\
# Linux/macOS
cp rv_ocio_setup.py ~/.rv/Python/RV's built-in ocio_source_setup package will detect and use this override automatically.
Manual OCIO via MCP
Tool | Description |
| List color spaces, displays, views, and looks from the active OCIO config |
| Set input color space for a source (inserts OCIOFile node) |
| Set display transform (inserts OCIODisplay node) |
| Apply an OCIO look to a source |
| Get current OCIO node state as JSON |
| Remove OCIO nodes and restore default pipeline |
Redshift + RV Color Matching
If you use Redshift's OCIO config ($OCIO = C:\ProgramData\redshift\Data\OCIO\config.ocio), note that its file rules mark EXRs as "Raw". The rv_ocio_setup.py script overrides this by detecting float formats as scene-linear, ensuring the ACES tonemapper is applied in RV just like in Redshift's Render View.
Tools (47 total)
Execute (1)
Tool | Description |
| Run arbitrary Mu code — escape hatch for anything not covered by dedicated tools |
OCIO (6)
Tool | Description |
| Get OCIO config info (color spaces, displays, views, looks) |
| Set OCIO input color space for a source |
| Set OCIO display transform |
| Apply an OCIO look |
| Get current OCIO state as JSON |
| Remove OCIO nodes, restore defaults |
Execute (1)
Tool | Description |
| Run arbitrary Mu code — escape hatch for anything not covered by dedicated tools |
Playback (17)
Tool | Description |
| Load a media file (image sequence, movie, or single image) |
| Load multiple media files at once |
| Start playback |
| Stop playback |
| Toggle play/stop, returns new state |
| Get current frame number |
| Jump to a specific frame |
| Step forward by N frames (default 1) |
| Step backward by N frames (default 1) |
| Set the in-point (start of playback range) |
| Set the out-point (end of playback range) |
| Get current in/out points as JSON |
| Set playback frames per second |
| Get current playback FPS |
| Enable/disable realtime mode (skip frames to maintain FPS) |
| Set loop mode: |
| Set playback direction and speed (1=forward, -1=reverse, 2=2x, etc.) |
| Get full playback state as JSON (frame, range, in/out, playing, fps) |
Sources (7)
Tool | Description |
| List all loaded source nodes as JSON array |
| Get detailed media info (resolution, frame range, fps, bit depth, channels) |
| Get source nodes visible at a specific frame |
| Create a new empty session |
| Clear all sources from the current session |
| Save session to an |
| Get session state as JSON (view node, frame range, source count) |
Compare (4)
Tool | Description |
| Switch view: |
| Set stack composite mode: |
| Toggle A/B wipe comparison (auto-switches to stack view) |
| Get current view state as JSON |
Color (12)
Tool | Description |
| Load a LUT file ( |
| Deactivate LUT on a target |
| Set CDL values (slope, offset, power, saturation) — partial updates supported |
| Deactivate CDL color correction |
| Set exposure (per-channel or uniform) |
| Set gamma correction |
| Set saturation |
| Get current color correction state as JSON |
| Set display gamma (e.g., 2.2 for sRGB-like) |
| Enable/disable sRGB display transform |
| Set viewport background: |
Usage Examples
Load and review footage
"Load the EXR sequence at /shots/sh010/comp/sh010_comp.1-100#.exr"
"Play it back at 24fps"
"Go to frame 50"
"Set in point at 20 and out point at 80"Compare two versions
"Load both /shots/sh010/comp_v1.mov and /shots/sh010/comp_v2.mov"
"Switch to stack view"
"Set composite to difference mode"
"Toggle the wipe to compare side by side"Color correction
"Apply CDL with slope [1.1, 0.95, 1.0] and saturation 1.2"
"Load the ACES LUT from /luts/sRGB.cube"
"Set exposure to 0.5"
"Show me the current color settings"Advanced (raw Mu)
"Execute this Mu code: { require commands; let s = sources(); string(s.size()); }"Project Structure
RV_MCP/
├── pyproject.toml # Package config, entry point, dependencies
├── README.md
├── .gitignore
└── src/
├── __init__.py
├── server.py # FastMCP server + RvClient instantiation
├── rv_client.py # Persistent TCP client (RV network protocol)
└── tools/
├── __init__.py
├── execute.py # execute_mu — raw Mu escape hatch
├── playback.py # 17 playback/transport tools
├── sources.py # 7 source & session tools
├── compare.py # 4 view/compare tools
├── color.py # 12 color/LUT/CDL tools
└── ocio.py # OCIO v2 color management toolsTroubleshooting
"Could not connect to RV"
Ensure RV is running with the
-networkflagCheck that port 45124 is not blocked by a firewall
Use
-networkPort 45124to explicitly set the port
RV rejects connections after a crash
If the server exits without sending DISCONNECT, RV may reject new connections. Restart RV to clear the state. The server includes an atexit handler to prevent this under normal operation.
Mu code errors
Always wrap code blocks in
{ require commands; ... }Mu evaluates both branches of
if/then/else— avoid property access on nodes that may not existFile paths must use forward slashes;
escape_mu_string()handles this automatically
Timeout errors
The default timeout is 30 seconds. If Mu code takes longer (e.g., loading large sequences), it may time out. Use execute_mu for long operations and consider breaking them into smaller steps.
Development
# Install dependencies
uv sync
# Run the server directly
uv run rv-mcp
# Run with debug logging
uv run python -m src.serverLicense
MIT
Available Tools
47 toolsclear_cdlA
Deactivate CDL color correction.
| 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 only says 'deactivate' without explaining side effects, state changes, prerequisites (e.g., session required), or whether it resets to defaults, leaving behavior ambiguous.
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, clear, and concise sentence with no superfluous words, perfectly sized for the tool's simplicity.
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 parameterless tool with an output schema, the description covers the basic action but lacks context on behavioral impacts and integration with sibling tools, leaving 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?
No parameters exist, so schema coverage is 100% trivially. Baseline is 4 for zero-parameter tools, and the description does not add beyond the schema, which is acceptable.
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 specific action 'Deactivate' and the resource 'CDL color correction', distinguishing it from sibling tools like clear_lut, clear_ocio, and set_cdl.
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 such as set_cdl or other clear_* tools, missing explicit context for when to deactivate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_lutA
Deactivate the LUT on a target.
Args: target: Which LUT to clear: "look", "linearize", or "display".
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | look |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the action without disclosing side effects, requirements, or error behavior. It does not indicate whether the operation is reversible or requires an active session.
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 with two sentences, zero wasted words, and front-loaded with the 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 one-parameter tool with an output schema, the description covers the essential functionality and parameter options. It lacks only minor details like default behavior or potential no-ops.
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 semantic meaning by listing the three target values (look, linearize, display) beyond the schema's bare type and default. This compensates for the 0% schema description 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 directly states the action: 'Deactivate the LUT on a target.' The verb 'clear' and resource 'LUT' are clear, and the tool is distinguished from siblings like clear_cdl and set_lut.
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 deactivating LUTs but does not explicitly state when to use this tool instead of alternatives or mention prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_ocioA
Remove OCIO nodes and restore default RV pipeline.
Args: target: What to clear — "linearize", "display", "look", or "all".
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | all |
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 of disclosure. It states the basic action (remove nodes, restore default) but does not disclose side effects, reversibility, or behavior for different targets beyond the list. This is insufficient for a destructive 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 very concise: a single line for the main action followed by a structured Args section. Every sentence earns its place with no waste.
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 one parameter and an output schema, so the description need not explain return values. However, the behavioral transparency gaps and lack of usage guidance make it only minimally adequate for a simple but destructive 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 input schema has 0% description coverage for the parameter. However, the description provides the valid values for 'target' (linearize, display, look, all), which adds meaning. Yet it does not explain what each value does, so the contribution is partial.
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?
Description clearly states the tool removes OCIO nodes and restores default RV pipeline, with a specific verb and resource. It distinguishes from sibling tools like clear_cdl or clear_lut that deal with different color management elements.
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 lists valid target values but does not explicitly state when to use this tool over alternatives or when not to use it. Usage is implied by the tool name and sibling names, but no explicit guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_sessionA
Clear all sources from the current session.
| 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 states it clears sources from the session, but lacks detail on side effects, undoability, or impact on other session state like playback or view settings. Basic but incomplete.
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 with no wasted words, but it could be more informative while remaining concise. Slightly under-specified for the 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?
Given no parameters and presence of output schema, the description covers the action but does not explain return behavior or edge cases. Lacks comprehensive context for an agent to fully understand implications.
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?
No parameters exist in the input schema, so schema coverage is 100%. The description adds no parameter information, which is acceptable. Baseline for 0-parameter tools is 4.
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 'Clear all sources from the current session' uses a specific verb and resource, clearly distinguishing it from sibling tools like 'clear_cdl' or 'clear_lut' that clear specific sub-resources.
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 like 'new_session' or individual clear tools. Usage context is implied but lacks explicit exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_muA
Execute arbitrary Mu code in RV and return the result.
The code is evaluated via remote-eval. Use 'require commands;' at the start if you need commands functions like play(), stop(), etc.
Examples: execute_mu("{ require commands; string(frame()); }") execute_mu("{ require commands; play(); "playing"; }") execute_mu("{ require commands; sources(); }")
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'remote-eval' execution but lacks details on potential side effects, security implications, or error behavior. With no annotations, more transparency would be beneficial.
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 summary, a usage note, and three illustrative examples. Every sentence adds value and the structure 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?
The description covers basic execution context and return values through examples. With an output schema present, it compensates for missing return type details. Could include more on execution environment limits.
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 has 0% schema coverage, but provides examples showing the expected format (curly braces, semicolons). However, it does not formally describe the parameter's syntax, return value expectations, or error handling.
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 explicitly states 'Execute arbitrary Mu code in RV and return the result,' which is a specific verb+resource. No sibling tool performs code execution, making it distinct.
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 examples and notes the need to 'require commands;' for certain functions, giving clear context. It does not explicitly state when not to use, but the unique functionality makes usage intuitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_color_settingsA
Get current color correction settings as JSON.
Requires at least one source loaded in the session.
| 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 were provided, so the description carries full burden. It correctly implies this is a read-only operation (getting settings), with no side effects or destructive actions mentioned. The context is sufficient for a simple getter.
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 fluff. The first sentence immediately states the purpose, and the second adds a critical prerequisite. 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?
Given the tool has no parameters and an output schema exists to describe the return value, the description adequately covers prerequisites and purpose. No further information is needed for 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?
The tool has no parameters, and the schema coverage is 100%. Per guidelines, baseline is 4. The description adds meaning by specifying the output format (JSON), which is not 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 uses a specific verb 'Get' and clearly identifies the resource 'current color correction settings' and format 'as JSON'. It distinguishes itself from sibling tools like get_session_info or get_source_media_info.
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?
States a clear prerequisite 'Requires at least one source loaded in the session', which tells the agent when the tool can be used. It implicitly indicates not to use it without a source, and no alternative tool is suggested because this is the only getter for color settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fpsA
Get the current playback FPS.
| 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?
Without annotations, the description carries the full burden. It correctly implies a read-only operation but adds no further behavioral context (e.g., whether it fails if no source is loaded). For a simple getter, this is minimally 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, concise sentence with no redundant information. It is front-loaded and 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 simplicity (no parameters, output schema exists), the description is largely sufficient. However, it could hint at the expected output type (e.g., a float) to further assist the agent, but the presence of an output schema mitigates this.
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 need not add parameter info. The schema coverage is 100% (empty), meeting the baseline expectation. The description does not mislead.
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 playback FPS'. It distinguishes from sibling tool 'set_fps' by indicating it is a read operation. Despite the null title, the tool name and description are 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 (e.g., set_fps). There is no mention of prerequisites, such as needing a session or playback active. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_frameA
Get the current frame number in RV.
| 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 must disclose behavioral traits. It only states the core function without mentioning side effects, performance, or whether it requires an active session.
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, complete sentence with no wasted words. It is appropriately concise for a simple getter 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?
Given the tool's simplicity (no parameters, output schema exists), the description is mostly adequate. It could mention that the output is an integer, but the output schema likely handles that.
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 zero parameters, the baseline is 4. The description adds no parameter information, but the input schema is empty, so no further detail is necessary.
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 gets the current frame number in RV, with a specific verb and resource. It distinguishes from siblings like get_fps and get_frame_range which retrieve 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. For example, it does not mention that it only retrieves the current frame and not a range, nor does it contrast with set_frame for modification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_frame_rangeA
Get the full frame range and current state as JSON.
Returns JSON with: frame, frameStart, frameEnd, inPoint, outPoint, playing, fps.
| 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 does not explicitly state that the tool is read-only or safe, though that is implied by 'Get'. It lists the return fields, which is helpful, but does not disclose any potential side effects or prerequisites, such as requiring an active session.
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 that front-load the purpose and then enumerate the return fields. Every word is informative with no fluff.
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 provides enough context by listing the returned fields. However, it could mention prerequisites (e.g., a session must exist) or that the tool returns the current state of the playback. Still, for a simple getter, it is reasonably 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?
There are no parameters, so the input schema is trivially covered. The description adds value by explicitly listing the output fields, which helps the agent understand what data it will receive. This goes beyond the schema, which only indicates no 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 it 'Get the full frame range and current state as JSON', which is a specific verb-resource pair. It distinguishes itself from sibling tools like get_frame, get_fps, and get_in_out_points by returning a composite of multiple frame-related 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?
No guidance is given on when to use this tool versus alternatives. For example, it doesn't mention that this tool should be used when all frame range and state information is needed at once, whereas get_frame or get_fps might be used for individual values. This lack of direction could lead to suboptimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_in_out_pointsA
Get the current in/out points as JSON.
| 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 full burden. It only states it gets the points as JSON, but does not disclose any behavioral details such as safety, side effects, or the structure of the JSON output. The read-only nature is inferred but not 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?
Single sentence, front-loaded, no unnecessary words. It conveys the essential information 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?
Given no parameters and an existing output schema, the description is adequate but minimally complete. It could optionally mention the JSON keys (e.g., "in_point" and "out_point") to improve clarity.
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 no parameters, and the schema coverage is 100%. The description adds no additional parameter semantics, but is not required to. A score of 4 is appropriate as a baseline for zero 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 it retrieves the current in/out points in JSON format, which is a specific verb and resource. It distinguishes itself from sibling tools like set_in_point and set_out_point, which perform writes instead of reads.
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 it is for reading the current state, and the sibling tools indicate that set operations exist for writing. However, there is no explicit guidance on when to use this tool versus alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ocio_configA
Get OCIO config information as JSON.
Returns color spaces, displays, views, and looks from the active OCIO config (or a specific config file).
Args: config_path: Optional path to an OCIO config file. If omitted, uses the $OCIO environment variable.
| Name | Required | Description | Default |
|---|---|---|---|
| config_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 implies a safe read operation and mentions returning JSON. However, it lacks explicit details on potential side effects, authentication needs, or rate limits, which would strengthen 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 concise and well-structured, using sections (Returns, Args) to present information clearly without unnecessary 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?
Given the output schema exists, the description appropriately focuses on the input parameter and the type of config data returned. It is complete enough for a retrieval tool, though it could briefly mention that the output is a JSON object.
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 0% coverage, but the description compensates by explaining the config_path parameter's purpose and default behavior (uses $OCIO environment variable if omitted). This adds meaning beyond 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 clearly states the tool 'get OCIO config information as JSON' and lists the specific config elements returned (color spaces, displays, views, looks). This distinguishes it from siblings like get_ocio_state which returns current 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 indicates when to use this tool (to retrieve config info) and explains the optional parameter. However, it does not explicitly state when not to use it or mention alternative tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ocio_stateA
Get current OCIO state for all sources and display as JSON.
Returns which sources have OCIO nodes and their 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?
No annotations provided; description implies read-only operation but does not explicitly state non-destructive behavior or potential errors.
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 unnecessary words. Front-loaded with purpose and output format.
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 output schema, description adequately explains return value (list of sources with OCIO settings). Complete given tool 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?
No parameters exist, so schema coverage is 100%. Description confirms it returns state for all sources, adding value beyond 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?
Clearly states verb 'get', resource 'OCIO state for all sources', and output format 'JSON'. Distinguishes from sibling tools like get_ocio_config which gets config.
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. However, as a simple getter, usage is fairly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_infoB
Get current session information as JSON.
Returns: viewNode, frame, frameStart, frameEnd, sourceCount.
| 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 bears full responsibility for behavioral disclosure. It implies a read-only operation but does not explicitly state that no modifications occur, nor does it discuss permissions or side effects.
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 concise, consisting of two lines that state the purpose and list return fields. It is front-loaded and avoids unnecessary 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 lists return fields and an output schema exists, but it does not explain the meaning or format of each field. For a zero-parameter getter, this is adequate but could be more informative.
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 the description correctly omits parameter details. With 100% schema coverage, no additional parameter 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 clearly states the tool retrieves current session information in JSON format and lists specific fields (viewNode, frame, etc.). This distinguishes it from sibling getters by specifying the exact return 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?
No guidance on when to use this tool over alternatives like get_view_info or get_frame. The description does not provide context for usage scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_media_infoB
Get detailed media info for a source node.
Args: source_node: The source node name (e.g. "sourceGroup000000").
| Name | Required | Description | Default |
|---|---|---|---|
| source_node | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It implies a read operation but does not explicitly state it is non-destructive, safe, or whether it requires special permissions. Missing details on error handling or return format.
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?
Highly concise: two sentences and one parameter definition. No extraneous information. Every sentence serves a 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 simple one-parameter tool with an output schema, the description covers the core purpose and parameter. Could be improved by noting that the source node must exist and that the tool is a query.
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 adds value by explaining the source_node parameter with an example. However, it could further clarify where to find valid source node 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?
Clearly states it gets detailed media info for a source node. Verb and resource are specific, but 'detailed media info' could be more precise. Distinguishes from siblings like get_sources and get_view_info.
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. Lacks context on prerequisites, such as needing to call get_sources first to obtain a valid source_node name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sourcesB
List all sources currently loaded in RV as JSON.
Returns a JSON array with source node 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 full burden. It explicitly states the return format (JSON array with source node names), implying it is a read operation. However, it does not confirm no side effects or discuss permissions/rate limits, leaving some ambiguity.
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 with two sentences. The first sentence front-loads the core purpose, and 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?
Given the tool has no parameters and an output schema exists, the description adequately covers the essential behavior. It could mention that it returns all sources without filtering, but for a simple read operation, it is 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?
There are no parameters, so schema description coverage is 100%. Following the baseline rule, a score of 3 is appropriate since 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?
The description states it lists all sources loaded in RV as JSON, specifying the verb 'list' and the resource 'sources'. It is clear and unambiguous, though it does not differentiate from sibling tools like get_sources_at_frame.
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 such as get_source_media_info or get_sources_at_frame. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sources_at_frameA
Get source nodes visible at a specific frame.
Args: frame: Frame number to query (-1 for current frame).
| Name | Required | Description | Default |
|---|---|---|---|
| frame | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description says 'get source nodes visible at a specific frame' but lacks details on side effects, performance, or what 'visible' entails. Carries full burden but is minimal.
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, no redundant info, front-loaded with purpose. 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?
Has output schema, so return details not needed. Lacks differentiation from 'get_sources', but for a simple query tool, description is functionally 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 coverage is 0%, but description explains 'frame' parameter meaning and special value -1 for current frame, adding useful context beyond 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?
Clearly states 'Get source nodes' (verb+resource) and 'visible at a specific frame' (scope), which distinguishes it from sibling 'get_sources' that likely returns all sources.
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?
Implies usage when you need sources at a particular frame, but does not explicitly mention when not to use or list alternatives like 'get_sources'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_view_infoA
Get current view state as JSON.
Returns: viewNode, viewType, and wipe 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 provided, the description carries full burden. It states the return format (JSON with viewNode, viewType, wipe state) but does not disclose whether the operation is read-only, has side effects, or requires any permissions. The description provides basic behavioral info but lacks depth.
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 with only two sentences, each adding value. It is front-loaded with the purpose and specifies return fields without unnecessary fluff.
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, the description adequately explains what it returns. It is complete for a simple getter tool with no input 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?
There are no parameters, so per guidelines baseline is 4. The description adds no parameter info, but none 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 clearly states it gets the current view state as JSON, listing the specific outputs (viewNode, viewType, wipe state). This distinguishes it from sibling tools, most of which are setters or other getters with different purposes.
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 when needing the current view state, but does not explicitly state when to use this tool versus alternatives or when not to use it. Among siblings, it is clearly a getter, but no direct comparison or exclusionary advice is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_sourceA
Load a media file (image sequence, movie, or single image) into RV.
Args: file_path: Path to the media file. For sequences use RV notation e.g. "/path/to/image.1-100#.exr" or just the path to one frame.
| Name | Required | Description | Default |
|---|---|---|---|
| file_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 should fully convey behavioral traits. It fails to disclose side effects (e.g., whether it adds to or replaces existing sources, any permissions needed, or session state changes).
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 (two sentences plus an arg note), with a clear structure: purpose first, then parameter details. Every sentence 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?
For a tool with a single parameter and an output schema, the description covers the essential aspect (file_path usage). However, it could mention what the tool returns or state changes, but overall it is 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?
The input schema has 0% description coverage, but the tool description explains the 'file_path' parameter in detail, including RV notation and an example. This adds significant meaning beyond 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 clearly states the tool loads a media file into RV, specifying types (image sequence, movie, single image). It is specific but lacks explicit differentiation from the sibling tool 'load_sources'.
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 useful usage hints like RV notation for sequences and an example, but does not explicitly state when to use this tool versus alternatives (e.g., 'load_sources'). No when-not-to-use or prerequisite info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_sourcesA
Load multiple media files into RV at once.
Args: file_paths: List of paths to media files.
| 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?
No annotations provided; description only says 'Load', with no disclosure of whether sources are appended/replaced, error handling, required permissions, or side effects. Needs more 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?
Extremely concise: two sentences with no filler. Every word is purposeful. Ideal length for a simple 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?
For a loading operation with array parameter, description lacks critical details: append vs replace behavior, response information (output schema exists but unused), and handling of invalid paths. Incomplete despite tool's moderate 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 0% (no schema descriptions). Description adds minimal meaning: 'List of paths to media files'. Does not specify format, supported URIs, or constraints. Partial improvement over 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?
Description explicitly states it loads multiple media files into RV, with a clear verb ('Load') and resource. Differentiates from sibling 'load_source' (singular) by indicating batch operation ('at once').
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?
Implied usage: use for multiple files vs single via sibling 'load_source'. Lacks explicit when-not or alternative guidance, but is sufficient given tool naming and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_sessionA
Create a new empty session, clearing all current sources.
| 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 provided; description carries burden. It discloses the clearing behavior but does not mention side effects like discarding unsaved changes or impact on playback. Adequate but not thorough.
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?
Single sentence, front-loaded, no unnecessary words. Every word contributes to the 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 simple tool with no parameters and an output schema, the description is mostly sufficient. Missing context about when to use vs siblings, but otherwise 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?
No parameters exist, and description coverage is 100%. Per guidelines, baseline is 4. Description adds no parameter info but doesn't need to.
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 it creates a new empty session and clears current sources. It distinguishes from sibling 'clear_session' which likely only clears, but lacks explicit 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?
No guidance on when to use this tool versus alternatives like 'clear_session' or 'save_session'. The description does not mention prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playB
Start playback in RV.
| 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 must carry the full behavioral burden. It simply states 'start playback' without detailing side effects, such as whether it resets playback position or continues from current frame.
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?
Extremely concise at three words, no unnecessary content. However, it may be overly terse, omitting important 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?
Given the complexity of playback and rich sibling tools, the description is too minimal. It does not mention whether playback starts from the beginning or current frame, or any prerequisites.
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 no parameters, and schema coverage is 100%. Baseline score of 4 applies as description adds no parameter information, but none 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 clearly states the action 'Start playback' and the target 'RV'. It uses a specific verb and resource. However, it does not differentiate from sibling tools like 'toggle_playback' which also controls playback 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?
No guidance on when to use this tool versus 'toggle_playback' or 'stop'. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_sessionC
Save the current session to an .rv file.
Args: file_path: Path for the .rv session file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_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 bears full responsibility for behavioral disclosure. It does not mention whether saving overwrites an existing file, requires specific permissions, or the nature of the .rv file format. It also doesn't state if the session continues after saving.
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 purpose and a parameter list. Every sentence earns its place, though it could be slightly expanded to cover behavioral details without becoming verbose.
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 (1 required parameter) and the presence of an output schema (which likely defines the return value), the description is mostly adequate. However, it lacks mention of overwrite behavior or error conditions, which would improve completeness.
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 includes a parameter explanation for 'file_path' (Path for the .rv session file), which adds meaning beyond the input schema that only defines the type as string. However, with only one parameter and no additional details (e.g., allowed extensions), the value added is modest.
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 saves the current session to a .rv file, specifying the verb 'Save' and resource 'current session' and output file. This distinguishes it from siblings like clear_session (clear) and new_session (create new).
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 (e.g., clear_session, new_session) or what prerequisites are needed. The description does not mention any context or conditions for using this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_backgroundB
Set the viewport background.
Args: method: One of "black", "checker", "grey18", "grey50", "crosshatch".
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | black |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It only states the action without revealing side effects, persistence, or state changes. Minimal disclosure.
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 a clear bullet list for args. No extraneous text, front-loaded 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 simple tool, it covers purpose and parameter options. Missing details on return value, side effects, or whether the change is session-wide. Output schema exists but is not utilized in 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?
Input schema has 0% description coverage, but the description lists valid values for the method parameter (black, checker, etc.), adding meaning. However, it doesn't explain the visual appearance of each option.
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?
Description clearly states 'Set the viewport background', identifying the verb and resource. It distinguishes from siblings like set_view_mode, but could be more specific about the scope of the background change.
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 guidelines on when to use this tool versus alternatives like set_view_mode. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_cdlB
Set CDL (Color Decision List) values.
All parameters are optional — only provided values are changed.
Args: slope: RGB slope values [r, g, b]. offset: RGB offset values [r, g, b]. power: RGB power values [r, g, b]. saturation: Global saturation value.
| Name | Required | Description | Default |
|---|---|---|---|
| slope | No | ||
| offset | No | ||
| power | No | ||
| saturation | 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, description carries full burden. It mentions only provided values are changed (non-destructive merging), but lacks disclosure of side effects, permissions, or idempotency. Minimal behavioral context beyond the mutation hint.
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?
Description is compact with clear sections (intro, optional note, args list). No redundant sentences; every part 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?
Explains parameters well but omits return value (despite having output schema), interaction with session state, and relationship to siblings. Adequate for a straightforward setter but could provide more system 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 description adds meaning by explaining each param (e.g., 'RGB slope values [r, g, b]'). Saturation description is vague ('Global saturation value'), but overall compensates for lack 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?
Clearly states 'Set CDL (Color Decision List) values', specifying verb and resource. However, lacks explicit differentiation from sibling tools like set_saturation or set_lut, though CDL context is 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?
States 'All parameters are optional — only provided values are changed', giving clear usage pattern. But does not specify when not to use, prerequisites (e.g., needing a session), or compare with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_composite_typeA
Set the compositing mode when in stack view.
Automatically switches to stack view if not already in it.
Args: composite_type: One of "over", "add", "difference", "-difference", "replace", "topmost".
| Name | Required | Description | Default |
|---|---|---|---|
| composite_type | No | over |
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 bears full responsibility for behavioral disclosure. It mentions the auto-switch to stack view, which is a key side effect. But it does not mention other behavioral traits like whether the change is reversible, if it affects other settings, or error responses. A score of 3 reflects adequate but not comprehensive coverage.
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: two sentences followed by a list of allowed values. It front-loads the purpose and provides necessary details without extraneous information. 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 simple input schema and existence of an output schema (not shown), the description covers the key aspects: purpose, auto-switch behavior, and parameter values. It does not explain prerequisites (e.g., loaded source) or return values, but the output schema likely covers returns. A score of 4 reflects sufficient completeness for a straightforward setter 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 input schema has 0% description coverage and only provides a default value without enum constraints. The description lists all allowed values ('over', 'add', 'difference', '-difference', 'replace', 'topmost'), which is essential for correct invocation. This fully compensates for the schema's lack of constraints.
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 'Set the compositing mode when in stack view', specifying the verb (set) and resource (compositing mode) with context (stack view). This distinguishes it from sibling set_* tools like set_cdl or set_lut, which operate on different parameters.
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 notes that it automatically switches to stack view if not already in it, giving context for when the tool is appropriate. However, it does not explicitly exclude cases or name alternatives, though sibling tools cover distinct settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_display_gammaB
Set display gamma.
Args: gamma: Display gamma value (e.g. 2.2 for sRGB-like).
| Name | Required | Description | Default |
|---|---|---|---|
| gamma | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the operation ('Set display gamma') without disclosing behavioral details such as side effects, reversibility, or scope. With no annotations to fall back on, this is insufficient for safe autonomous use.
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 concise with a clear front-loaded purpose. The Args line is slightly formal but not wasteful; it effectively communicates the parameter meaning 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 single-parameter tool, the description is minimally adequate. However, it lacks context about whether the setting is temporary or persistent, and does not mention the return value despite an output schema existing.
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 useful context beyond the input schema by noting gamma values like 2.2 for sRGB, which helps the agent understand expected values. Given 0% schema description coverage, this compensation is valuable.
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 ('Set') and resource ('display gamma'), making the purpose immediately understandable. However, it does not differentiate from the sibling tool 'set_gamma', which could be confused as similar functionality.
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 like 'set_gamma' or 'set_display_srgb'. The agent is left to infer context without explicit usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_display_srgbA
Enable or disable sRGB display transform.
Args: enabled: True to enable sRGB, False to disable.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | 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 full burden. It succinctly describes the toggle behavior but omits any side effects, persistence, or interaction with other settings. Adequate for a simple boolean.
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 concise—just one line and a docstring—with no unnecessary words. It is front-loaded with the purpose. Could be structured slightly better but is 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 tool's simplicity and one parameter, the description covers the basic action. However, it lacks information about the output (if any) and whether the effect is immediate or session-bound. Adequate but not fully comprehensive.
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 docstring adds clear semantic meaning to the 'enabled' parameter beyond the schema: 'True to enable sRGB, False to disable.' This compensates for the 0% schema description 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 enables or disables the sRGB display transform, a specific verb+resource action. It distinguishes from sibling tools like set_display_gamma or set_cdl by targeting a particular 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 implies usage when needing to toggle sRGB, but does not provide explicit guidance on when to use versus alternatives, nor does it mention any prerequisites or contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_exposureB
Set exposure adjustment.
Args: value: Exposure value (0.0 = no change). channel: "all" for uniform, or "r", "g", "b" for per-channel.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| channel | No | all |
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 burden but only states 'Set exposure adjustment.' No mention of side effects, reversibility, or whether it modifies the underlying image. Minimal behavioral disclosure.
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?
Description is short but includes an Args section that reads like code. The natural language part is one sentence. Could be more concise and front-loaded, but not overly verbose.
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 output schema exists (not shown), return values not needed. But the description lacks context on whether exposure adjustment applies per frame or globally, and no mention of animation or real-time effects. Adequate but minimal.
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 adds meaning: value is exposure with 0.0 as neutral, channel is 'all' or per-channel ('r','g','b'). This clarifies parameters beyond the schema's type/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 description clearly states 'Set exposure adjustment,' with verb 'set' and object 'exposure adjustment.' It distinguishes from siblings like set_gamma or set_saturation by specifying exposure. However, it lacks context on what exposure adjustment entails (e.g., brightness compensation) but is still 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?
No guidance on when to use this tool vs. alternatives like set_gamma or set_saturation. The description only implies use when exposure needs adjustment, with no exclusion criteria or context scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_fpsC
Set the playback frames per second.
Args: fps: Target FPS value.
| Name | Required | Description | Default |
|---|---|---|---|
| fps | 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 of behavioral disclosure. It lacks any mention of side effects, valid ranges, immediate application, or other behavioral traits 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 very concise, using only a single sentence plus a docstring line. It is not wasteful, though it sacrifices informativeness for brevity.
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 annotations and an output schema (not shown), the description fails to provide enough context for an agent to use the tool correctly, such as the effect on playback state or interaction with other settings.
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 minimal value over the schema: it restates the parameter name and a vague 'Target FPS value'. With 0% schema description coverage, the agent needs more detail on allowed values or constraints.
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 'set' and the resource 'playback frames per second', which is distinct from siblings like set_exposure or set_gamma. It exactly matches the tool's 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?
No guidance is provided on when to use this tool versus alternatives (e.g., set_playback_speed). There is no mention of prerequisites or typical contexts, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_frameB
Go to a specific frame in RV.
Args: frame: The frame number to jump to.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | 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 should disclose behavioral traits. It only says 'jump to' a frame, but doesn't state what happens if the frame is out of range, whether playback stops, or any side effects.
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?
Very concise with two short sentences. The first sentence clearly states the purpose. No fluff, but could be slightly more 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 simple tool with one parameter and an output schema, the description is adequate but lacks any mention of return values, frame range constraints, or behavior in 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?
Schema coverage is 0%, so the description must compensate. It only restates the parameter name ('frame: The frame number to jump to.'), adding minimal meaning beyond 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 clearly states the tool's purpose: 'Go to a specific frame in RV.' It uses a specific verb ('go to') and resource ('frame'), and it distinguishes from siblings like 'get_frame' and 'step_forward'.
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 (e.g., 'step_forward' or 'get_frame'). No mention of prerequisites, frame constraints, or explicit when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_gammaB
Set gamma correction.
Args: value: Gamma value (1.0 = no change).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that a value of 1.0 means no change, which is a behavioral detail beyond the schema. However, no annotations exist, and the description does not disclose 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 extremely concise with two short sentences. The purpose is front-loaded ('Set gamma correction.') and 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?
For a one-parameter tool with an output schema, the description provides minimal but adequate information. It lacks context about the object being modified (e.g., current grade or layer), which would help align with sibling tools.
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 explains that 'value' is the gamma correction amount and that 1.0 implies no change, adding meaning beyond the bare schema. Since schema description coverage is 0%, this compensation is effective.
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 it sets gamma correction, a specific adjustment. However, it does not distinguish from the sibling tool 'set_display_gamma', which might have a different 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?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_in_pointB
Set the in-point (start of playback range).
Args: frame: Frame number for the in-point.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | 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 full burden for behavioral disclosure. It does not mention side effects (e.g., overwriting existing in-point), frame validation, or any impact on playback. Minimal transparency 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 very short and front-loaded with the purpose. The args line is somewhat redundant with the schema but adds a bit of explanation. It could include more useful info without being verbose, but it's 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 tool's simplicity (one parameter) and existence of output schema, the description is minimally adequate. It lacks context on constraints, side effects, or typical usage scenarios, but provides the core purpose and parameter meaning.
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 'Frame number for the in-point' to the parameter, clarifying its purpose. However, with 0% schema coverage, it could provide more detail (e.g., valid range, units). Adds basic meaning beyond schema but lacks depth.
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 'Set' and the resource 'in-point', and explains it as the 'start of playback range'. This distinguishes it from siblings like set_out_point and get_in_out_points.
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, context, or when not to use it. The description only states the function without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_lutA
Load a LUT file and activate it.
Args: lut_file_path: Path to the LUT file (.3dl, .csp, .cube, etc.). target: Where to apply: "look" (color pipeline), "linearize" (input linearization), "display" (display transform).
| Name | Required | Description | Default |
|---|---|---|---|
| lut_file_path | Yes | ||
| target | No | look |
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 burden. It discloses file formats and target options but omits behavioral details like whether it overrides existing LUTs, immediate activation, or side effects on other settings. Adequate but missing common aspects.
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, front-loaded with the main purpose, and structured with an 'Args' section. Each sentence adds value; no 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?
Covers essential aspects like action, file types, and targets. Lacks details on error handling, return values (output schema exists but not explained), global vs. per-clip application, and behavior when target already set. Mostly complete with 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?
Schema coverage is 0%, but the description adds significant meaning by explaining both parameters: lut_file_path (with file extensions) and target (with options and their roles). Compensates well for the lack of schema descriptions, though could add format specifics.
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 ('Load a LUT file and activate it'), specifies the resource (LUT), and mentions the function (apply color transformations). It distinguishes from siblings like clear_lut by its unique 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 provides guidance on when to use (loading LUTs) and specifies three target options ('look', 'linearize', 'display'). However, it does not explicitly mention when not to use or alternative tools (e.g., clear_lut for removal), though the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_ocio_colorspaceA
Set the OCIO input color space for a source.
Inserts an OCIOFile node into the source's linearize pipeline, converting from the specified color space to scene-linear.
Args: colorspace: Input color space name (e.g. "sRGB - Texture", "ACEScg"). source_node: Source group name (e.g. "sourceGroup000000"). If omitted, uses the first source.
| Name | Required | Description | Default |
|---|---|---|---|
| colorspace | Yes | ||
| source_node | 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 full behavioral burden. It describes the pipeline modification and conversion to scene-linear, and mentions default behavior for omitted source_node. However, it does not mention potential side effects like overwriting previous OCIO settings.
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 no wasted words. It front-loads the one-line summary and then provides details in a clear, structured format.
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 an output schema, the description doesn't need to explain return values. It covers purpose, behavior, and parameters adequately. Could mention prerequisites (e.g., requiring an existing source) but overall complete for a simple 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 description adds significant meaning beyond the input schema, which has 0% coverage. It provides examples for colorspace ('sRGB - Texture', 'ACEScg') and explains the source_node parameter with format and default behavior.
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 sets the OCIO input color space for a source and explains it inserts an OCIOFile node. This distinguishes it from sibling tools like set_ocio_display or set_ocio_look.
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 what the tool does but does not explicitly provide guidance on when to use it versus alternatives or when not to use it. Usage is implied by the description of the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_ocio_displayB
Set the OCIO display transform.
Inserts an OCIODisplay node into the display pipeline.
Args: display: Display name (e.g. "sRGB - Display"). view: View name (e.g. "ACES 1.0 - SDR Video").
| Name | Required | Description | Default |
|---|---|---|---|
| display | Yes | ||
| view | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose side effects, permissions, or state changes. It only mentions inserting a node, but doesn't clarify if existing transforms are replaced, if the operation is reversible, or any required authentication.
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 purpose. The Args section is cleanly structured with examples, no unnecessary 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 tool is simple with two parameters, and an output schema exists. However, lack of usage guidelines and behavioral transparency makes it incomplete for an AI agent to fully understand its effects.
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 provides meaningful examples for both parameters (display and view), adding context beyond the schema's titles.
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 the OCIO display transform') and explains it inserts an OCIODisplay node. This is specific and distinct among siblings, though no explicit differentiation is made.
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 other OCIO-related tools like set_ocio_colorspace or set_ocio_look. The Args section only describes parameters, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_ocio_lookA
Apply an OCIO look to a source.
Inserts an OCIOLook node into the source's look pipeline.
Args: look: Look name from the OCIO config. direction: "forward" or "inverse". source_node: Source group name. If omitted, uses the first source.
| Name | Required | Description | Default |
|---|---|---|---|
| look | Yes | ||
| direction | No | forward | |
| source_node | 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 full burden. It explains the basic insertion action but does not disclose error behavior (e.g., invalid look name), idempotency, or side effects on existing looks. More details on state changes and prerequisites are needed.
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 well-structured with a purpose sentence, a brief explanation, and arg descriptions. It is not overly verbose, though the 'Args' section could be slightly more compact without losing clarity.
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 an output schema exists, the description does not need to detail return values. However, it lacks mention of return behavior or success/failure indicators. The tool modifies state, and for a workflow with many siblings, more contextual completeness about preconditions (e.g., valid look) would improve usability.
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 adds value for all parameters: 'look' as name from OCIO config, 'direction' as allowed strings, and 'source_node' as optional group name with default. However, it does not explain how to obtain look names or config details, which could be assumed from sibling 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 clearly states the tool applies an OCIO look to a source by inserting an OCIOLook node into the look pipeline. It uses specific verb+resource phrasing and distinguishes from siblings like set_ocio_colorspace and set_ocio_display.
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 (when applying a named look from the OCIO config) but does not explicitly compare with alternatives or state when not to use it. The optional parameter guidance ('If omitted, uses the first source') is helpful but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_out_pointB
Set the out-point (end of playback range).
Args: frame: Frame number for the out-point.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only states the basic function without disclosing side effects, reversibility, or requirements like a loaded source.
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 with two sentences, no wasted words. Could be slightly more structured but remains 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's single parameter and available output schema, the description omits important context like the meaning of out-point in playback, complementarity with set_in_point, and any prerequisites.
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 adds 'Frame number for the out-point', which provides basic meaning beyond the parameter name. However, it lacks range or format constraints.
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 'Set' and the resource 'out-point', and explains it is the end of playback range, distinguishing it from sibling 'set_in_point'.
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 like 'set_in_point' or prerequisites such as having a loaded session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_playback_speedA
Set the playback increment (direction and speed).
Args: direction: Positive for forward, negative for reverse. 1 = normal forward, -1 = normal reverse, 2 = 2x forward, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | 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 should disclose behavioral traits (e.g., immediate vs. deferred effect, behavior while paused). It only defines parameter values without describing the operational impact.
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, front-loaded with the main purpose, and efficiently uses two sentences plus a parameter list 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?
While adequate for a simple tool, the description lacks context on how this tool interacts with other playback controls and fails to specify return behavior despite an output schema existing.
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 schema by explaining direction parameter values (positive/negative, normal/reverse) and providing example mappings, compensating for the 0% 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 sets the playback speed and direction, distinguishing it from sibling tools like step_forward, step_backward, and set_play_mode which have different functions.
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 adjusting speed by providing direction semantics, but lacks explicit guidance on when to use this tool versus siblings like step_forward, step_backward, or toggle_playback.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_play_modeA
Set the playback loop mode.
Args: mode: One of "loop", "once", or "pingpong".
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | loop |
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 full burden. It states the tool sets the loop mode and lists valid values, but does not disclose side effects on current playback or potential errors, leaving behavioral clarity incomplete.
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 summarizing the action plus a clear list of arguments. No redundant information, well 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 setter, the description covers the essential purpose and parameter values. An output schema exists, so return details are not needed, but mentioning error handling for invalid mode would improve completeness.
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 the 'mode' parameter and no enum constraint, so the description adds critical value by listing the three allowed values ('loop', 'once', 'pingpong'). However, it could be more precise about case sensitivity or format.
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 'Set the playback loop mode,' which identifies the verb and resource. It lists three specific mode options, distinguishing it from other set_* and playback 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 does not provide when to use this tool versus alternatives like play, stop, or toggle_playback. It implies usage from the name but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_realtimeA
Enable or disable realtime playback mode.
When enabled, RV will skip frames to maintain the target FPS.
Args: enabled: True to enable realtime, False to play every frame.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | 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 full burden. It discloses the key behavior: enabling causes frame skipping to maintain target FPS, disabling plays every frame. This is transparent for a boolean toggle, though it could mention default state or idempotency.
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 plus an args list. It front-loads the purpose and adds critical behavioral detail efficiently. Every word earns its place, no 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 boolean toggle tool, the description covers purpose, parameter semantics, and behavioral effect. Output schema exists, so return values are covered elsewhere. No missing crucial information for this complexity level.
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% (no parameter description), but the description fully compensates with explicit Args: 'True to enable realtime, False to play every frame.' This adds complete semantic meaning beyond the type and default 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 clearly states the tool's purpose: 'Enable or disable realtime playback mode.' It specifies the verb (enable/disable) and the resource (realtime mode), and adds behavioral context (frame skipping to maintain FPS). This distinguishes it from siblings like set_fps (sets target FPS) or play (starts playback).
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 controlling playback performance but does not explicitly state when to use this tool over alternatives or provide exclusion criteria. It only describes the effect, leaving the agent to infer context without direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_saturationB
Set saturation.
Args: value: Saturation value (1.0 = normal, 0.0 = desaturated).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It only states the value range (1.0 normal, 0.0 desaturated) but does not specify behavior for values outside this range or potential side effects (e.g., does it reset other color settings?). No mention of return value despite output schema existing.
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 that front-load the purpose and describe the parameter in a clear, scannable format. Every word adds value, and no redundant information is present.
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 single-parameter tool with an output schema, the description is minimally adequate. It explains the core function and parameter meaning. However, it lacks differentiation from siblings (e.g., when to use saturation vs CDL) and does not describe the return value or side effects, which could be important for an agent.
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 description must compensate. It explains that 'value' is saturation with normal at 1.0 and desaturated at 0.0. This adds meaning beyond the schema type. However, it does not specify the valid range (e.g., can value be >1 or <0?), leaving 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 'Set saturation', using a specific verb and resource. It distinguishes from siblings like set_exposure or set_gamma by naming the specific parameter (saturation). However, it could be more explicit about the context (e.g., image/video color grading).
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 siblings like set_cdl, set_lut, or other color adjustments. No mention of prerequisites or scenarios where saturation adjustment is appropriate. This omission forces the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_view_modeA
Switch RV's view mode.
Args: mode: One of "sequence" (play sources in order), "stack" (layer sources for comparison), "layout" (tile sources side by side).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It explains mode values and what each does, but omits side effects, state changes, or prerequisites. This is acceptable given the tool's simplicity.
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, with one sentence and a list. Every part is useful, though it could be slightly more structured (e.g., bullet points in description).
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 one parameter and output schema exists, the description covers the essential usage. It lacks details on potential interactions or constraints, but is sufficient for a simple setting 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 has 0% coverage for param 'mode', but the description fully documents the allowed values ('sequence', 'stack', 'layout') with clear meanings, providing complete semantic information.
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: 'Switch RV's view mode.' It specifies three distinct modes with explanations, making it distinct from sibling set_* 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?
No guidance on when to use this tool versus alternatives. An agent would not know when switching view mode is appropriate compared to other actions like set_play_mode or set_composite_type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
step_backwardB
Step backward by N frames.
Args: count: Number of frames to step backward (default 1).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description fails to disclose critical behaviors such as boundary handling (e.g., frame 0) or whether it updates the playhead. Minimal behavioral insight.
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?
Very short and front-loaded, with essential information. Could be slightly more concise but effectively communicates core 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?
Output schema exists, so return value documentation is optional. However, lack of annotations and behavioral context (e.g., does it wrap around?) reduces completeness for a navigation 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?
Adds clear meaning beyond schema: explains 'count' as number of frames to step backward, including default value. Schema had 0% description coverage, so this is valuable.
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 ('step backward') and the resource ('frames'), distinguishing it from sibling 'step_forward'.
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 like 'set_frame' or 'step_forward'. Lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
step_forwardA
Step forward by N frames.
Args: count: Number of frames to step forward (default 1).
| Name | Required | Description | Default |
|---|---|---|---|
| count | 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 full burden. It states the basic function but does not disclose whether stepping wraps around, clamps to frame range, or affects playback state. For a simple tool, this is adequate but not thorough.
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 structure: one-line summary followed by an Args section. It is front-loaded and efficient, though the Args section could be more integrated.
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 and an output schema (not shown), the description covers the essential. It does not elaborate on return values or edge cases, but given the low complexity, it is sufficiently 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 explains that 'count' is the number of frames to step forward, adding meaning beyond the schema's type and default. Given 0% schema description coverage, this compensates well.
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: 'Step forward by N frames.' It distinguishes from siblings like step_backward and set_frame, as the verb 'step forward' implies incremental movement in a specific direction.
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 advancing frames but lacks explicit guidance on when to use this tool versus alternatives like 'play' (continuous playback) or 'set_frame' (direct jump). No when-not conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stopA
Stop playback in RV.
| 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 should disclose more behavioral details. It states the action but does not mention idempotency, side effects (e.g., current frame position), or output schema implications. 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?
A single, front-loaded sentence with zero wasted words. Perfectly concise for a trivial 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 with no parameters and an output schema (unknown content). The description captures the primary function but lacks details on behavior when already stopped or error handling. Still adequate for a basic stop command.
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?
No parameters exist, so baseline 4 applies. The description adds no param info, which is appropriate as schema coverage is 100%.
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 'Stop playback in RV.' uses a specific verb (stop) and resource (playback in RV), clearly distinguishing it from siblings like 'play', 'toggle_playback', and 'step_forward'.
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 when to use the tool (when you want to stop playback) but does not explicitly mention when not to use it or provide alternatives. For a simple action, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_playbackA
Toggle play/stop in RV. Returns the new 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?
No annotations are provided, and the description does not disclose side effects or preconditions (e.g., RV must be running). It confirms the return value, but lacks details on failure modes or idempotence.
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, clear sentences with no wasted words. The action is front-loaded in the first sentence.
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 no parameters, a clear action, and mentions the return value. Combined with the presence of an output schema, the description is fully adequate for this simple toggle 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?
No parameters exist, so schema coverage is complete. The description does not need to add parameter details. Keeping the baseline at 4 is appropriate per guidelines.
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 toggles play/stop in RV and returns the new state. It distinguishes from sibling tools 'play' and 'stop' by specifically indicating a toggle 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 implies use when toggling is desired, but does not explicitly compare with 'play' and 'stop' or provide when-not-to-use guidance. Since the tool is simple, some inference is possible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_wipeA
Toggle wipe mode on/off for A/B comparison in stack view.
Automatically switches to stack view first.
| 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?
Discloses that it toggles and automatically switches to stack view. However, no annotations are provided, so the description could elaborate on side effects or state changes, but it is minimally 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?
Two concise sentences with no unnecessary words. The key information is front-loaded, making it efficient for an AI agent 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?
Given the tool has an output schema and no parameters, the description adequately covers the toggle action and automatic view switch. It lacks details on what 'wipe mode' entails, but is sufficient for a simple toggle.
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?
No parameters exist, so the schema provides full coverage. The description adds context about the toggle behavior, meeting the baseline expectation for zero-parameter 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?
Clearly states it toggles wipe mode on/off for A/B comparison in stack view. The description differentiates from sibling tools like 'set_view_mode' and 'toggle_playback' by specifying the exact action and context.
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 implies usage for A/B comparison but does not explicitly state when to use vs alternatives. The automatic switch to stack view provides context but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, with clear descriptions differentiating them. There is some potential confusion between similar 'clear' tools and frame-info tools, but overall an agent can distinguish well.
Naming uses underscores consistently but verb style varies (clear_, get_, set_, load_, play, stop, toggle). The pattern is not strictly verb_noun throughout, e.g., 'execute_mu' and 'new_session' deviate. Still readable.
With 47 tools, the server is quite heavy. While the domain (media playback and color correction) can justify many tools, this count feels excessive and could be streamlined.
The tool set covers most aspects of RV control: session management, source loading, playback, frame navigation, color correction (CDL, LUT, OCIO), display settings, and view modes. A notable gap is the lack of a tool to remove individual sources.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
AI film lab for filmmakers: generate and review images/clips with input provenance, cost preflight
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
Create and edit AI videos from chat: plan shots, generate scenes, and export stories and ads.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI coding assistants (Cursor, Claude Desktop) to DaVinci Resolve, enabling control of video editing workflows through natural language commands for project management, timeline operations, and media pool tasks.MIT
- AlicenseNot gradedqualityAmaintenanceBridges AI assistants to Autodesk ShotGrid (Flow Production Tracking) data, enabling CRUD, search, batch operations, and schema exploration via typed MCP tools with progressive loading.1MIT
- AlicenseBqualityFmaintenanceEnables AI-driven DaVinci Resolve 21 automation with 88 tools for project management, timeline editing, color grading, AI analysis, rendering, and dailies creation.882MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Nuke for compositing tasks via natural language.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Geddart/rv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server