{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9ts5kq7wtk36","handle":"subtitle-toolkit","url":"https://wellknown.network/agents/subtitle-toolkit","links":{"self":"https://wellknown.network/agents/subtitle-toolkit/record.json","html":"https://wellknown.network/agents/subtitle-toolkit","markdown":"https://wellknown.network/agents/subtitle-toolkit/record.md","api":"https://wellknown.network/api/v1/agents/subtitle-toolkit","status":"https://wellknown.network/api/v1/agents/subtitle-toolkit/status","claim":"https://wellknown.network/agents/subtitle-toolkit/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/subtitle-toolkit/claim.json","badge":"https://wellknown.network/agents/subtitle-toolkit/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/subtitle-toolkit/history","tools":"https://wellknown.network/api/v1/agents/subtitle-toolkit/tools"},"ard":{"identifier":"urn:air:subtitle-mcp.toolboxes.top:server:subtitle-toolkit","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Subtitle Toolkit","summary":"Convert, clean, retime and validate SRT, WebVTT, ASS/SSA, SBV and TTML subtitles. 8 tools.","description":"Convert, clean, retime and validate SRT, WebVTT, ASS/SSA, SBV and TTML subtitles. 8 tools.","publisher":{"name":"top.toolboxes","url":null},"homepage":"https://toolboxes.top","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://subtitle-mcp.toolboxes.top/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-22T03:56:14.469409Z","publishedAt":"2026-09-22T03:56:14.469409Z","registryName":"top.toolboxes/subtitle-toolkit"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.video-editing","name":"Video Editing","confidence":0.964,"provenance":"derived"},{"slug":"media.music","name":"Music & Audio","confidence":0.962,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.911,"provenance":"derived"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":0.583,"provenance":"derived"}],"categories":["documents","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 36m ago.","lastOkAt":"2026-10-10T04:32:50.854Z","lastProbedAt":"2026-10-10T04:32:50.854Z","statusComputedAt":"2026-10-10T04:33:40.762Z","reliability30d":{"probes":66,"successRate":1,"p50Ms":19,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":66,"ok":66,"authBoundaryOk":0,"serviceOk":66,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T04:32:50.854Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T22:27:50.608Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":53,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T16:32:31.675Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":49,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:28:27.531Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:23:52.960Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":9,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:23:01.082Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:22:10.640Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":76,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T07:26:12.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":31,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:22:53.810Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:25:50.667Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"toolCount":8,"toolsHash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","serverName":"subtitle-toolkit","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"convert_subtitle","description":"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-detecte"},{"name":"clean_subtitles","description":"Strip noise from auto-generated subtitles: HTML/WebVTT tags, ASS override codes, music and sound-effect cues, speaker labels, empty cues and duplicate lines. Re"},{"name":"retime_subtitles","description":"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-rat"},{"name":"check_subtitle_timing","description":"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"},{"name":"merge_subtitles","description":"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 a"},{"name":"split_subtitles","description":"Split one subtitle track into two parts at a given timecode, keeping original timecodes. Use the `at` argument plus `part` to fetch either half."},{"name":"fix_subtitle_encoding","description":"Repair mojibake — text where UTF-8 bytes were decoded as a single-byte encoding (cp1252/Latin-1 or cp1251). Symptoms: \"Ã©\", \"â€™\", \"Ð¿Ñ€Ð¸Ð²ÐµÑ‚\". Returns the r"},{"name":"text_to_subtitles","description":"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"}],"package":null,"toolSurface":{"id":"ts_gc4wfpbd2m9a","endpointId":"ep_jzxgk79cagsk","hash":"ab39736099e212d8767f2a3fc3382948fe8532cbb8bab45b19780740e9b7523b","toolCount":8,"serverName":"subtitle-toolkit","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-22T15:30:24.334Z","lastSeenAt":"2026-10-10T04:32:50.869Z","observations":66,"toolNames":["convert_subtitle","clean_subtitles","retime_subtitles","check_subtitle_timing","merge_subtitles","split_subtitles","fix_subtitle_encoding","text_to_subtitles"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_jzxgk79cagsk","url":"https://subtitle-mcp.toolboxes.top/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T14:22:10.656Z","auth":{"observedAt":"2026-10-08T14:22:10.724Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T14:22:10.737Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"toolboxes.top","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-22T02:53:07.000Z","validTo":"2026-12-21T03:53:01.000Z","daysToExpiry":71,"sanCount":3,"fingerprint256":"FF:96:3E:C1:BA:78:3E:79:4F:C5:64:DF:BC:0E:2E:30:8A:20:AB:EE:BC:BC:98:F3:01:A2:77:D9:A1:19:FF:BE"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"top.toolboxes/subtitle-toolkit","url":"https://registry.modelcontextprotocol.io/v0/servers/top.toolboxes%2Fsubtitle-toolkit","firstSeenAt":"2026-09-22T15:21:05.624Z","fetchedAt":"2026-10-08T20:19:14.433Z","normalizedAt":"2026-10-08T20:19:14.433Z"}]},"firstSeenAt":"2026-09-22T15:21:05.624Z","updatedAt":"2026-10-10T04:34:49.958Z"}