Skip to main content
Glama
vive1101011

MoviePy MCP Server

by vive1101011

MoviePy MCP Server

An LLM-friendly Model Context Protocol server for video and audio editing, built on MoviePy v2 and FastMCP. It lets MCP clients (Claude Desktop, Claude Code, Cursor, etc.) trim, merge, resize, overlay, mix audio, and render video through natural language.

Design

The server is built around an in-memory clip registry:

  1. load_video / load_audio / load_image returns a clip_id.

  2. Every editing tool takes a clip_id and returns a new clip_id — operations chain without touching disk, and source clips are never mutated, so an agent can branch or retry any step.

  3. export_clip is the only tool that renders a file.

Every tool returns uniform metadata (duration_seconds, size, fps, has_audio, history), so the model always knows the state of an edit without extra probing. Errors are actionable: they name the bad argument, list known clip_ids, and suggest the fix.

Related MCP server: Video Edit MCP Server

Requirements

  • Python 3.10+

  • FFmpeg on your PATH (sudo apt install ffmpeg / brew install ffmpeg)

Installation

git clone <your-repo-url> moviepy-mcp
cd moviepy-mcp
pip install -e .
# or with uv:
uv pip install -e .

Run it directly to verify:

moviepy-mcp

Client configuration

Cursor (~/.cursor/mcp.json)

Add a moviepy entry under mcpServers (same shape as other local uv servers). Restart Cursor or reload MCP after saving:

{
  "mcpServers": {
    "moviepy": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:/Users/vivek/projects/moviepy-mcp",
        "python",
        "src/moviepy_mcp/server.py"
      ]
    }
  }
}

Replace the --directory path with your clone of this repo. uv run uses the project’s pyproject.toml / .venv, so you do not need a global moviepy-mcp install.

Claude Desktop / Claude Code (stdio)

If the package is installed (pip install -e . or uv pip install -e .):

{
  "mcpServers": {
    "moviepy": {
      "command": "moviepy-mcp"
    }
  }
}

Or without installing, via uv (one-shot deps):

{
  "mcpServers": {
    "moviepy": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "--with",
        "moviepy",
        "python",
        "/path/to/moviepy-mcp/src/moviepy_mcp/server.py"
      ]
    }
  }
}

Tools

Category

Tools

Load / create

load_video, load_audio, load_image, download_video, create_color_clip, create_text_clip, create_slideshow

Inspect

list_clips, get_clip_info, preview_frame, delete_clip

Time

trim, concatenate, crossfade, change_speed, loop_clip, reverse_clip, freeze

Geometry

resize, crop, rotate, mirror, even_size, reframe

Visual FX

fade, to_grayscale, adjust_colors, chroma_key, invert_colors, gamma_correct, multiply_color, add_margin, painting, blur, sharpen, set_opacity, freeze_region, slide_in, slide_out, scroll, ken_burns

Audio

set_volume, normalize_audio, delay_audio, set_stereo_volume, extract_audio, remove_audio, attach_audio, mix_audio_tracks, remove_silence

Compositing

overlay_clip, grid_clips, add_subtitles

Output

save_frame, export_image, export_clip

Example agent workflow

"Take intro.mp4, keep seconds 5–20, add the title 'Q2 Review' for the first 4 seconds, fade out at the end, and save as final.mp4."

The agent will typically call:

load_video(path="intro.mp4")                          -> video_a1b2c3d4
trim(clip_id="video_a1b2c3d4", start_seconds=5, end_seconds=20)
create_text_clip(text="Q2 Review", font_size=64, duration_seconds=4)
overlay_clip(base_clip_id=..., overlay_clip_id=..., position="top")
preview_frame(clip_id=..., time_seconds=0)
export_clip(clip_id=..., output_path="final.mp4")

Notes

  • Text rendering requires a font; pass font="/path/to/font.ttf" to create_text_clip if the default is unavailable on your system.

  • GIF export uses write_gif (defaults to 12 fps); everything else goes through FFmpeg.

  • The registry lives in server memory — restarting the server clears all clip_ids.

  • preview_frame returns an image to the model (downscaled to 640px by default). Use it after edits to verify before export_clip.

  • Clip metadata and a first-frame PNG are resources: clip://{clip_id}/info and clip://{clip_id}/frame.

  • crossfade dissolves overlapping clips; concatenate is still a hard cut.

  • even_size crops odd dimensions (H.264). add_subtitles accepts SRT or WebVTT via srt_text or srt_path.

  • download_video uses yt-dlp for YouTube and Instagram. Public URLs work as-is; private Instagram media may need cookies_from_browser (e.g. chrome) or a cookies_file. Respect each platform's terms of service and only download content you have rights to use.

  • reframe changes aspect ratio for Shorts/Reels-style output: mode="crop" center-crops to fill, mode="pad_blur" keeps the whole frame and fills the bars with a blurred, zoomed copy.

  • create_slideshow builds a video from a list of image paths in one call, with optional crossfade transitions and background audio (looped or trimmed to fit).

  • mix_audio_tracks layers audio clips simultaneously (voice + music + SFX) with per-track volume; concatenate still plays clips one after another.

  • remove_silence cuts near-silent gaps out of an audio or video clip (podcast/vlog jump-cut editing) based on a loudness threshold and minimum gap length.

  • save_frame and export_image take at_end=True to grab the last frame without knowing the exact duration.

License

MIT

Available Tools

27 tools
adjust_colorsC

Adjust brightness/contrast.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
contrastNo-1.0 to 1.0 (0 = unchanged, positive increases contrast).
brightnessNo-1.0 to 1.0 shift (0 = unchanged).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description is the only source for behavioral disclosure. It states the adjustment effect but does not mention whether the operation is destructive, mutates the clip in place, or returns a new asset, and gives no details on ordering of brightness vs contrast.

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 a single short sentence with no filler, front-loading the essential effect. It is concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and the simple but mutating nature of the tool, the description is too sparse to be fully complete. It omits usage context and behavioral side effects, although the output schema exists and parameters are partially self-documented.

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?

The schema already documents contrast and brightness ranges with 67% coverage. The description adds no new semantics beyond restating the parameter names in prose; clip_id's role is not explained, but the schema's coverage makes the description adequate.

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 clearly identifies the tool's function with a specific verb ('Adjust') and resource ('brightness/contrast'), distinguishing it from color-space conversion (to_grayscale) and other edits. However, it doesn't explicitly connect to 'colors' or mention the clip context, so it is clear but not fully differentiating within the sibling set.

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

Usage Guidelines2/5

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

No guidance is provided about when to use adjust_colors versus grayscale or other color tools. There are no prerequisites, exclusions, or alternative tool references in the description.

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

attach_audioB

Set or mix an audio track onto a video clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
audio_clip_idYesThe audio clip to attach.
video_clip_idYesThe video to receive audio.
mix_with_existingNoIf True and the video already has audio, mix both; if False, replace the existing track.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic operation without revealing side effects such as whether existing audio is replaced by default, whether the clip is modified in place, or any permission requirements. The parameter description for mix_with_existing covers some behavior, but the main description is insufficient.

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 a single, focused sentence with no redundant information. It is front-loaded with the action and object, making it easy to scan and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema and complete parameter definitions, which reduces the burden on the description. However, the description still lacks side-effect disclosure and usage context. Given the schema richness, the description is minimally adequate but not comprehensive.

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?

The input schema provides 100% parameter coverage with clear descriptions for each parameter (audio_clip_id, video_clip_id, mix_with_existing). The tool description adds no additional meaning beyond summarizing the action, so the baseline score of 3 is appropriate.

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 clearly identifies the action (set or mix) and the resources (audio track onto video clip), making it easy to understand. However, it does not explicitly differentiate from sibling tools like overlay_clip or set_volume, so it falls 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 Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or cases where another sibling (e.g., remove_audio) would be more appropriate.

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

change_speedB

Speed a clip up or down.

ParametersJSON Schema
NameRequiredDescriptionDefault
factorYes2.0 = double speed (half duration), 0.5 = slow motion.
clip_idYesSource clip.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the core action but does not explain whether the operation mutates the original clip, affects audio pitch, or has any limits. This is insufficient for safe and informed invocation.

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 a single, front-loaded sentence with no filler or redundant content. Every word earns its place, making it an ideal length for the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the operation is simple and an output schema exists, the lack of annotations means the description should cover behavioral caveats. It does not, leaving the agent without guidance on side effects or when to use it. However, the core purpose and parameters are clear enough for basic use.

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 coverage is 100%, and the schema itself provides a strong description of 'factor' with examples. The tool description adds no extra parameter semantics, but the baseline of 3 is appropriate given the high schema coverage.

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 clearly states the tool modifies a clip's playback speed with a specific verb ('Speed') and resource ('a clip'), distinguishing it from siblings like resize or trim. It is concise and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as trim for duration or resize for dimensions. There are no exclusions or alternative tool mentions, leaving the agent to infer usage context.

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

chroma_keyB

Mask a color in a video clip (chroma key / green screen).

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYesThe video or image clip.
color_rgbYesThe color to mask out as [R, G, B], e.g. [0, 255, 0] for green.
stiffnessNoEdge sharpness. Higher = harder edges; lower = softer. MoviePy default is 1.0.
thresholdNoEuclidean RGB distance tolerance. 0 = exact color only; try 20–100 for typical green-screen spill.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior itself. It only states the action and provides no details on whether the clip is mutated or a new clip is returned, how the masked area is treated (e.g., becomes transparent), or any potential side effects. This is insufficient for a tool with no annotation support.

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, concise sentence that immediately states the purpose and key alias. There is no filler or redundant information, making it optimally front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the output schema and parameter schema are rich, the description lacks crucial context about when to use the tool (versus alternatives) and behavioral outcomes. With no annotations, the description alone does not give an agent enough confidence about side effects or return behavior.

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?

The input schema already documents all four parameters with meaningful descriptions (e.g., color_rgb, stiffness, threshold). The tool description adds no extra parameter semantics beyond the schema, so the baseline score of 3 is appropriate given the high schema coverage.

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 uses a specific verb ('Mask') and resource ('a color in a video clip') plus the clarifying parenthetical '(chroma key / green screen)'. This clearly distinguishes it from sibling color tools like adjust_colors or to_grayscale.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as adjust_colors or to_grayscale. The context is implied by the 'green screen' mention, but there are no explicit usage scenarios or exclusions.

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

concatenateA

Join clips end-to-end, in the given order.

All ids must be the same kind (all video/image, or all audio).

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNo'compose' (safe for mixed resolutions, pads smaller clips) or 'chain' (faster, requires identical sizes). Video only.compose
clip_idsYesTwo or more clip_ids in playback order.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the same-kind requirement and the ordering behavior, but does not state whether the operation creates a new clip, modifies inputs, or is reversible. It also doesn't mention side effects or return behavior beyond the existence of an output schema. This gap is significant for a tool that likely creates a new resource.

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 two short sentences that immediately state the core function and the most critical constraint. Every sentence earns its place; no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has moderate complexity with an output schema and full parameter coverage. The description covers the main purpose and a key constraint but lacks explicit behavior on output creation or edge cases (e.g., empty list). It's adequate for basic use but not comprehensive.

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?

The schema covers 100% of parameter descriptions (clip_ids and method). The description adds no parameter-specific meaning beyond what the schema already provides—it simply restates the order for clip_ids and the type constraint. Baseline 3 applies because the schema does the heavy lifting.

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 clearly states the action: 'Join clips end-to-end, in the given order.' This is a specific verb (join) with a clear resource (clips) and an ordering constraint. It distinguishes from sibling tools like overlay_clip or trim which do different operations.

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 gives an implied usage context: concatenating clips in sequence. It also mentions a key constraint (all ids must be same kind). However, it does not explicitly state when to prefer this over alternatives (e.g., overlay_clip for compositing) or specify exclusions beyond the kind matching. The guidance is minimal.

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

create_color_clipA

Create a solid-color video clip (backgrounds, spacers, title cards).

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional human-readable name.
widthYesWidth in pixels.
heightYesHeight in pixels.
color_rgbYesColor as [R, G, B], each 0-255 (e.g. [0, 0, 0] for black).
duration_secondsYesClip duration.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It states that a new clip is created (a mutation) but does not disclose side effects, persistence, or authorization requirements. Given the simple nature of the tool and the presence of an output schema, this is adequate but not rich.

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 a single, focused sentence that conveys the tool's purpose and typical use cases without extraneous detail. It is concise and well-structured.

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?

Together with a full schema and output schema, the description provides sufficient context for a simple creation tool. The use cases add practical context, though it could be more complete by explicitly noting when not to use it. Still, it covers the essentials.

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 100%, meaning every parameter is already well-documented in the schema. The description adds no additional parameter semantics, so a baseline score of 3 is appropriate.

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 uses a specific verb ('Create') and resource ('solid-color video clip'), and provides concrete use cases ('backgrounds, spacers, title cards'). This clearly distinguishes it from sibling tools like create_text_clip and load_video.

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 implies when to use this tool through the listed use cases (backgrounds, spacers, title cards), which provides clear context. However, it does not explicitly name alternatives or exclusions, such as noting when to use load_video or create_text_clip instead.

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

create_text_clipA

Create a standalone text clip (titles, captions, credits).

To place text ON TOP of a video, create it here and then use overlay_clip with position and timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
fontNoOptional path to a .ttf/.otf font file. Uses a default font if omitted.
textYesThe text to render. Use \n for line breaks.
colorNoText color name or hex (e.g. 'white', '#FFD700').white
labelNoOptional human-readable name.
bg_colorNoOptional background color; transparent if omitted.
font_sizeNoFont size in points.
duration_secondsNoHow long the text displays.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool creates a standalone clip and hints at its life cycle by referencing overlay_clip. It does not mention details like return format, but the output schema covers that. Slight gap on side effects (e.g., whether the clip is stored persistently), but the core behavior is transparent.

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 two sentences, front-loaded with the primary action and purpose, and includes a critical usage note. Every sentence earns its place with no fluff or redundancy.

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?

For a straightforward creation tool with 7 well-documented parameters and an output schema, the description is complete. It explains the tool's role and the key workflow (using overlay_clip), which covers the contextual need.

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 coverage is 100%, with detailed descriptions for all 7 parameters (e.g., text, font, color, font_size). The description itself adds no extra parameter information, so the baseline of 3 applies; the schema handles parameter semantics.

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 clearly states the tool's purpose: 'Create a standalone text clip (titles, captions, credits).' It uses a specific verb and resource, and distinguishes itself from the sibling tool overlay_clip by explaining the difference between creating a clip and overlaying 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?

Explicit usage guidance is provided: 'To place text ON TOP of a video, create it here and then use overlay_clip with position and timing.' This directly tells the agent when to use this tool versus the alternative, making the decision clear.

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

cropB

Crop to the rectangle (x1, y1)-(x2, y2). Origin is the top-left.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It specifies the coordinate system (origin at top-left) but does not mention whether the operation modifies the clip in place or creates a new one, nor any side effects, bounds constraints, or return behavior.

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 a single concise sentence, front-loading the action and coordinates without any wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward geometric operation, the description covers the essential geometry but omits operational context such as whether a new clip is returned or the original is modified. The output schema exists but does not cover this behavior, so the description is adequate yet has clear gaps.

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?

The description adds meaning to the coordinate parameters by explaining they define a rectangle and that the origin is top-left. However, it does not clarify whether coordinates are inclusive/exclusive or what units are used, and clip_id is left to schema inference. Partial compensation for the 0% schema description coverage.

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 clearly states the tool's function: cropping a clip to a rectangle defined by (x1, y1)-(x2, y2). It uses a specific verb and resource, distinguishing it from sibling tools like resize or rotate.

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

Usage Guidelines2/5

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

No guidance is provided on when to use crop versus alternatives such as resize or rotate. There is no mention of prerequisites, exclusions, or typical use cases, leaving the agent to infer usage from the description alone.

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

delete_clipB

Remove a clip from the registry and free its resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Remove' and 'free its resources,' which implies permanence, but it does not explicitly state that the operation is irreversible, nor does it mention what happens if the clip_id is invalid or if the clip is currently referenced elsewhere. This leaves important side effects undisclosed.

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 a single, front-loaded sentence that immediately states the action and outcome. Every word earns its place, and there is no redundant or vague phrasing. This is exemplary concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with one parameter and an output schema, the description covers the core behavior. However, given zero annotations and zero parameter documentation, it lacks details on irreversibility and the exact meaning of clip_id. While the task is simple, the description misses opportunities to make the interpretation unambiguous, so it is only minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter, clip_id, with no description (0% schema coverage). The tool description does not mention clip_id at all, so it adds no meaning beyond the schema's bare type declaration. The agent must infer that clip_id references the clip to delete, which is not explicit.

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 uses the specific verb 'Remove' with the resource 'clip from the registry' and the outcome 'free its resources.' This clearly distinguishes it from sibling tools like load_video or export_clip, which perform creation/export operations. No ambiguity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as list_clips or get_clip_info. There is no mention of prerequisites, such as ensuring the clip is not in use, or exclusions. The agent is given no context to decide between this and other registry-modifying tools.

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

export_clipA

Render a clip to disk. THIS is the step that writes a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNoFrames per second for video (defaults to source fps or 24).
codecNoOptional codec override (e.g. 'libx264', 'libvpx').
bitrateNoOptional bitrate (e.g. '4000k').
clip_idYesThe clip to render.
output_pathYesDestination path. Extension picks the container: .mp4/.webm/.gif for video, .mp3/.wav/.ogg for audio.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool writes a file, but it does not mention potential side effects (e.g., overwriting files, required permissions, rendering time) or any other behavioral traits beyond the obvious write operation.

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 extremely concise—two sentences—and the main verb and resource are front-loaded. The second sentence adds emphasis and sibling differentiation without unnecessary fluff, so every word earns its place.

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?

Given the well-described schema (100% parameter coverage) and the existence of an output schema, the description is largely complete. It clearly states the tool's purpose and gives a key distinguishing detail. However, it does not mention potential caveats like file overwriting or when this step should be invoked in a pipeline, but those are partly covered under other dimensions.

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 100%, so the baseline applies. The description adds no parameter-specific information beyond what the schema already provides; it does not explain how fps, codec, bitrate, clip_id, or output_path should be used or constrained.

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 uses a specific verb ('Render') and resource ('a clip') with a clear destination ('to disk'), and the emphatic 'THIS is the step that writes a file' differentiates it from sibling tools that may perform other operations. It clearly states the tool's primary function.

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 usage as the file-writing/export step, but it provides no explicit guidance on when to use this tool versus alternatives (e.g., extract_audio, save_frame). There are no stated exclusions or conditions, so it only implicitly answers 'when to use this.'

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

extract_audioB

Pull the audio track out of a video as a new audio clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It mentions creating a new audio clip but does not clarify whether the original video is modified, whether the audio is copied or moved, or any format requirements. The phrase 'pull out' is ambiguous regarding the fate of the original audio.

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, focused sentence that immediately conveys the tool's purpose with no extraneous words. It is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with an output schema, the description covers the core action but lacks parameter semantics and behavioral details such as whether the original video is altered. It is adequate but leaves gaps that could confuse an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter clip_id with no description, and schema coverage is 0%. The description does not explain what clip_id refers to. While it is inferable as the source video clip, the tool description should explicitly state this to avoid ambiguity.

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 clearly states the action ('Pull the audio track out of a video') and the outcome ('as a new audio clip'). It distinguishes from siblings like remove_audio and attach_audio by specifying it creates a new clip.

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?

Usage is implied: use when you need the audio track as a separate clip. No explicit alternatives or exclusions are mentioned, but the sibling context suggests it differs from remove_audio (which likely removes audio without creating a separate clip) and attach_audio (which adds audio).

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

fadeB

Add fade-in and/or fade-out. Works for video (to black) and audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
fade_in_secondsNo
fade_out_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions fade-to-black for video but does not state whether the clip is modified in place, whether a new clip is returned, or any side effects or prerequisites. The behavioral burden is unmet.

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 two concise sentences, front-loaded with the action and key scope. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no annotations and an output schema, the description is incomplete. It does not clarify whether it applies to images (likely not), how the tool behaves with existing fades, or what the output represents. It leaves significant gaps for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 not name or explain the parameters beyond the effect name; the param names ('fade_in_seconds', 'fade_out_seconds') are self-explanatory, but the description adds no additional meaning about units, defaults, or behavior with zero values.

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 clearly states the action ('Add') and the resource ('fade-in and/or fade-out'), and it distinguishes the tool from siblings by noting it applies to video (to black) and audio. This is specific and unambiguous.

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 the tool is for adding fades to video or audio clips, giving some context. However, it does not explicitly state when to use this tool versus alternatives (e.g., set_volume for audio) or when not to use it, so guidance is implied rather than explicit.

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

get_clip_infoA

Get full metadata for one clip: duration, size, fps, audio, history.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates the operation is a read ('Get') and specifies the metadata returned, but does not explicitly state that it has no side effects, nor does it mention any permissions or error behavior. For a simple getter, this is adequate but not rich.

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 a single sentence, directly listing the metadata fields, with no superfluous information. It is front-loaded with the verb and resource.

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?

Given the tool's simplicity (one parameter) and the presence of an output schema, the description sufficiently covers the main purpose and the metadata fields returned. It does not mention prerequisites like clip existence or loading, but that is likely implied by the system's clip management context.

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?

The schema has one parameter (clip_id) with no description, and schema description coverage is 0%. The tool description compensates somewhat by stating 'for one clip', implying that clip_id identifies the clip of interest, but it does not explicitly describe the parameter format or provide examples. Since the parameter is self-evident from its name and the tool's purpose, a modest score is warranted.

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 clearly states the action ('Get') and the resource ('full metadata for one clip'), listing specific metadata fields (duration, size, fps, audio, history). This distinguishes it from sibling tools like list_clips, which likely lists clip identifiers rather than metadata.

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 does not explicitly state when to use this tool versus alternatives such as list_clips. However, the purpose is clear enough that usage is implied: when you need detailed metadata for a single clip, call this tool. No exclusions or alternative references are given.

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

list_clipsA

List every clip currently in the registry with its metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly states that the tool lists all clips and their metadata, with no hidden side effects or safety concerns. Given the simplicity of the operation, this is adequate disclosure.

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 sentence that is front-loaded with the action and resource, and free of any filler. Every word contributes to the tool's understanding.

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?

For a parameterless, read-only listing tool with an output schema defining the metadata structure, the description is complete. It states exactly what the tool does, and the schema covers the return format.

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?

The tool has zero parameters, so the description does not need to add parameter meaning. Baseline of 4 applies because there is nothing to describe beyond what the schema already indicates.

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 uses a specific verb ('List') and resource ('every clip currently in the registry'), clearly distinguishing it from sibling tools that manipulate or convert clips. It unambiguously states the scope (all clips) and includes metadata.

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 implies usage: when you need an overview of all clips in the registry. It does not explicitly mention alternatives like get_clip_info for individual clips, but the context is clear enough for an agent to select it appropriately.

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

load_audioA

Load an audio file (mp3, wav, aac, ogg...) into the registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the audio file.
labelNoOptional human-readable name for the clip.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It mentions supported formats but does not disclose side effects, error handling, registry semantics, or what the operation returns beyond what the output schema might indicate.

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 sentence with no fluff. It is front-loaded with the action and resource, and the format list is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, and the output schema covers return values, but the lack of behavioral detail and edge-case guidance makes it not fully complete. It is adequate but with clear gaps in handling errors or registry state.

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 coverage is 100%, so the schema fully documents both parameters. The description adds no parameter-specific semantics beyond the format list; the baseline of 3 is appropriate.

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 clearly states the verb 'load' and the resource 'audio file' with specific formats (mp3, wav, aac, ogg...), and the target 'registry'. This distinguishes it from sibling tools like load_video and load_image.

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 implies usage for audio files and the sibling context makes alternatives obvious, but it lacks explicit when-not or alternative guidance. The context is clear enough for an agent to choose correctly.

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

load_imageA

Load a still image (png, jpg...) as a video clip of fixed duration.

Useful for slideshows, intros, watermark sources, and overlays.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the image file.
labelNoOptional human-readable name.
duration_secondsNoHow long the image should display when used as video.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It adds the key detail that the image becomes a video clip of fixed duration, which is valuable. However, it does not mention side effects, such as whether the clip is stored or how it interacts with other clips, so it provides only partial transparency.

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 two sentences long, front-loaded with the primary action, and the second sentence adds practical use cases. Every word earns its place, with no redundancy or irrelevant detail.

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 simple load tool with full schema coverage and an output schema present, the description is complete enough. It covers what the tool does and when to use it. A minor gap is not specifying that the loaded image becomes a clip in the current session, but this is implied by the context.

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 100%, so the schema already fully documents all parameters. The description adds no additional meaning beyond the schema, such as format examples or relationships, so the baseline score of 3 is appropriate.

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 clearly states the tool loads a still image as a video clip with fixed duration, using a specific verb and resource. It also distinguishes itself from sibling tools like load_video and load_audio by focusing on still images.

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 provides clear use case context (slideshows, intros, watermark sources, overlays), which helps the agent decide when to use it. It does not explicitly mention alternatives or when not to use it, but for a simple load operation this is sufficient.

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

load_videoA

Load a video file (mp4, mov, avi, webm, mkv...) into the registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the video file.
labelNoOptional human-readable name for the clip.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It says 'into the registry,' indicating a side-effect on the registry, but does not explain error behavior, duplicate handling, file existence validation, or whether the operation is reversible. For a mutating operation, this is a significant gap.

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 a single, front-loaded sentence with no filler. It efficiently conveys the core purpose and format support, earning a perfect score for conciseness.

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?

Given the tool's simplicity (2 parameters, output schema present), the description is mostly complete. It specifies the resource type and registry destination, but lacks prerequisites like file existence or path accessibility. However, the output schema likely covers return values, and the schema covers parameter details. Minor gaps prevent a perfect score.

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?

The input schema provides 100% coverage for both parameters (path and label) with clear descriptions. The tool description adds no further parameter-specific meaning beyond listing supported formats. At baseline 3, the schema adequately carries the parameter semantics.

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 clearly states the action ('Load'), the resource ('a video file'), and the destination ('into the registry'). It lists common video formats, distinguishing it from sibling tools like load_audio and load_image. This is a specific verb+resource+scope.

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 implies usage by specifying 'video file' and listing formats, which naturally separates it from load_audio/load_image. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions (e.g., using load_audio for audio files). The context is clear but not explicit.

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

loop_clipA

Repeat a clip. Give either n_times OR total_duration_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
n_timesNo
total_duration_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without covering side effects (e.g., whether the original clip is modified), what happens if both parameters are provided, or return behavior. This is a significant gap.

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 a single concise sentence, front-loaded with the main action ('Repeat a clip') followed by a useful parameter hint. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks important behavioral details such as validation rules, edge cases, and side effects. With no annotations and no parameter descriptions, it is insufficient for complete understanding, even though an output schema may exist to explain return values.

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?

The schema has no descriptions (0% coverage), so the description adds value by clarifying the mutual exclusivity of n_times and total_duration_seconds, hinting that one should be provided. It does not explain units or exact effects, but the names are self-explanatory.

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 clearly states the tool repeats a clip, using a specific verb 'Repeat' and resource 'clip'. It distinguishes this from sibling tools like trim or change_speed by focusing on repetition as the core function.

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 provides parameter guidance ('Give either n_times OR total_duration_seconds') but no explicit when-to-use vs alternatives or exclusions. The usage is implied from the purpose, making it adequate but not explicit.

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

mirrorB

Flip a clip. axis: 'horizontal' (left-right) or 'vertical' (up-down).

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNohorizontal
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral expectations. It only explains the axis parameter but does not disclose whether the clip is modified in place or a new clip is returned, nor any side effects or limitations. The existence of an output schema is not enough to understand the side effects on the original clip.

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 extremely concise: one sentence for the action and one for the parameter definition. Every word adds value, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the operation (with one required parameter) and the presence of an output schema, the description is partially sufficient. It explains the crucial axis option but omits whether the original clip is altered, what input types are supported, and how results are returned. The sibling tool names imply a media context, but the description alone lacks full behavioral coverage.

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?

The description defines the axis parameter and its allowed values, which is valuable since the schema has 0% description coverage. However, it does not explain the required clip_id parameter, leaving it to the parameter name. The default value for axis is present in the schema but not in the description.

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 clearly states the operation ('Flip a clip') and defines the two axis options with directional meanings ('horizontal' left-right, 'vertical' up-down). It is specific about what the tool does, though it does not explicitly contrast with sibling tools like rotate or crop; the axis semantics make the operation clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention scenarios, exclusions, or distinguish mirror from related operations like rotate or resize. The axis definition implies usage but does not offer decision-making context.

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

overlay_clipA

Place one clip on top of another (text, watermark, picture-in-picture).

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoOptional exact x position in pixels (top-left of overlay).
yNoOptional exact y position in pixels.
opacityNo0.0 (invisible) to 1.0 (opaque).
positionNoOne of 'center', 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right'. Ignored if x and y are given.center
base_clip_idYesThe background/base video.
start_secondsNoWhen the overlay appears on the base timeline.
overlay_clip_idYesThe clip to draw on top (video, image, or text clip).
duration_secondsNoHow long it stays; defaults to overlay's duration.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description bears the full responsibility for behavioral disclosure. It only states the basic action and lacks information about whether the operation mutates the base clip, creates a new clip, or any side effects. It does not mention default timing, positioning behavior, or opacity handling, leaving significant gaps.

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 a single, compact sentence that immediately conveys the core purpose. It is well-structured and front-loaded, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no annotations, this description is minimal. While the output schema likely explains the return value, the description omits important operational context such as whether the base clip is modified, how the overlay is timed, and any limitations. It barely meets the minimum threshold.

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?

The input schema documents all 8 parameters with thorough descriptions (100% coverage), so the baseline is 3. The tool description adds no additional parameter semantics beyond what the schema already provides, though it does hint that overlay clips can be text, watermark, or video, which aligns with schema descriptions.

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 uses a clear verb ('Place') and identifies the resource ('one clip on top of another') with concrete examples (text, watermark, picture-in-picture), making the tool's function unambiguous. It distinguishes from siblings like concatenate or trim by specifying the compositing action.

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 implies usage for compositing overlays and provides concrete use cases (text, watermark, PiP), which gives clear context. However, it does not explicitly state when not to use this tool or mention alternatives, so it falls short of a 5.

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

remove_audioA

Return a muted copy of a video clip (audio track removed).

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It reveals that the operation is non-destructive ('copy') and that the audio track is removed. However, it does not disclose potential side effects, behavior when the clip lacks an audio track, or any permissions/constraints. No contradiction with annotations exists.

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 a single, front-loaded sentence with no filler. It communicates the essential operation and result efficiently.

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 simple tool with one parameter and an output schema, the description sufficiently explains the operation and non-destructive outcome. It lacks deeper context about edge cases or relationships to sibling operations, but these are not critical given the tool's simplicity.

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 adds 'video clip' context, implying clip_id identifies the source clip. However, it does not explicitly define clip_id or describe format/constraints. For a single, self-explanatory parameter, this minimal compensation is acceptable but not thorough.

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 clearly states the tool's function with a specific verb ('Return') and resource ('muted copy of a video clip'), and explicitly clarifies 'audio track removed'. This distinguishes it from sibling tools like extract_audio (extracts audio) or set_volume (adjusts volume).

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 purpose implies usage for removing audio from a video clip, but the description does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions. There is no direct comparison to siblings like extract_audio or attach_audio.

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

resizeA

Resize a video/image clip.

Give exactly one of: scale (e.g. 0.5), width, height, or width+height. A single dimension preserves aspect ratio.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
widthNo
heightNo
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions that a single dimension preserves aspect ratio and imposes exclusivity among parameters, but it does not state what happens if none or multiple are provided, nor whether the operation is destructive or returns a new clip. This is adequate but not thorough.

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 two short sentences, front-loaded with the purpose and followed by precise usage constraints. Every sentence earns its place with no redundancy.

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?

Given the simplicity of a resize operation and the existence of an output schema, the description covers the essential usage scenarios. It lacks info on error behavior or whether the clip is modified in place, but for a resize tool, the provided guidance is largely sufficient.

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 description coverage is 0%, so the description carries the burden of explaining parameters. It clarifies the meaning of 'scale' with an example, the notion of 'width' and 'height' as dimensions, and the combination 'width+height'. This adds value beyond the bare schema, though 'clip_id' remains implied.

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 clearly states the tool resizes a video/image clip, using the specific verb 'Resize' and a clear resource. It also differentiates from sibling tools like crop, rotate, and mirror by focusing on resizing dimensions/scale.

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?

Provides explicit guidance on how to specify dimensions: 'Give exactly one of: scale, width, height, or width+height' and explains that a single dimension preserves aspect ratio. However, it does not explicitly mention when to use this tool over alternatives, though the context is clear enough.

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

rotateB

Rotate counter-clockwise by the given degrees (use -90 for clockwise).

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
degreesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It discloses the counter-clockwise rotation and negative-degree convention, but omits whether the clip is modified in place, the return value, or any side effects, leaving significant behavioral ambiguity.

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 a single, focused sentence with no filler, efficiently conveying the core behavior and a key convention. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool, the description covers the primary operation but lacks usage guidance, side-effect disclosure, and explicit parameter semantics for clip_id. The presence of an output schema helps define return values, yet the description still leaves gaps in decision-making context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the only source of parameter meaning. It explains the degrees parameter's sign convention, but does not explain clip_id's role or expected format, leaving it under-specified.

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 clearly states the tool rotates counter-clockwise by the given degrees, with a sign convention note for clockwise rotation. This specific verb+resource clearly distinguishes it from sibling tools like mirror, resize, and crop.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use rotate versus alternative tools, nor any contextual cues about prerequisites or selection. It only states the operation itself, leaving the decision-making entirely to the agent.

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

save_frameA

Save a single frame of a video as an image (png/jpg).

Useful for thumbnails or letting the user preview an edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
output_pathYes
time_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It only mentions output format and purpose; it does not disclose whether the original video is modified, whether the output file is overwritten, or how time_seconds is interpreted. This is a significant gap for a tool that creates files.

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 short sentences, front-loaded with the primary action and then a brief use case. No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, no annotations, and 0% schema coverage, the description is underspecified. It doesn't mention return values, error conditions, or behavior for invalid time_seconds, so an agent may misinvoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description needs to compensate. It adds 'single frame' which implies time_seconds selects a frame, but it doesn't explain units, default, or output_path semantics. clip_id and output_path are left to inference from their names, offering minimal value beyond the schema.

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?

Description clearly states the tool saves a single frame from a video as an image file in png/jpg format. This is a specific verb+resource+format that distinguishes it from sibling tools like trim, export_clip, and load_image.

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?

States it is useful for thumbnails or previewing an edit, providing clear use case context. However, it doesn't explicitly mention when not to use it or name alternative frame-extraction tools.

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

set_volumeA

Scale volume: 0.5 = half, 2.0 = double, 0 = silent.

Works on audio clips and on the audio track of video clips.

ParametersJSON Schema
NameRequiredDescriptionDefault
factorYes
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It usefully explains factor semantics (0.5=half, 2.0=double, 0=silent) and the applicable media types, but does not disclose whether the operation mutates the original clip or returns a new one, nor any side effects or error conditions.

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 concise, with only two sentences, and is front-loaded with the most important information (the scaling examples). Every sentence adds value without redundancy.

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 simple transformation tool, the description is largely complete: it explains the purpose, target media types, and parameter semantics. An output schema exists to cover return values, so the only notable gap is the lack of side-effect disclosure (mutation vs. new clip).

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 description coverage is 0%, so the description must compensate. It explicitly explains the 'factor' parameter with three concrete examples, which is highly valuable. The 'clip_id' parameter is self-explanatory from its name, but no constraints (e.g., accepted range for factor) are provided.

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 uses the specific verb 'Scale volume' and names the exact resource (audio clips and audio track of video clips). It clearly distinguishes the tool from unrelated siblings like adjust_colors or to_grayscale.

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 clearly states the context of use by specifying that it works on audio clips and video clips' audio tracks. However, it does not explicitly mention when not to use it or name any alternatives, though none are obvious among siblings.

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

to_grayscaleC

Convert a video/image clip to black and white.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It only states the conversion action without revealing side effects, whether the input is modified in place, or whether a new clip is returned. This minimal description leaves important behavioral traits unspecified.

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 a single, clear sentence with no redundancy. It front-loads the action and is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is quite incomplete. It doesn't explain the operation's effect on the original clip, whether it creates a new clip, or how the output is structured, despite the presence of an output schema. The lack of annotations further limits contextual completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes only clip_id, and the description makes no mention of parameters or their roles. With 0% schema description coverage, the description adds no value in explaining the parameter's purpose or format, leaving the agent to rely solely on the property name.

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 clearly states the tool's function: converting a video/image clip to black and white. It uses a specific verb and resource, and the 'to grayscale' name aligns with the description, differentiating it from siblings like adjust_colors which handle broader color adjustments.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not specify when to prefer this tool over alternatives like adjust_colors, nor does it mention any prerequisites or exclusions. The only hint is the action itself, which is not sufficient.

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

trimB

Cut a clip to the range [start_seconds, end_seconds].

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYesSource clip (video or audio).
end_secondsNoWhere it ends; omit to keep everything after start.
start_secondsYesWhere the trimmed clip begins.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It states the core operation but does not specify whether the source clip is modified in place, a new clip is created, or what happens to the original. It also lacks edge-case details (e.g., start > end, negative values) and any mention of output behavior. This is a significant gap for a mutation tool.

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 a single sentence, front-loaded with the action and parameters. Every word earns its place, and it is sufficiently concise without sacrificing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so return values are covered. However, the description omits key behavioral context such as whether the original clip is preserved or replaced, which is essential for safe use in an editing workflow. The schema covers parameters, but the missing side-effect information makes the description incomplete.

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?

The schema already describes all three parameters with 100% coverage, providing clear meanings for clip_id, start_seconds, and end_seconds. The description adds the concept of a 'range' but does not provide additional semantic depth beyond what the schema states. Baseline 3 is appropriate.

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 'Cut a clip to the range [start_seconds, end_seconds]' clearly states the operation (cut), the resource (clip), and the precise parameters (start and end seconds). This distinguishes trim from sibling tools like crop (spatial) and change_speed (temporal speed), making it unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided about when to use trim versus alternatives. The description does not mention exclusions, prerequisites, or cases where another tool (e.g., crop, fade) would be more appropriate. Users must infer usage from the name and the parameter schema.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 27 tool updatesv0.1.0
    • First observedadjust_colors
    • First observedattach_audio
    • First observedchange_speed
    • First observedchroma_key
    • First observedconcatenate
    • First observedcreate_color_clip
    • First observedcreate_text_clip
    • First observedcrop
    • First observeddelete_clip
    • First observedexport_clip
    • First observedextract_audio
    • First observedfade
    • First observedget_clip_info
    • First observedlist_clips
    • First observedload_audio
    • First observedload_image
    • First observedload_video
    • First observedloop_clip
    • First observedmirror
    • First observedoverlay_clip
    • First observedremove_audio
    • First observedresize
    • First observedrotate
    • First observedsave_frame
    • First observedset_volume
    • First observedto_grayscale
    • First observedtrim

TDQS

A3.6/5.0

Scored across 27 tools

Disambiguation5/5

Every tool targets a distinct operation: loading, creating, transforming, compositing, audio handling, and exporting. Even related tools like adjust_colors and to_grayscale are clearly separate, with no ambiguous overlap.

Naming Consistency5/5

Tool names are consistently lowercase snake_case, mostly following a verb_noun pattern (load_video, create_text_clip, export_clip). A few single-word verbs (resize, trim, fade) and to_grayscale are minor deviations but do not break the overall predictable style.

Tool Count2/5

With 27 tools, this server is well above the 3-15 tool sweet spot for MCP coherence. The large number increases agent selection difficulty and could be split into focused sub-servers (e.g., core editing vs. audio vs. compositing).

Completeness5/5

The server covers the full editing lifecycle: import (load_*), creation (create_*), inspection (list, get, delete), modification (trim, resize, rotate, etc.), compositing (overlay, attach), and export (export_clip, save_frame). No obvious gap for standard MoviePy workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    A lightweight server that exposes FFmpeg's video processing capabilities to AI assistants through the Model Context Protocol (MCP), supporting operations like video format conversion, audio extraction, and adding watermarks.
    8
    22
    25
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants to perform comprehensive video and audio editing operations including trimming, effects, overlays, audio processing, and YouTube downloads.
    25
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables LLMs to perform FFmpeg operations like clipping, merging, extracting audio, adding subtitles, and transcoding videos via a set of tools exposed as an MCP server.
    5
    9
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vive1101011/moviepy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server