Skip to main content
Glama

read_frame_at

Fetch a single frame at a given timestamp with a Qwen3-VL visual description and optional original image, so agents can inspect specific video moments without downloading the entire video.

Instructions

按需讀單幀,返回 [本地 VLM 描述 + 原始圖片] 雙重視角。

include_image 參數(支持字符串形式 "true"/"false"):

  • True(默認):返回 [TextContent, ImageContent]

  • False:只返回 [TextContent]——適合客戶端處理圖片有 bug 的場景

無論 include_image 是 True 還是 False,TextContent 裡始終包含 Qwen3-VL 27B 生成的完整畫面描述 + 提取的斷言。

  • 只下載 timestamp ±2 秒的片段(~200KB),不整片下載

  • 命中 cache/frames/{video_id}/{rounded_ts}_{quality}.jpg 則直接返回

  • quality 可選:240p | 360p | 720p(默認)

Input Schema

NameRequiredDescriptionDefault
qualityNo720p
video_idYes
timestampYes
include_imageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses that only a timestamp ±2s segment (~200KB) is downloaded rather than the full video, that cache/frames/{video_id}/{rounded_ts}_{quality}.jpg short-circuits the request, and exactly what content blocks are returned in each mode. It omits error behavior and any permission or rate considerations.

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?

Purpose is front-loaded in the first line, then organized into return-shape, include_image, and download/cache bullets. Slightly padded by the mid-sentence line break and a partly redundant restatement that TextContent always carries the description, but nothing is wasted.

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?

With no annotations and no output schema, the description correctly takes on return-value explanation (TextContent vs ImageContent, Qwen3-VL description plus extracted assertions) and cost/caching behavior. The remaining gap is undocumented video_id/timestamp semantics, which an agent must guess.

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 does for two of four params: include_image gets full semantics including the string-form "true"/"false" quirk, and quality gets its enum values (240p/360p/720p, default 720p) that the schema lacks. video_id format and timestamp units/range are never explained beyond the ±2s window hint.

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?

States a specific verb and resource: read a single frame on demand at a timestamp, returning a dual VLM description + original image. That is clearly distinct from list_videos/get_video (whole-video metadata) and preview_keyframe_selection (selection preview), though it never names those siblings explicitly.

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?

Gives a concrete when-to-use rule for include_image (True by default; False for clients with image-rendering bugs), which is genuinely actionable. However, it gives no guidance on when to call this instead of get_video, preview_keyframe_selection, or analyze_video, leaving the sibling choice to inference.

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