Skip to main content
Glama
marvkr

Better Design

Render Video Frames

render-video-frames
DestructiveIdempotent

Render selected frames of a Remotion composition locally to preview work before a full render. Inspect the returned images against a checklist and fix issues early.

Instructions

Render chosen frames of a Remotion composition with the project's own Remotion CLI, so you look at your work before the full render. Rendering runs the project's code, so pass only a project the user owns.

This server runs on the user's machine: pass projectDir and it renders each frame there and returns the images.

Pick the first, the settled and the last frame of each beat. Then check every image against the returned checklist and fix what fails before rendering the film.

Input Schema

NameRequiredDescriptionDefault
entryNoRemotion entry point, relative to the project.src/index.ts
propsNoInput props, as --props JSON.
scaleNoRender scale. 0.5 keeps the images small enough to read back.
framesYesFrame numbers to render. Pick the first, the settled and the last frame of each beat.
contextNoOptional. One sentence on WHY you are calling this and what the user asked for (e.g. 'adding nav icons for the fintech dashboard'). Used only for usage analytics; does not change the result.
projectDirNoAbsolute path of the Remotion project. The local server renders there and returns the images.
compositionYesComposition id, as `npx remotion compositions` lists it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real value beyond the annotations: it discloses that rendering executes the project's own code (explaining the destructiveHint/openWorldHint risk), that the server runs locally and writes/renders inside projectDir, and that a checklist comes back with the images. It does not say whether rendered files persist on disk or are cleaned up, which is the one behavioral detail still missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and the "preview before the full render" rationale in the first sentence, with security caveat and local-execution note layered after. Slightly redundant with the schema on the frame-picking advice, and the local-render/returns-images point is effectively stated twice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, no output schema, and a nested props object, the description carries the burden of explaining the return ('returns the images' plus 'the returned checklist') and the security/prerequisite context, which it does. It could be more specific about the shape/format of the returned images, but the agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes above it by motivating scale ("0.5 keeps the images small enough to read back"), explaining projectDir's local-render semantics, and giving a selection heuristic for the frames array. entry, props, composition and context are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Render chosen frames of a Remotion composition") and explicitly scopes it against the sibling activity of a full render ("so you look at your work before the full render"). An agent can distinguish it from the other video-related siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear when-to-use context (preview frames before rendering the film) plus a concrete procedure ("Pick the first, the settled and the last frame of each beat") and a follow-up loop (check the checklist, fix, then render). It stops short of naming an explicit alternative tool for the full render or stating exclusory conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.