accueil / serveurs / Dev & Code / top.toolboxes/subtitle-toolkit
top.toolboxes/subtitle-toolkit
serveur MCP (Model Context Protocol) · subtitle-toolkit 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que top.toolboxes/subtitle-toolkit est sûr ?
Au dernier audit MCP Hub, le serveur MCP « top.toolboxes/subtitle-toolkit » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 8 outils
- check_subtitle_timing≈ 214 tokens
Audit subtitle readability and produce a report: reading speed (CPS), cue durations that are too short or too long, lines that are too wide, more than two lines, and overlapping cues. Returns a formatted report listing every flagged cue.
Paramètres, retour & exemple (5)
Paramètrescontent· string · requis
The full subtitle file text.max_cps· number · optionnel
Max characters per second. Default 20.max_line_length· number · optionnel
Max characters per line. Default 42.max_duration_seconds· number · optionnel
Maximum cue duration in seconds. Default 7.min_duration_seconds· number · optionnel
Minimum cue duration in seconds. Default 0.833 (Netflix 5/6s).
Exemple d'appel{"name": "check_subtitle_timing", "arguments": {"content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clean_subtitles≈ 281 tokens
Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Returns the subtitle file in SRT or WebVTT.
Paramètres, retour & exemple (7)
Paramètresto· string · optionnel · srt | vtt
Output format. Default: same as the input.content· string · requis
The full subtitle file text.drop_empty· boolean · optionnel
Drop cues that become empty after cleaning. Default true.remove_tags· boolean · optionnel
Strip HTML/WebVTT tags and ASS override codes. Default true.drop_duplicates· boolean · optionnel
Drop cues whose text was already seen. Default false.remove_sound_cues· boolean · optionnel
Strip [Music], [Applause], ♪ ... ♪ and similar. Default true.remove_speaker_labels· boolean · optionnel
Strip leading "SPEAKER:" prefixes. Default false — enable only if you want them gone.
Exemple d'appel{"name": "clean_subtitles", "arguments": {"content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - convert_subtitle≈ 216 tokens
Convert subtitle text between formats. Reads SRT, WebVTT, ASS/SSA, YouTube SBV and TTML/DFXP; writes SRT, WebVTT, ASS, CSV or plain text. Format is auto-detected unless `from` is given.
Paramètres, retour & exemple (4)
Paramètresto· string · requis · srt | vtt | ass | csv | text
Target format. `text` = plain transcript, one line per cue, no timecodes.from· string · optionnel · auto | srt | vtt | ass | sbv | ttml
Source format (default "auto" = detect).dedupe· boolean · optionnel
Only for to="text": collapse consecutive identical lines (rolling-caption transcripts repeat lines). Default false.content· string · requis
The full subtitle file text.
Exemple d'appel{"name": "convert_subtitle", "arguments": {"to": "srt", "content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fix_subtitle_encoding≈ 180 tokens
Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: "é", "’", "привет". Returns the repaired text and how many passes were applied.
Paramètres, retour & exemple (3)
Paramètrestwice· boolean · optionnel
Set true when the text was mis-decoded twice (nested mojibake). Default false.content· string · requis
The garbled subtitle text.read_as· string · optionnel · auto | cp1252 | cp1251
Which encoding the file was wrongly read as. Default "auto" (tries cp1252 then cp1251).
Exemple d'appel{"name": "fix_subtitle_encoding", "arguments": {"content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - merge_subtitles≈ 176 tokens
Append one subtitle track after another (CD1 + CD2, or a second language track). The second track is offset so it starts after the last cue of the first, plus an optional gap.
Paramètres, retour & exemple (4)
Paramètresto· string · optionnel · srt | vtt
Output format. Default: same as the input.content· string · requis
The first subtitle file text.gap_seconds· number · optionnel
Extra gap between the two tracks, in seconds. Default 0.append_content· string · requis
The subtitle file text to append.
Exemple d'appel{"name": "merge_subtitles", "arguments": {"content": "texte", "append_content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - retime_subtitles≈ 222 tokens
Fix subtitle timing. Use offset_seconds for a uniform shift (whole track early/late). Use ratio, or from_fps/to_fps, for progressive drift caused by a frame-rate mismatch. Pass exactly one of the three.
Paramètres, retour & exemple (5)
Paramètresratio· number · optionnel
Scale all timings by this factor (new = old x ratio). e.g. 1.0427 for a 25→23.976 fps fix.to_fps· number · optionnel
The frame rate of the actual video (used with from_fps).content· string · requis
The full subtitle file text.from_fps· number · optionnel
The frame rate the subtitles were authored for (used with to_fps).offset_seconds· number · optionnel
Shift every cue by this many seconds. Negative = earlier. e.g. -2.5
Exemple d'appel{"name": "retime_subtitles", "arguments": {"content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - split_subtitles≈ 179 tokens
Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half.
Paramètres, retour & exemple (4)
Paramètresat· string · requis
Split point. Accepts "45:00", "1:02:03", "90" (seconds) or "1:02:03.500".to· string · optionnel · srt | vtt
Output format. Default: same as the input.part· string · optionnel · a | b
Which half to return. Default "a" (before the split point).content· string · requis
The full subtitle file text.
Exemple d'appel{"name": "split_subtitles", "arguments": {"at": "texte", "content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - text_to_subtitles≈ 192 tokens
Turn a plain transcript (one line per caption) into an SRT file with evenly spaced timecodes. Timing is a starting point, not a real transcription — say so when you present the result.
Paramètres, retour & exemple (4)
Paramètrescontent· string · requis
Plain text, one caption per line. Blank lines are skipped.start_seconds· number · optionnel
Timecode of the first cue, in seconds. Default 0.duration_seconds· number · optionnel
Seconds each cue stays on screen. Default 2.5.max_chars_per_cue· number · optionnel
Split longer lines into several cues at word boundaries. Default 0 = never split.
Exemple d'appel{"name": "text_to_subtitles", "arguments": {"content": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».