Skip to main content
Glama

Grab stills for thumbnails

extract_frames

Extracts evenly spaced stills or frames at specified seconds from a local video, saving 1280-wide JPGs for thumbnail candidates or references; requires ffmpeg.

Instructions

Saves evenly spaced stills (or stills at given seconds) from a local video as 1280-wide JPGs, as thumbnail candidates or as references for generate_thumbnails. Needs ffmpeg.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "file_path": "<file_path>"
    },
    "name": "extract_frames"
  }
}

Input Schema

NameRequiredDescriptionDefault
countNo
file_pathYes
at_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A4/5.0
Behavior3/5

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

The description adds genuinely useful context beyond annotations by naming the external ffmpeg dependency, which the agent must verify. Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-side risk profile is covered, but the description never says where the JPGs are written, how they are named, or whether existing files are overwritten — meaningful gaps for a filesystem-writing 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?

A single sentence with no filler; the action and output format are front-loaded, and the purpose clause follows. Every clause carries information the agent cannot get from the schema or annotations.

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 three-parameter file-producing tool with no output schema, the description covers purpose, output format, dependency, and the downstream consumer. The main missing piece is what the call returns (paths? count?) and the destination directory, which matters because no output schema documents the response.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it partially does: "evenly spaced" explains the count parameter and "stills at given seconds" explains at_seconds. It says nothing about the default of 8, the 1–24 bounds, or that file_path must point to a local video, leaving the required parameter's key constraint only implicit in the word "local".

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("saves evenly spaced stills ... from a local video"), specifies the output format (1280-wide JPGs) and sampler mode (even spacing or explicit seconds). It also distinguishes the result's role from the sibling generate_thumbnails, so an agent can tell the two apart without opening a schema.

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

Usage Guidelines4/5

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

It gives clear context for when to reach for this tool: to obtain thumbnail candidates or reference frames before calling generate_thumbnails. It does not state when not to use it (e.g., that generate_thumbnails or critique_thumbnails handles the actual generation/scoring), so routing is implied rather than fully spelled out.

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