Skip to main content
Glama

Trim local video without re-encoding

abox_video_trim

Copies selected MP4/MOV time ranges into a new MP4 and verifies copied packets and edit lists. Use it to extract clips; non-keyframe starts require allow_preroll=true.

Instructions

Copy selected MP4/MOV ranges into a new MP4 using the existing website sample-copy engine. Verifies every copied packet and output edit list. First non-keyframe cuts require explicit allow_preroll:true; later sections must start on keyframes. Encoded boundary footage can remain hidden by edit lists, so this is not redaction. Incoming edited timelines are refused. Requires no browser.

Input Schema

NameRequiredDescriptionDefault
rangesYes
input_pathYesAbsolute local filesystem path. URLs and network shares are refused.
keep_audioNo
output_pathYesAbsolute local filesystem path. URLs and network shares are refused.
allow_prerollNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A4.1/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: it verifies copied packets and output edit lists, explains keyframe/preroll constraints, warns that boundary footage may remain hidden, and clarifies that this is not redaction. These details are exactly what an agent needs to avoid misusing a sample-copy trim operation.

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 dense but front-loaded and mostly every sentence contributes operational context. One phrase, such as 'Requires no browser,' is less essential, but the overall structure is efficient.

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 non-reencoding video trim tool with no output schema and sparse annotations, this is largely complete: it covers formats, keyframe behavior, verification, edit-list caveats, and refusal of edited timelines. It still leaves some parameter-level details, such as audio handling, to the schema.

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?

With only 40% schema description coverage, the description does useful work by explaining allow_preroll and the keyframe rule, and by naming MP4/MOV input and MP4 output. However, it does not explain keep_audio or the ranges structure beyond what the schema already implies.

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 states a specific action: copying selected MP4/MOV ranges into a new MP4 without re-encoding. It is clear what the tool does, though it does not explicitly distinguish itself from nearby tools such as abox_video_remux or abox_video_join.

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?

It gives important usage conditions: first non-keyframe cuts require allow_preroll:true, later sections must start on keyframes, and already-edited timelines are refused. It does not explicitly compare against alternative tools, but the applicable context and exclusions are clear.

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