Skip to main content
Glama

getFrames

Read-only

Extract up to 12 still frames from a video or OpenScreen project at specified seconds, so you can inspect edits, zooms, callouts, or export moments.

Instructions

Look at a video as still images, at most 12 per call. Ask for the moments you need to check, such as each zoom and each callout. To check an edit, pass projectId: atSec are the ruler seconds the document tools use, mapped through the trims and speed regions to the moment the export plays them. You get the project's last export, or, when it has none or has changed since, the frames its export would show, rendered from the project without exporting it. With path instead, you get any video file (a take's videoPath, say) and atSec are that file's own seconds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoOr look at this video file.
atSecNoTimes in seconds: ruler seconds with projectId, the file's own with path.
countNoFrames spread evenly, when atSec is not given. Default 6.
projectIdNoLook at this project: its last export, or the frames an export would show.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.1

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, it discloses meaningful runtime behavior: with projectId you receive the last export, or, if none exists or it is stale, frames rendered from the project without exporting it — a non-obvious caching/fallback rule. It also surfaces the 12-frame ceiling, which the annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core capability and the 12-frame limit are front-loaded, then the two modes are explained in order. A few clauses (e.g., restating count's default/spread behavior already in the schema) border on redundant, but most sentences carry distinct information.

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 read-only tool with no output schema and four optional params, the description covers both modes, the return concept (still images), the frame cap, and the export-vs-render fallback. It does not describe the response shape (image format, ordering) or failure behavior, which is a modest gap.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes further by defining atSec's units precisely: ruler seconds mapped through trims and speed regions for projectId versus the file's own seconds for path. That mapping logic is not derivable from the schema alone.

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 opening sentence states a specific verb (look/view) and resource (a video as still images) and adds a hard scope limit (at most 12 per call). It is easily distinguished from siblings like getTranscript, getCursorTrack, and getCaptions, which return other artifacts of the same project.

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 a concrete when-to-use prompt ('Ask for the moments you need to check, such as each zoom and each callout') and clearly separates the two invocation modes (projectId for checking an edit, path for any video file). It stops short of naming an alternative tool or an explicit when-not-to-use condition.

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