Skip to main content
Glama

run_ffmpeg

Run FFmpeg commands with an argument list to process or edit video files. Controls overwrites and blocks unsafe output paths.

Instructions

Run ffmpeg with an argv argument list (NOT a shell string). Prefer structured edit tools when possible.

Safety: output paths outside the media workspace are blocked unless allow_any_path=true. Uses -y only when overwrite=true; otherwise -n. Never uses shell=True.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsYes
overwriteNo
allow_any_pathNo
timeout_secondsNo
working_directoryNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses that paths outside the workspace are blocked, allow_any_path can override that, -y is only used with overwrite=true, -n is used otherwise, and shell=True is never used. This gives agents a solid safety and execution model, though some lower-level behaviors like exact output/error handling are not described.

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 description is short and well-structured: invocation model first, tool preference second, then critical safety and flag behavior. Every sentence earns its place with no filler or repetition.

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 low-level wrapper with 5 parameters, no annotation coverage, and many sibling tools, the description covers the essential invocation, safety, and overwrite semantics. The output schema presumably covers return values. The main gaps are the lack of explanation for timeout_seconds and working_directory, but these are optional and inferable from their names.

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. It does add meaning for args (argv not shell string), overwrite (maps to -y/-n), and allow_any_path (path safety override). However, timeout_seconds and working_directory are not addressed at all, leaving those parameter semantics mostly to 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?

The description states a specific verb and resource: 'Run ffmpeg with an argv argument list (NOT a shell string).' It also distinguishes itself from sibling structured edit tools by saying 'Prefer structured edit tools when possible.' This makes the tool's scope and role immediately clear.

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 description gives clear guidance to prefer structured edit tools when possible, establishing when this low-level tool should be used. It also provides important context about path restrictions and overwrite behavior. It doesn't name specific sibling tools or give an explicit when-not-to-use list, but the guidance is directionally strong.

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