Skip to main content
Glama

concat

Join two or more videos into one file, using lossless stream copy for matching inputs and automatic re-encoding for mismatched ones to always produce a valid output.

Instructions

Concatenate two or more videos into a single file. Matching inputs are joined by stream copy (fast, lossless). Inputs that differ in codec, size, pixel format, frame rate or audio layout, or that hold frames hidden behind an edit list (a trim with exact: false), are re-encoded with hard cuts instead, so the result is always a valid file; mode in the result says which.

Input Schema

NameRequiredDescriptionDefault
inputsYesTwo or more video paths to join, in order. Matching inputs are stream-copied; others are re-encoded.
outputNoOptional output path. Defaults under SCREENCAST_HOME/edits.
overwriteNoAllow replacing an existing file at the output path (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.39.0
    • changedInput schema / properties / inputs / description
      Previous value: -"Two or more video paths to join, in order. Inputs must share codec/format."New value: +"Two or more video paths to join, in order. Matching inputs are stream-copied; others are re-encoded."
  2. First observedv0.32.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 behavioral burden and does so well: it discloses stream-copy versus re-encode behavior, names the exact incompatibility triggers, mentions edit-list hidden frames, guarantees a valid output file, and says the result exposes the mode used.

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 dense, front-loaded sentences with no filler. The main action comes first, followed by the important behavioral caveat about matching versus differing inputs.

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?

Given that there are no annotations and no output schema, the description supplies the behavioral context an agent needs: join order, stream-copy vs re-encode behavior, hard-cut fallback, guaranteed validity, and a result indicator. Missing details like default output path are already covered by the schema.

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%, so the baseline is 3 even without description-level parameter exposition. The description adds meaningful semantics beyond the schema by explaining how input compatibility affects processing and that `mode` in the result reports which path was taken.

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?

States a specific verb and resource: concatenate two or more videos into a single file. The purpose is immediately clear, but the description does not explicitly distinguish this tool from sibling video-editing tools such as xfade_transition or clip, so it stops short of a 5.

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?

The description implies when concatenation applies and explains the matching-vs-mismatched input behavior, which helps an agent understand consequences. However, it gives no explicit when-to-use/when-not guidance or named alternatives for joining clips with transitions or extracting segments.

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