Skip to main content
Glama

concat

Join compatible clips end to end without re-encoding to create a lossless merged video; inputs must share codec, resolution, pixel format, frame rate and audio parameters.

Instructions

Join clips end to end without re-encoding (fast and lossless).

The clips must share codec, resolution, pixel format, frame rate and audio parameters (for example several recordings from one camera or pieces made by trim). If they differ, the error says exactly which property differs; convert/transform them to match first. Default output: first.concat.ext next to the first input.

Input Schema

NameRequiredDescriptionDefault
inputsYes
outputNo
dry_runNo
overwriteNo
timeout_sNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the no-re-encoding guarantee, the fact that mismatches fail with a diagnostic naming the differing property, and the default output location. It stops short of stating whether existing files are clobbered by default, what dry_run does, or how timeout_s is enforced.

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?

The core capability is front-loaded in the first clause, followed by the precondition and the failure/remediation note. No redundant sentences; the default-output remark is the only optional detail and it is genuinely useful.

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?

An output schema exists, so return values need no prose, and the hardest thing to get right — matching stream parameters before concatenation — is covered thoroughly. For a file-writing tool with zero annotations, the missing explanation of overwrite and dry_run semantics is the notable remaining gap.

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 0%, so the description must compensate and it only partially does: it explains the constraints on 'inputs' and the default naming rule for 'output'. The three remaining parameters (dry_run, overwrite, timeout_s) are given no meaning beyond their names and defaults.

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?

States a specific verb and resource ('Join clips end to end') plus a defining technical property ('without re-encoding, fast and lossless'). This clearly separates it from siblings like trim, convert, and transform, which alter or slice media rather than concatenate it.

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

Usage Guidelines5/5

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

Gives the positive condition (clips joined end to end) and the hard prerequisite (shared codec, resolution, pixel format, frame rate, audio parameters). It also names the remediation path explicitly — convert/transform them to match first — routing the agent to the correct siblings when the precondition fails.

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