Skip to main content
Glama

utilpeek: check subtitle timing, line length and reading speed

check_subtitle_delivery
Read-onlyIdempotent

utilpeek: Check subtitle delivery timing, line length and reading speed. Returns a cue-level SRT/WebVTT delivery review with versioned language/audience profiles: en-US-adult-v1, en-US-children-v1, ja-adult-v1 and ar-adult-v1. Checks overlaps, minimum gaps, duration, line length, line count and characters per second (Unicode grapheme clusters, not bytes or display columns). At most 1,000,000 characters and 10,000 cues. Findings and suggestions are separate from the original file and cues. No platform approval. English profiles are based on official Netflix guides read 2026-10-22; Japanese/Arabic profiles are Tanod heuristics. Counting and the 80 ms gap are Tanod choices. No audio alignment or missing-speech detection. First 1,000 finding details, exact totals. Malformed input is a 422, not charged. Typically under 0.3 s. Price: USD 0.002. Free: 10 utilpeek calls per IP per UTC day.

Input Schema

NameRequiredDescriptionDefault
contentYesSRT or WebVTT text, at most 1,000,000 characters and 10,000 cues. Preserved verbatim in original_content.
profileYesVersioned language/audience rules: English profiles derive from Netflix guides; Japanese/Arabic are Tanod heuristics, not platform approval. Full timing, line/CPS and grapheme rules and source links are in the returned profile.
from_formatNoOptional input format; otherwise detect WEBVTT header.
intentional_overlapsNoUnique 1-based cue numbers in file order: downgrade only their overlap finding to a warning, e.g. concurrent speakers. No cue is modified; other checks still apply.

Output Schema

NameRequiredDescriptionDefault
cuesNo
fromNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
metricsNo
profileNo
summaryNo
findingsNo
operationNo
truncatedNo
limitationsNo
suggestionsNo
original_contentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / profile / description
      Previous value: -"Explicit versioned language/audience profile. en-US adult/children: based on Netflix general and US-English guides read 2026-10-22 (834-7000 ms, 42 characters/line, 2 lines, 20/17 CPS). ja-adult: Tanod heuristic (1000-7000 ms, 20/line, 2 lines, 8 CPS); ar-adult: Tanod heuristic (1000-7000 ms, 42/line, 2 lines, 17 CPS). All use Tanod's 80 ms minimum gap and grapheme counting; not platform approval. Full rules and official source URLs are returned in profile."New value: +"Versioned language/audience rules: English profiles derive from Netflix guides; Japanese/Arabic are Tanod heuristics, not platform approval. Full timing, line/CPS and grapheme rules and source links are in the returned profile."
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: input caps (1,000,000 chars, 10,000 cues), truncation behavior (first 1,000 finding details with exact totals), malformed input being a 422 not charged, typical latency under 0.3 s, price and free-tier limits. Provenance of rules (Netflix guides vs Tanod heuristics) is also disclosed.

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 purpose and return shape, and nearly every clause carries operational information. The telegraphic fragments ('No platform approval.', 'First 1,000 finding details, exact totals.') cost a little readability, but nothing is padding.

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 full schema descriptions, an output schema, and safety annotations already in structured fields, the description fills remaining gaps: limits, truncation, error behavior, pricing, and rule provenance. An agent has everything needed to call it correctly and interpret cost/limits.

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 baseline is 3, but the description adds real meaning: it enumerates the versioned profile IDs and clarifies that counting uses Unicode grapheme clusters, not bytes or display columns. The from_format and intentional_overlaps semantics are left to the schema.

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?

States a specific verb+resource (check subtitle delivery timing, line length, reading speed) and what it returns (cue-level SRT/WebVTT delivery review). Clear enough to distinguish from siblings like convert_subtitles or text_stats without opening the schema.

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?

Scope exclusions are explicit: 'No platform approval', 'No audio alignment or missing-speech detection', so an agent knows what it will not get. It does not explicitly name alternatives (e.g., convert_subtitles for format conversion), which keeps it from a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources