Skip to main content
Glama

Manage transitions

manage_transitions
Destructive

Transitions on a track's cuts OR lone clip edges (a free head/tail takes a single-sided fade from/to nothing; its alignment is forced). action: 'add' (trackId + atFrame = the cut where one clip ends and the next starts, + type; optional durationFrames (default 30, clamped to the clips' source handles), alignment centered|start|end, params) | 'remove' (transitionId) | 'update' (transitionId + any of type/durationFrames/alignment/params). Types: crossDissolve, dipToBlack, dipToWhite, wipe (params.angle deg, params.softness 0-100), slide (params.angle), push (params.angle). Both clips need source material past the cut — a transition that cannot fit is refused; edits that break the cut remove it. Returns {ok, transitionId?}.

Input Schema

NameRequiredDescriptionDefault
typeNoTransition type.
tokenYesThe session token `connect` returned. Pass it on every call — it says which browser to drive.
actionYesadd | remove | update
paramsNoType params patch (e.g. { angle: 90 }).
atFrameNoThe cut frame for 'add'.
trackIdYesTrack owning the cut (get_timeline).
alignmentNocentered | start | end
projectIdYesProject id from get_projects.
timelineIdYesTarget timeline.
transitionIdNoExisting transition id.
durationFramesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and non-idempotent, but the description adds substantial context beyond them: default durationFrames of 30 clamped to source handles, forced alignment for single-sided fades, refusal when a transition cannot fit, and automatic removal when an edit breaks the cut. It also discloses the return shape ({ok, transitionId?}). This is exactly the kind of mutation-behavior detail annotations cannot convey.

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?

The description is front-loaded with the resource scope before breaking into the action list, and every clause carries information (defaults, constraints, enum values). It is dense and pipe-delimited, which makes it efficient but slightly harder to scan than a structured list would be; still, no sentence is wasted.

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

Completeness5/5

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

For an 11-parameter mutation tool with a nested params object and no output schema, the description covers all three actions, the type catalog with per-type parameters, defaults, failure/refusal semantics, and the return shape. An agent has everything needed to select and invoke it correctly without guessing.

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?

Schema coverage is already 91%, so the baseline would be 3, but the description meaningfully extends it: it defines atFrame as 'the cut where one clip ends and the next starts,' gives defaults and clamping rules for durationFrames, and documents the type-specific params (angle in degrees, softness 0-100) for wipe/slide/push. That is real semantic value beyond the schema's terse field descriptions.

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 description opens with a precise verb-plus-resource statement — transitions on a track's cuts or lone clip edges — and then enumerates the three sub-actions ('add', 'remove', 'update') with their required identifiers. It clearly separates this tool from siblings like manage_effects or manage_tracks by scoping it to cut-level transitions and even explains the single-sided fade case for free head/tail clips.

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?

Useful operational context is given per action: 'add' needs trackId plus atFrame pointing at the cut, 'remove' needs transitionId, 'update' takes transitionId plus optional fields. It also states the preconditions (both clips need source material past the cut, unfittable transitions are refused, broken cuts remove the transition) which tells the agent when a call will fail. It stops short of naming sibling tools or explicit 'when not to use this' guidance, so a 4 rather than 5.

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