Skip to main content
Glama

Render a video

tourwright_render

Queue a script to render a narrated product tour video; wait for ready links, duration, chapters, and captions, or return a job ID for polling.

Instructions

Queue a script for rendering. With wait=true (default) it waits until the video is ready and returns its links (and local paths), duration, chapters and captions; otherwise it returns the job id to poll with tourwright_job.

Input Schema

NameRequiredDescriptionDefault
varsNoValues for the script variables ({{name}}): the same script makes a different video per set of values
waitNoWait for the video (default true); false returns the job id at once, to poll with tourwright_job
assetsNoFiles the script refers to by name (images, music, uploads), base64-encoded
scriptYesThe script: an object, or YAML/JSON text. Read tourwright_guide first for the format.
optionsNoRender settings that override the script
waitSecondsNoHow long to wait for the video before returning the job as it is (default 900)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2.2.0
    • addedInput schema / properties / options / description
      Added value: +"Render settings that override the script"
    • addedInput schema / properties / options / properties / quality / description
      Added value: +"Size of the video: sd 480p, hd 720p, fullhd 1080p, vertical 1080x1920, square 1080x1080"
    • addedInput schema / properties / options / properties / voice / description
      Added value: +"Voice for the whole video, overriding the script: a name from tourwright_voices"
    • addedInput schema / properties / wait / description
      Added value: +"Wait for the video (default true); false returns the job id at once, to poll with tourwright_job"
    • addedInput schema / properties / waitSeconds / description
      Added value: +"How long to wait for the video before returning the job as it is (default 900)"
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the mutating/non-idempotent nature is covered. The description adds real value beyond that: it discloses the blocking semantics, the exact contents of a successful return (links, local paths, duration, chapters, captions), and the asynchronous escape hatch. It does not say whether repeated calls create duplicate jobs or whether rendering consumes credits, which would have earned a 5.

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

Conciseness5/5

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

Two compact sentences with no filler, and the primary action is front-loaded ahead of the conditional behavior. The branching (wait=true vs otherwise) is expressed in a single parallel clause, which is easy for an agent to parse.

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?

For a six-parameter tool with a nested options object and no output schema, the description covers the two things an agent most needs: what the call returns and how to handle the async case. The schema itself points to tourwright_guide for the script format. Minor gaps remain around failure modes and job duplication, but nothing essential for a correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter, including wait, waitSeconds, vars, assets and options. The description only restates the wait behavior and the return payload, adding no syntax or format detail beyond the structured fields. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

The first sentence states a specific verb and resource: 'Queue a script for rendering.' The second sentence explains what the call produces and explicitly names tourwright_job as the polling sibling, so an agent can distinguish it from tourwright_validate, tourwright_check and tourwright_voices without opening any 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?

The description clearly explains the default wait=true flow versus the fire-and-forget flow that returns a job id for tourwright_job, which is the key decision an agent must make. It stops short of stating when NOT to use the tool (for example, running tourwright_validate first) or which sibling to pick for related tasks, so it is clear context rather than full routing guidance.

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