RV MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RV_MCP_HOST | No | RV network host | 127.0.0.1 |
| RV_MCP_PORT | No | RV network port | 45125 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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(); }") |
| 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. |
| load_sourcesA | Load multiple media files into RV at once. Args: file_paths: List of paths to media files. |
| playB | Start playback in RV. |
| stopA | Stop playback in RV. |
| toggle_playbackA | Toggle play/stop in RV. Returns the new state. |
| get_frameA | Get the current frame number in RV. |
| set_frameB | Go to a specific frame in RV. Args: frame: The frame number to jump to. |
| step_forwardA | Step forward by N frames. Args: count: Number of frames to step forward (default 1). |
| step_backwardB | Step backward by N frames. Args: count: Number of frames to step backward (default 1). |
| set_in_pointB | Set the in-point (start of playback range). Args: frame: Frame number for the in-point. |
| set_out_pointB | Set the out-point (end of playback range). Args: frame: Frame number for the out-point. |
| get_in_out_pointsA | Get the current in/out points as JSON. |
| set_fpsC | Set the playback frames per second. Args: fps: Target FPS value. |
| get_fpsA | Get the current playback FPS. |
| 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. |
| set_play_modeA | Set the playback loop mode. Args: mode: One of "loop", "once", or "pingpong". |
| get_frame_rangeA | Get the full frame range and current state as JSON. Returns JSON with: frame, frameStart, frameEnd, inPoint, outPoint, playing, fps. |
| 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. |
| get_sourcesB | List all sources currently loaded in RV as JSON. Returns a JSON array with source node names. |
| get_source_media_infoB | Get detailed media info for a source node. Args: source_node: The source node name (e.g. "sourceGroup000000"). |
| get_sources_at_frameA | Get source nodes visible at a specific frame. Args: frame: Frame number to query (-1 for current frame). |
| new_sessionA | Create a new empty session, clearing all current sources. |
| clear_sessionA | Clear all sources from the current session. |
| save_sessionC | Save the current session to an .rv file. Args: file_path: Path for the .rv session file. |
| get_session_infoB | Get current session information as JSON. Returns: viewNode, frame, frameStart, frameEnd, sourceCount. |
| 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). |
| 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". |
| toggle_wipeA | Toggle wipe mode on/off for A/B comparison in stack view. Automatically switches to stack view first. |
| get_view_infoA | Get current view state as JSON. Returns: viewNode, viewType, and wipe state. |
| 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). |
| clear_lutA | Deactivate the LUT on a target. Args: target: Which LUT to clear: "look", "linearize", or "display". |
| 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. |
| clear_cdlA | Deactivate CDL color correction. |
| set_exposureB | Set exposure adjustment. Args: value: Exposure value (0.0 = no change). channel: "all" for uniform, or "r", "g", "b" for per-channel. |
| set_gammaB | Set gamma correction. Args: value: Gamma value (1.0 = no change). |
| set_saturationB | Set saturation. Args: value: Saturation value (1.0 = normal, 0.0 = desaturated). |
| get_color_settingsA | Get current color correction settings as JSON. Requires at least one source loaded in the session. |
| set_display_gammaB | Set display gamma. Args: gamma: Display gamma value (e.g. 2.2 for sRGB-like). |
| set_display_srgbA | Enable or disable sRGB display transform. Args: enabled: True to enable sRGB, False to disable. |
| set_backgroundB | Set the viewport background. Args: method: One of "black", "checker", "grey18", "grey50", "crosshatch". |
| 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. |
| 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. |
| 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"). |
| 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. |
| get_ocio_stateA | Get current OCIO state for all sources and display as JSON. Returns which sources have OCIO nodes and their settings. |
| clear_ocioA | Remove OCIO nodes and restore default RV pipeline. Args: target: What to clear — "linearize", "display", "look", or "all". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| rv_assistant | Default assistant instructions for MCP clients. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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