Subtitle Toolkit
Ce que fait ce MCP
Converts, cleans, retimes, merges, splits, validates, and repairs subtitle files in common caption formats.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'The full subtitle file text.'}, 'max_cps': {'type': 'number', 'description': 'Max characters per second. Default 20.'}, 'max_line_length': {'type': 'number', 'description': 'Max characters per line. Default 42.'}, 'max_duration_seconds': {'type': 'number', 'description': 'Maximum cue duration in seconds. Default 7.'}, 'min_duration_seconds': {'type': 'number', 'description': 'Minimum cue duration in seconds. Default 0.833 (Netflix 5/6s).'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content'], 'properties': {'to': {'enum': ['srt', 'vtt'], 'type': 'string', 'description': 'Output format. Default: same as the input.'}, 'content': {'type': 'string', 'description': 'The full subtitle file text.'}, 'drop_empty': {'type': 'boolean', 'description': 'Drop cues that become empty after cleaning. Default true.'}, 'remove_tags': {'type': 'boolean', 'description': 'Strip HTML/WebVTT tags and ASS override codes. Default true.'}, 'drop_duplicates': {'type': 'boolean', 'description': 'Drop cues whose text was already seen. Default false.'}, 'remove_sound_cues': {'type': 'boolean', 'description': 'Strip [Music], [Applause], ♪ ... ♪ and similar. Default true.'}, 'remove_speaker_labels': {'type': 'boolean', 'description': 'Strip leading "SPEAKER:" prefixes. Default false — enable only if you want them gone.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content', 'to'], 'properties': {'to': {'enum': ['srt', 'vtt', 'ass', 'csv', 'text'], 'type': 'string', 'description': 'Target format. `text` = plain transcript, one line per cue, no timecodes.'}, 'from': {'enum': ['auto', 'srt', 'vtt', 'ass', 'sbv', 'ttml'], 'type': 'string', 'description': 'Source format (default "auto" = detect).'}, 'dedupe': {'type': 'boolean', 'description': 'Only for to="text": collapse consecutive identical lines (rolling-caption transcripts repeat lines). Default false.'}, 'content': {'type': 'string', 'description': 'The full subtitle file text.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content'], 'properties': {'twice': {'type': 'boolean', 'description': 'Set true when the text was mis-decoded twice (nested mojibake). Default false.'}, 'content': {'type': 'string', 'description': 'The garbled subtitle text.'}, 'read_as': {'enum': ['auto', 'cp1252', 'cp1251'], 'type': 'string', 'description': 'Which encoding the file was wrongly read as. Default "auto" (tries cp1252 then cp1251).'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content', 'append_content'], 'properties': {'to': {'enum': ['srt', 'vtt'], 'type': 'string', 'description': 'Output format. Default: same as the input.'}, 'content': {'type': 'string', 'description': 'The first subtitle file text.'}, 'gap_seconds': {'type': 'number', 'description': 'Extra gap between the two tracks, in seconds. Default 0.'}, 'append_content': {'type': 'string', 'description': 'The subtitle file text to append.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content'], 'properties': {'ratio': {'type': 'number', 'description': 'Scale all timings by this factor (new = old x ratio). e.g. 1.0427 for a 25→23.976 fps fix.'}, 'to_fps': {'type': 'number', 'description': 'The frame rate of the actual video (used with from_fps).'}, 'content': {'type': 'string', 'description': 'The full subtitle file text.'}, 'from_fps': {'type': 'number', 'description': 'The frame rate the subtitles were authored for (used with to_fps).'}, 'offset_seconds': {'type': 'number', 'description': 'Shift every cue by this many seconds. Negative = earlier. e.g. -2.5'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content', 'at'], 'properties': {'at': {'type': 'string', 'description': 'Split point. Accepts "45:00", "1:02:03", "90" (seconds) or "1:02:03.500".'}, 'to': {'enum': ['srt', 'vtt'], 'type': 'string', 'description': 'Output format. Default: same as the input.'}, 'part': {'enum': ['a', 'b'], 'type': 'string', 'description': 'Which half to return. Default "a" (before the split point).'}, 'content': {'type': 'string', 'description': 'The full subtitle file text.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'Plain text, one caption per line. Blank lines are skipped.'}, 'start_seconds': {'type': 'number', 'description': 'Timecode of the first cue, in seconds. Default 0.'}, 'duration_seconds': {'type': 'number', 'description': 'Seconds each cue stays on screen. Default 2.5.'}, 'max_chars_per_cue': {'type': 'number', 'description': 'Split longer lines into several cues at word boundaries. Default 0 = never split.'}}}
Modifications récentes des outils
Serveurs MCP similaires
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
Social Fetch
Retrieves public content and metadata from social networks, music services, Facebook Marketplace, events, profiles, posts, commen…
Hermoso
Supports ad research, competitor analysis, video and static ad creation, campaign policy checks, content publishing, and performa…
ElevenLabs
Manages ElevenLabs speech, voices, pronunciation dictionaries, podcasts, dubbing, audio projects, workspaces, and related media r…
John's Essentials
Analyzes and converts documents, images, audio, video, archives, data files, and other media formats, with PDF chat and file insp…
MiOffice — AI-Powered Workspace Studio
Provides browser-based tools for processing PDFs, images, video, and audio, including generation, enhancement, conversion, transc…
BlitzReels Video Editor
Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound e…
Heista
Analyzes video advertising, builds brand intelligence profiles, researches markets, and generates advertising scripts and creativ…