Skip to main content
Glama

Add clips

add_clips
Destructive

Places media segments on a timeline. Each clip: mediaRef (from get_media, 'timeline:' to NEST another timeline as a clip, 'solid:#rrggbb' , 'motion:' for a MOTION composition (create_motion_composition) for a generated solid-colour matte, 'adjustment:' for an adjustment clip — no picture of its own, its effects/masks/opacity grade everything below it — or 'text:' for a title, restyled via set_clip_properties' text), atFrame (timeline position), sourceInSec/sourceOutSec (the segment of the source to use — align these with transcript words or sceneSamples), and optional trackId (from get_timeline) to target a specific same-kind track — without it clips land on V1/A1 with overwrite semantics. A spare empty track always exists above the highest used one, so V2/A2 is available before anything sits on it. Video sources with audio get a linked audio clip automatically (on the matching A track: V2 ⇒ A2). Returns the created clip ids in order. Frames are in the target timeline's fps.

Input Schema

NameRequiredDescriptionDefault
clipsYes[{mediaRef, atFrame, sourceInSec, sourceOutSec, trackId?}] — segments in playback order; trackId targets a specific track (default V1/A1).
tokenYesThe session token `connect` returned. Pass it on every call — it says which browser to drive.
projectIdYesProject id from get_projects.
timelineIdYesTarget timeline id from get_timeline.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already flag destructive=true and non-idempotent, and the description adds the crucial mechanism behind that: clips overwrite by default unless trackId targets another track, tracks auto-pair for video audio (V2 ⇒ A2), and the return value is the created clip ids in order. It also discloses the fps unit for frame values, which is real behavioral context an agent needs before committing a destructive edit.

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

Conciseness3/5

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

Information-dense but delivered as one long run-on sentence with deeply nested parentheses, so the mediaRef variants are hard to scan. It is front-loaded with the action and nearly every clause earns its place, but a bulleted enumeration of mediaRef kinds would make it far more usable.

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?

Covers the essentials for a destructive placement tool: source addressing, positioning, track targeting, default overwrite behavior, linked audio, and return format (no output schema needed). The remaining gap is relational — no guidance on insert_clips, move_clips, or trim_clips boundaries, and no mention of error conditions such as invalid mediaRef or missing track.

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

Parameters5/5

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

Although schema coverage is 100%, the schema barely documents the clips array elements; the description supplies the full mediaRef grammar (timeline:, solid:, motion:, adjustment:, text:), explains atFrame as a timeline position, sourceInSec/sourceOutSec as the source segment with alignment hints to transcript words/sceneSamples, and trackId's targeting behavior. That is substantial meaning beyond the schema.

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?

A specific verb and resource ("Places media segments on a timeline") immediately tells the agent what happens, and the mediaRef grammar makes the scope concrete. It never distinguishes itself from the close sibling insert_clips, so an agent cannot tell from this text alone which of the two placement tools to pick.

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?

Strong operational context: default V1/A1 placement with overwrite semantics, when to supply trackId to target a same-kind track, and the note that a spare empty track (V2/A2) exists above the highest used one. Missing the key exclusion — nothing says when to use insert_clips instead of this overwriting placement tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources