Skip to main content
Glama

Scene changes

brief_scenes
Read-only

Detect substantial screen changes in a video and return timestamps for page switches, modals, and new views, optionally with frames, to anchor review moments.

Instructions

Finds moments the screen changes substantially (page switch, modal, new view) — better anchors than fixed intervals. Returns the times, and with withFrames the frames too (capped). Decodes the whole range once, so allow ~1 minute per 10 minutes of video.

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": {
      "path": "<path>"
    },
    "name": "brief_scenes"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoSeconds, "MM:SS" or "HH:MM:SS"
fromNoSeconds, "MM:SS" or "HH:MM:SS"
pathYesAbsolute path to the video (or audio) file
widthNoFrame width in px (default 1000)
minGapNoIgnore changes closer than this many seconds to the previous one (default 4)
thresholdNoScene score 0–1 (default 0.25; lower finds more)
withFramesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only and non-destructive annotations, it discloses output behavior—times by default and capped frames with withFrames—and processing behavior, namely that the whole range is decoded once. The estimate of roughly one minute per ten minutes of video is valuable practical guidance for potentially slow calls.

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?

Three compact sentences front-load the purpose, then cover outputs and runtime cost without filler. The duplicated wording in "with withFrames" is a minor blemish but does not impede interpretation.

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 seven-parameter tool without an output schema, the description covers the essential purpose, optional frame output, and significant performance cost. It would be more complete with the actual frame cap, a clearer result shape, or explicit routing to brief_frames for fixed-interval sampling.

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 86%, so most parameters are already documented; the description usefully explains the otherwise undocumented withFrames flag and notes that its frame output is capped. It does not quantify that cap or add further guidance for threshold, minGap, or range selection.

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 specifies the operation and resource: detecting substantial visual changes in a video, with examples including page switches, modals, and new views. "Better anchors than fixed intervals" also distinguishes its scene-based results from fixed-interval frame sampling tools such as brief_frames.

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 provides a clear use case: use substantial screen changes as anchors instead of fixed intervals. It does not explicitly name the sibling to use for fixed-interval sampling or state when scene detection is unsuitable.

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