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.
profileYesExplicit 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.
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. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, yet the description adds substantial context: hard limits (1,000,000 chars / 10,000 cues), that findings and suggestions are separate from the source file, truncation to the first 1,000 details with exact totals, 422 on malformed input with no charge, sub-0.3s latency, and pricing/free-tier terms. That is exactly the beyond-annotations detail this dimension rewards.

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 and every sentence carries information, but the prose is dense and mixes provenance, pricing, latency and limits into one block. Slightly more grouping would improve scanability without losing content.

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?

Given an output schema exists, the description need not restate return shapes; it instead covers the edge cases an agent needs: input limits, format autodetection vs from_format, truncation behavior, error semantics, and cost. Nothing material is missing for correct invocation.

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: grapheme-cluster counting rather than bytes or display columns, provenance of each versioned profile (Netflix guides vs Tanod heuristics), and that intentional_overlaps only downgrades the overlap finding without modifying cues.

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 and resource ('Check subtitle delivery timing, line length and reading speed') plus cue-level SRT/WebVTT scope. It is clearly distinguishable from siblings like convert_subtitles or text_lines, which do conversion and line splitting rather than delivery QA.

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 audio alignment or missing-speech detection', 'No platform approval'), which implicitly routes audio-alignment or approval-seeking requests elsewhere. However, no sibling tool is named as an alternative, so the agent must infer that conversion belongs to convert_subtitles.

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