Skip to main content
Glama

Merge video clips

video_merge
Destructive

Join two or more existing video clips in order into one rendered file, with optional transitions and output path.

Instructions

Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. Pass clips as an ordered list of absolute paths (at least two); output is auto-named or written to output_path.

Input Schema

NameRequiredDescriptionDefault
clipsYesOrdered absolute paths to existing video clips. Provide at least two clips; inputs are validated and never modified.
overwriteNoExplicitly allow replacing existing media. Existing non-media files are protected.
transitionNoOptional xfade transition applied to every clip boundary, such as fade, dissolve, wipeleft, wiperight, slideleft, or slideright.
output_pathNoDestination video path. Auto-generated when omitted; an existing supplied path may be overwritten.
transitionsNoOptional per-boundary xfade transitions. Overrides transition when provided.
transition_durationNoDuration in seconds for each transition; must fit inside neighboring clips.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.16.4
    • addedInput schema / properties / overwrite
      Added value: +{
      +  "default": false,
      +  "description": "Explicitly allow replacing existing media. Existing non-media files are protected.",
      +  "title": "Overwrite",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changedv1.16.0
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed5 schema fields changedv1.5.1
    • addedInput schema / properties / clips / description
      Added value: +"Ordered absolute paths to existing video clips. Provide at least two clips; inputs are validated and never modified."
    • addedInput schema / properties / output_path / description
      Added value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten."
    • addedInput schema / properties / transition / description
      Added value: +"Optional xfade transition applied to every clip boundary, such as fade, dissolve, wipeleft, wiperight, slideleft, or slideright."
    • addedInput schema / properties / transition_duration / description
      Added value: +"Duration in seconds for each transition; must fit inside neighboring clips."
    • addedInput schema / properties / transitions / description
      Added value: +"Optional per-boundary xfade transitions. Overrides transition when provided."
  4. First observedv0.2.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent, so the safety bar is lower; the description still adds real context: output is auto-named or written to output_path, and concatenation produces a 'rendered output file' rather than metadata. It does not state re-run cost, processing time, or re-encoding behavior, keeping it below 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.

Conciseness4/5

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

Three short sentences, front-loaded with the action and followed by usage and parameter constraints; nothing is padded. The 'Returns JSON {success, output_path}' sentence is slightly redundant given the tool has an output schema.

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 mutation tool with full schema coverage and an output schema, the description covers action, ordering constraint, minimum input count, and output destination handling. Remaining gaps (failure modes on incompatible clips, transition-duration constraints) are documented in the schema, though failure behavior is nowhere stated.

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 baseline is 3. The description reinforces the two most important semantics an agent could miss — clips must be an ordered list of absolute paths and at least two are required — but adds nothing about transition, transitions, or overwrite beyond what the schema already documents.

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 uses a specific verb and resource ('Concatenate two or more existing video clips into one rendered output file') and restates the join intent in a second sentence. It is immediately distinguishable from analysis siblings (video_info) and image-sourced siblings, though it never explicitly names a nearest alternative such as video_composite_layers or video_create_from_images.

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

Usage Guidelines3/5

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

'Use to join ordered clips into a single video' implies the use case, and the ordered-list requirement adds practical setup context. There is no when-not-to-use guidance, no mention of alternatives, and no prerequisites (codec/resolution compatibility of inputs is unaddressed).

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

Deploy Server

Other Tools