Skip to main content
Glama
DavidLearning1023

bilibili-info-gathering

grab_frames

Extracts exact frames at specified timestamps from a Bilibili video to verify numbers, names, or parameters that subtitles may have misread. Returns a contact sheet and per-frame files for reading table and chart values.

Instructions

按需抽帧:只在字幕出现「明显影响理解且无法纠正」的错误时用。

什么时候用

字幕/口播里出现数字、专有名词、参数名,且这个错会改变结论—— 不是"可能读错",是"读错了我就没法下判断"。这时抽该时间点附近的一张 画面确认。数字以画面为准,不以逐字稿为准。

⛔ 不要全片抽帧。 全片抽帧产出的是"我看过这个视频", 不是"我核对了这个数字"。先用判据筛,命中才抽。

quality:720 看画面结构够用;要读表格/榜单里的数字必须 1080 (实测 640×360 只能认出几个大字,格子里全是糊的)。

page:多 P 视频抽第几部分(默认 1)。视频流缓存按分P分目录, 否则抽 P2 会复用 P1 的视频流,抽出来的画面根本不是那一段。

需要 ffmpeg。没装时返回明确指引,不静默失败。

返回 {sheet, grid[]}:grid 里每项含 #编号 / sec / ts / file, 按编号回读原图取数字(联系表只用于定位)。

Input Schema

NameRequiredDescriptionDefault
bvidYes
pageNo
qualityNo
at_secondsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses the ffmpeg dependency, non-silent failure behavior, page-cache separation for multi-part videos, quality limitations for reading numbers, and the returned {sheet, grid[]} structure.

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 content is front-loaded and organized with clear sections, and most sentences earn their place. Some warnings and emphasis are repeated, making it slightly longer than necessary.

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 frame-extraction tool with no annotations and an output schema present, the definition provides enough context to call it correctly: trigger conditions, quality guidance, multi-part handling, dependency behavior, and return-value interpretation.

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 richly explains quality and page semantics, including practical consequences, and implies at_seconds usage around the error timestamp, but bvid and the exact array format of at_seconds are not explained.

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 action — extracting frames on demand — and sharply scopes it to cases where subtitle/transcript errors affect understanding. It also distinguishes the tool from the anti-pattern of extracting frames for the whole 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?

It gives explicit when-to-use criteria (numbers, proper nouns, parameter names whose misreading changes the conclusion) and a clear when-not-to-use warning against full-video extraction. It does not explicitly name an alternative sibling tool, so it falls short of a full 5.

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