Skip to main content
Glama

Subtitles

video_subtitles
Read-only

Read subtitles from local media files and return timestamped text segments from an explicit transcript, embedded subtitle track, or auto-discovered sibling file.

Instructions

Read subtitles for a local media file and return them as timestamped segments. (读取本地字幕文件或视频内嵌字幕轨,解析成带时间轴的段落列表。)

Two sources, in this order: an explicit transcriptFile (a local .srt, .vtt, .ass or .ssa file), or the subtitle track embedded in the container. Auto-discovery also picks up a sibling file with the same base name in the same directory (a.srt next to a.mp4) when neither of the above is available — the source and the exact path are always reported back, never silently.

No image and no pixels spent: the result is text with millisecond and second timestamps. Use media_locate to search inside the subtitles. Use media_overview if you also want to see what is on screen.

Input Schema

NameRequiredDescriptionDefault
endNoWindow end in seconds (closed interval, both ends included). Applicable to video and audio only. Defaults to the end of the media; a value past the end is clipped and reported. (终点,秒)
pathYesAbsolute path to a LOCAL file: video, audio recording, or document. URLs and relative paths are rejected — this server never downloads anything. (本地文件绝对路径)
pagesNoPage range for document media: comma-separated 1-based page numbers and closed ranges, e.g. "3-10,15". Not applicable to video or audio. (页码范围)
startNoWindow start in seconds (closed interval, both ends included). Applicable to video and audio only; document media uses "pages" instead. Default 0. (起点,秒)
transcriptFileNoAbsolute path to a local subtitle/transcript file (.srt, .vtt, .ass, .ssa). Applicable to video and audio only. (本地字幕/转写文件)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this read-only and closed-world, and the description adds real context beyond them: the three-tier source fallback, the guarantee that source and exact path are always reported and 'never silently' resolved, and the cost note that no images/pixels are spent. That is exactly the kind of disclosure an agent needs for a fallback-laden tool.

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?

Front-loaded with the core statement, then source order, then cost, then siblings — a clean information hierarchy. Slightly longer than necessary because of the mirrored Chinese parentheticals that duplicate the English content without adding information.

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?

With no output schema, the description picks up the slack by characterizing the return value (text with millisecond/second timestamps) and the metadata echoed back (source and exact path). Nothing an agent needs to invoke this correctly appears to be missing.

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 schema carries the mechanical burden (start/end/pages/transcriptFile all documented). The description still adds semantic value by explaining that transcriptFile takes precedence over the embedded track and that format support is limited to .srt/.vtt/.ass/.ssa, though it says nothing about how pages interacts for document media.

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?

Opens with a specific verb+resource+output shape ('Read subtitles for a local media file and return them as timestamped segments'), which is unambiguous and clearly distinct from siblings like media_probe or media_overview. An agent knows exactly what it gets back.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use media_locate to search inside subtitles, use media_overview to also see on-screen content. It also defines the source resolution order (transcriptFile > embedded track > auto-discovered sibling), which is the key invocation decision.

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