yt-subtitle-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NO_PROXY | No | 不使用代理的主机列表,建议写成 localhost,127.0.0.1,::1 | |
| YTS_MODEL | No | Whisper 模型名:tiny/base/small/medium/large-v3/large-v3-turbo | large-v3-turbo |
| YTS_YTDLP | No | yt-dlp 路径(默认使用项目 venv) | |
| HTTP_PROXY | No | HTTP 代理,需要代理访问 YouTube 时设置 | |
| YTS_DEVICE | No | cpu 或 cuda | cpu |
| YTS_FFMPEG | No | ffmpeg 路径(默认自动探测) | |
| YTS_PYTHON | No | Python 解释器路径(默认使用项目 venv) | |
| HF_ENDPOINT | No | 模型下载源 | https://hf-mirror.com |
| HTTPS_PROXY | No | HTTPS 代理,需要代理访问 YouTube 时设置 | |
| YTS_THREADS | No | 转录线程数(默认 CPU 核数-4) | |
| YTS_TMP_DIR | No | 下载音频的临时目录 | |
| YTS_HOTWORDS | No | 手工叠加的领域词表(人名/术语),简体、空格分隔 | |
| YTS_LANGUAGE | No | 强制语种,如 zh / en | auto |
| YTS_AUDIO_DIR | No | 音频保留位置(仅 YTS_KEEP_AUDIO=1 时使用) | |
| YTS_BEAM_SIZE | No | beam search 宽度 | 5 |
| YTS_CACHE_DIR | No | 缓存目录 | |
| YTS_HF_RETRIES | No | 模型权重下载失败时的重试次数 | 6 |
| YTS_KEEP_AUDIO | No | 保留 Whisper 用到的音频,便于换模型重跑 | 0 |
| YTS_OUTPUT_DIR | No | 转录 Markdown 落盘目录(相对路径按项目目录解析) | |
| YTS_IMPERSONATE | No | yt-dlp 的浏览器指纹伪装目标 | chrome |
| YTS_COMPUTE_TYPE | No | CPU 上 int8 最快;有 GPU 可换 float16 | int8 |
| YTS_AUTO_HOTWORDS | No | 1=自动从标题/简介抽词,0=关闭 | 1 |
| YTS_SUBTITLE_LANG | No | 想要的字幕语种,如 zh / zh-Hans / en;不设则用视频原声语种 | |
| YTS_TO_SIMPLIFIED | No | 中文内容繁→简转换,设 0 关闭 | 1 |
| HF_HUB_DISABLE_XET | No | 禁用 hf-xet 后端(国内镜像下会 401) | 1 |
| YTS_CONVERT_CONFIG | No | OpenCC 档:auto=按输入脚本自动挑;也可写死 tw2sp(含词汇本地化)/ t2s(纯字形) | auto |
| YTS_GAP_MIN_SECONDS | No | 时间轴缺口超过这么多秒就单独补录一遍(整窗丢失兜底),0=关闭 | 10 |
| YTS_OUTPUT_LANGUAGE | No | 后续总结用什么语言(auto/zh/en) | auto |
| YTS_PREFER_SUBTITLES | No | auto=人工>自动>Whisper;manual=只认人工字幕;off=永远用 Whisper | auto |
| YTS_SUBTITLE_CHUNK_MS | No | 字幕合并成几秒一块 | 10000 |
| YTS_CONVERT_TIMEOUT_MS | No | 繁简转换超时(毫秒) | 120000 |
| YTS_DOWNLOAD_TIMEOUT_MS | No | 下载音频超时(毫秒) | 1200000 |
| YTS_METADATA_TIMEOUT_MS | No | 取元数据超时(毫秒) | 300000 |
| YTS_SUBTITLE_TIMEOUT_MS | No | 下载单条字幕超时(毫秒) | 180000 |
| YTS_TRANSCRIBE_TIMEOUT_MS | No | 转录超时(毫秒) | 10800000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_video_transcriptA | 把 YouTube 视频转成文字稿:优先拉取现成字幕(人工 > 自动),秒级完成、不占 CPU;只有在没有合适字幕时才回退到本地 faster-whisper 从音频转录。结果落盘成 Obsidian 友好的 Markdown(frontmatter + 带时间戳章节),并缓存供重复调用秒级命中。 转录质量:Whisper 的模型档位可调。默认 large-v3-turbo 更准;要快速草稿可传 model="small"(快约 1.8 倍,但会听错常用词、甚至整段丢失)。换模型会自动让该视频的缓存失效,所以「先用 small 试、再用大模型重跑」不会重复下载。 注意:正文在 savedTo 指向的文件里,本工具只返回元数据 + 预览 + 供下一步使用的提示,不要期待它返回全文。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusing it with another tool. Its purpose is clearly defined in the description.
The single tool name follows a clear and conventional verb_noun pattern (get_video_transcript), and there are no other names to cause inconsistency.
With just one tool, the surface feels minimal but acceptable for a focused transcript-extraction service. Additional tools for cache management or language listing could be added, but the single tool covers the core request.
The tool covers the full workflow from retrieving subtitles to generating Markdown, including model selection and caching. There are no obvious missing operations within its stated purpose.