Skip to main content
Glama

gen

Quote then confirm AI-generated fills, B-roll, or clip extensions for FCPXML timelines; validates budget and API key before writing a connected clip with prompt marker.

Instructions

Generative fill, quote-then-confirm. gen_quote(provider, seconds, prompt, model?) prices a job from a dated table (fal: kling-2.5, wan-2.5; gemini: veo-3.1; runway/luma are honest stubs) and returns a quote id. gen_fill_gap(filepath, prompt, gap_index|at), gen_broll(filepath, clip_name, prompt, seconds=5, at?) and gen_extend_clip(filepath, clip_name, seconds=5) REFUSE without quote_id + confirm=true, a matching job, a key in the environment (FAL_KEY / GEMINI_API_KEY) and a price under FCP_MCP_GEN_MAX_USD (default 5). The result is probed with ffprobe for its real fps and length, saved under generated/ next to the project, attached as a connected clip with role generated and a marker naming prompt and provider, DTD-validated and journaled. Actions: gen_quote, gen_fill_gap, gen_broll, gen_extend_clip.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsNoArguments for the chosen action, e.g. {"filepath": "/path/to/project.fcpxml"}. Any action that takes a filepath also accepts expected_sha256: the call refuses if the file no longer hashes to it (every write result and analyze_timeline report the current sha256).
actionYesWhich operation to run.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.26.0

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it names the required environment keys (FAL_KEY / GEMINI_API_KEY), the hard price ceiling FCP_MCP_GEN_MAX_USD (default 5), the exact refusal conditions, and post-execution side effects (ffprobe verification, output saved under generated/, clip attached with role `generated`, marker, DTD validation, journaling). This is far beyond what structured fields provide.

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?

It is a dense single paragraph, but it is front-loaded (capability and quote-then-confirm model first, side effects after) and nearly every clause conveys actionable information. Slight deduction for run-on density that makes the per-action parameter lists harder to scan.

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 four-action tool with no output schema, the description covers the quote return (a quote id), the execution side effects, and the safety gates needed to invoke it correctly. It never states the shape of the fill-result response, but the described attach/journal behavior gives an agent enough to proceed.

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% and the schema only defines a generic `args` object, so the description does real work by spelling out per-action arguments and signatures — provider, seconds, prompt, model?, filepath, clip_name, gap_index|at — plus defaults like seconds=5. The only gap is that it omits expected_sha256, which the schema documents instead.

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

Purpose4/5

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

The description states a concrete capability family (generative fill: quoting, gap fill, b-roll, clip extension) and enumerates the four actions, so an agent knows exactly what it does. It falls short of a 5 because the tool name 'gen' is opaque and the description never distinguishes it from the similarly named sibling 'generate', leaving a real risk of picking the wrong tool.

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 quote-then-confirm workflow is spelled out as a precondition: gen_quote must run first to obtain a quote id, and the fill actions refuse without quote_id + confirm=true. What's missing is guidance on choosing among the fill actions themselves (gap_index vs clip_name vs at) and any explicit contrast with the 'generate' sibling.

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