Skip to main content
Glama

Video Trim

video_trim
Destructive

Trims a video to one or more time ranges (milliseconds), concatenated in order into a NEW file — e.g. keep [{start_ms:0,end_ms:6000},{start_ms:126000,end_ms:223000}] to drop a dead segment. Audio is carried along. Returns the output path + duration. Never overwrites the input in place.

Input Schema

NameRequiredDescriptionDefault
inputYesPath to the source video.
outputNoOutput path (default: <input>_trimmed.mov). Missing parent folders are created.
rangesYesOrdered [{start_ms, end_ms}] to keep.
confirmNoIgnored; kept for older clients.
overwriteNoReplace an existing file at output. Without it an existing output is refused. The input is never overwritten.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true to write the output. Without it the call returns a preview and writes nothing."New value: +"Ignored; kept for older clients."
  2. Changed2 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Must be true to write the output. Without it the call returns a preview and writes nothing.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / overwrite
      Added value: +{
      +  "description": "Replace an existing file at output. Without it an existing output is refused. The input is never overwritten.",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / output / description
      Previous value: -"Output path (default: <input>_trimmed.mov)."New value: +"Output path (default: <input>_trimmed.mov). Missing parent folders are created."
  4. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false; the description goes beyond them by stating it writes a NEW file, never overwrites the input in place, carries audio along, and returns the output path plus duration. That covers the main behavioral risks an agent needs to know before calling it.

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?

A single dense sentence front-loads the core action, then appends the example and the safety constraint. Every clause earns its place: units, ordering, output behavior, return value, and the no-overwrite guarantee.

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?

With no output schema, the description supplies the return shape (output path + duration). For a mutation tool with destructiveHint, it also clarifies that the input is never modified and a new file is produced. Nothing essential to calling it correctly is missing.

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 baseline is 3, but the description adds real value: it pins units to milliseconds and supplies a concrete ranges example [{start_ms:0,end_ms:6000},{start_ms:126000,end_ms:223000}], clarifying the ordered keep-list semantics better than the terse schema text.

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 (trims) and resource (video) plus the exact semantics: keep one or more millisecond ranges concatenated in order into a NEW file. It doesn't explicitly contrast with close siblings like video_concat or video_export_gif, so an agent must infer the boundary, but the purpose itself is unambiguous.

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?

The example use case ('drop a dead segment') makes the intended when-to-use concrete. There are no explicit exclusions or named alternatives (e.g. use video_concat to join separate files), so it gives clear context but not full routing guidance.

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