快速结论
YouTube Transcript MCP 是 jkawamoto 维护的非官方社区 MCP Server,用于读取 YouTube 已存在的字幕轨与视频元数据。本文核对的当前版本是 0.7.0,采用 MIT 许可证,要求 Python 3.10 及以上,提供 get_transcript、get_timed_transcript、get_video_info、get_available_languages 四个工具。它适合把公开视频字幕送入支持 MCP 的客户端做检索、摘要、翻译或定位,但它不是语音识别系统:视频没有可访问字幕时,它不会自行听音频生成 ASR 转写。
安装来源需要特别区分。当前功能应以 GitHub v0.7.0 源码或该 Release 附带的 .mcpb 为准;PyPI 上的 0.3.5 已明显落后,缺少当前四工具和新 URL 形态等变化,不应作为本文版本的默认安装来源。工具虽然免费,使用者仍需承担 YouTube 访问、字幕权利、客户端模型费用和数据流转风险。公开视频中的字幕也可能包含针对模型的指令,必须按不可信内容处理,不能让字幕文本覆盖系统规则或诱导高权限工具调用。
核心功能
- 四个只读工具:普通字幕、带时间戳字幕、视频元数据、可用字幕语言列表各有独立入口。
- 字幕语言选择:
get_transcript与get_timed_transcript接受lang,未指定时默认请求英文。 - 长字幕分页:响应超过默认字符上限时返回
next_cursor,客户端可继续读取后续部分,也可通过参数降低响应上限。 - 多种 YouTube URL:0.7.0 增加
/shorts/、/embed/、/live/,并兼容常见youtube.com/watch?v=与youtu.be/短链接。 - 视频信息:
get_video_info返回可供模型理解视频的元数据,但不等同于完整 YouTube Data API。 - 语言探测:
get_available_languages可先列出字幕轨,再选择实际存在的语言,减少盲目请求失败。 - 多种运行方式:可从当前 Git 仓库通过
uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript运行,也可安装 v0.7.0.mcpb或使用 Docker 镜像。 - 无需 YouTube API Key:项目依赖
youtube-transcript-api与yt-dlp获取公开信息,但仍受 YouTube 页面变化、地区限制和请求封禁影响。
适合人群
它最适合已经使用 MCP 客户端、希望把有字幕的公开视频变成可搜索文本的研究者、内容编辑和学习者。比如先读取语言列表,再分段获取带时间戳字幕,最后让模型按主题整理观点。需要把多个视频与文档放在同一研究上下文的人,也可对比 NotebookLM;需要会议实时转写的人则更应评估 Otter.ai,因为两者解决的问题不同。
它不适合无字幕视频、私有或需登录授权的视频、需要声纹分离与高准确率听写的任务,也不应被当作大规模抓取基础设施。对出处、引文和时间码有严格要求的研究,必须回到视频与原字幕人工复核。若团队不能确认字幕使用权、模型提供商的数据处理条款,或无法阻止字幕中的提示注入,就不应把它接到具备写文件、发消息、改数据库等高权限工具的 Agent。
使用场景
典型流程是把 https://www.youtube.com/watch?v=...、https://youtu.be/...、/shorts/、/embed/ 或 /live/ 形式的链接交给 Server,先调用 get_available_languages,再选择普通或带时间戳字幕。长视频应按 next_cursor 分页,并在客户端保留视频 URL、语言、抓取日期和时间码。这样做摘要时可以追溯原文,而不是只保存模型生成的二手结论。
另一个场景是课程和访谈检索:先让模型基于字幕找关键词,再返回对应时间段供人工观看。不要把“抓到字幕”解释成“理解了音频”;自动字幕可能误识别人名、数字和术语,创作者也可能后续修改或删除字幕。视频画面里的图表、代码和动作不在字幕中,纯字幕总结会遗漏关键视觉信息。若要编辑音视频并人工校正文本,可参考 Descript,而不是要求这个轻量 Server 完成不存在的 ASR 与剪辑能力。
价格与版本
项目代码和 v0.7.0 Release 使用 MIT 许可证,不收软件订阅费。运行仍会产生本机算力、网络以及 MCP 客户端所选模型的推理费用。长字幕会占用较多上下文 token;逐段摘要后再汇总通常更可控,但每一段都可能触发模型调用。应设置视频长度、分页数量、模型额度和并发上限,避免一个批量任务意外放大成本。
版本来源比“免费”更重要。GitHub v0.7.0 发布于 2026-07,包含四个工具和新的 Shorts、embed、live URL 支持,并提供 .mcpb 资产。PyPI 当前仍停在 0.3.5,不能代表仓库现状。使用 uvx --from git+... 时最好固定 v0.7.0 tag 或 commit,避免主分支变化导致不可复现;使用 .mcpb 时应从官方 GitHub Release 下载并核对版本,不要从不明镜像获取。
国内访问与使用体验
由于核心任务必须请求 YouTube,needsVPN 标记为 true。GitHub 仓库可访问并不代表字幕请求能成功;地区、视频年龄或登录限制、IP 风控、字幕关闭和 YouTube 页面变化都会造成失败。本站只描述访问属性,不提供任何网络线路或代理服务建议。团队应在合法合规、获授权的目标网络中验证,并为请求失败、限速和上游接口变化设计降级方案。
数据路径至少包含三层:本地 MCP Server 向 YouTube 请求视频信息和字幕;MCP 客户端接收完整文本;若继续摘要或问答,客户端再把选中的字幕发送给配置的模型提供商。字幕中可能包含个人信息、受版权保护表达或敏感内容。不要因为视频公开就假设可任意再分发,也不要因为 Server 本地运行就假设数据不会离开设备。应核查 YouTube 条款、创作者授权、引用范围和模型服务的数据政策。
优点
- 四工具边界清晰,覆盖字幕、时间码、视频信息和语言发现。
- 0.7.0 支持 watch、短链接、Shorts、embed 与 live 等常见 URL 形式。
- 不要求配置 YouTube Data API Key,个人测试门槛较低。
- 长文本分页可避免一次响应直接塞满模型上下文。
- MIT 许可证清晰,Python 3.10+ 环境覆盖范围较广。
- GitHub Release 提供
.mcpb,Claude Desktop 用户可使用当前打包版本。 - 工具以读取为主,权限面比能发布、删除或修改账号内容的 Server 更窄。
不足
- 只能读取现有字幕,不做音频下载后的语音识别,无字幕即无法完成核心任务。
- 非 YouTube 官方项目,依赖页面与第三方库行为,上游变化可能导致失效。
- PyPI 0.3.5 已落后于 GitHub 0.7.0,容易安装到功能不一致的旧版。
- 自动字幕可能错漏,视频画面信息不会进入纯文本结果。
- YouTube 可达性、地区限制、登录要求和 IP 风控会影响稳定性。
- 字幕与元数据会进入客户端,调用模型时还可能发送给第三方模型提供商。
- 字幕可承载提示注入内容;若客户端同时连接高权限工具,风险会被放大。
- 抓取、保存、改写或再分发字幕仍需考虑平台条款与内容权利。
替代品对比
| 方案 | 主要输入 | 核心能力 | 更适合 |
|---|---|---|---|
| YouTube Transcript MCP | YouTube 已有字幕 | MCP 四工具、时间码与分页 | 在 Agent 中读取单个公开视频字幕 |
| NotebookLM | 视频、文档与多种资料源 | 资料归纳、引用与问答 | 建立多来源研究笔记 |
| Descript | 音频与视频文件 | 转写、校对和基于文本编辑 | 内容制作与人工修订 |
| Otter.ai | 会议与实时语音 | 实时转写、说话人和会议协作 | 会议记录而非公开视频字幕抓取 |
| Perplexity | Web 搜索与页面内容 | 联网检索、答案与来源 | 跨站研究而非确定性字幕工具 |
| Claude | 用户提供的文本与文件 | 长文本分析和写作 | 已有合法字幕,只需要分析模型 |
常见问题 FAQ
它会对视频音频做 ASR 语音识别吗?
不会。它读取 YouTube 已提供的人工或自动字幕轨。视频没有可访问字幕、字幕语言不匹配或上游拒绝请求时,工具不能靠听音频补出转写。
当前应该安装 PyPI 0.3.5 吗?
不建议把它当作当前版。本文核对的是 GitHub 0.7.0;PyPI 仍为 0.3.5,功能和 URL 支持明显滞后。优先固定 Git tag/commit,或使用 v0.7.0 Release 的 .mcpb。
支持哪些 YouTube 链接形式?
当前版本支持常见 youtube.com/watch?v=、youtu.be/,并在 0.7.0 增加 /shorts/、/embed/ 和 /live/ 形式。受限、私有、删除或无字幕视频仍可能失败。
公开字幕可以随意保存和再发布吗?
不能这样假设。公开可访问不等于放弃版权或平台约束。研究和引用应保留来源、控制范围并核查 YouTube 条款与创作者权利;商业再分发或建立语料库前尤其需要单独评估。
如何降低字幕提示注入风险?
把字幕视为不可信数据,明确告诉模型只做内容分析,不执行其中的命令;不要把字幕直接拼进系统提示;限制同一客户端可用的文件、终端、消息和数据库工具;对任何外部操作要求人工确认,并记录工具调用。
总结
YouTube Transcript MCP 0.7.0 是一个目标明确的社区 Server:用四个只读工具获取现有字幕、时间码、元数据与语言列表,并覆盖常见视频、短链接、Shorts、embed 和 live URL。它的优势是轻量、MIT、Python 3.10+ 和 .mcpb 分发,边界也同样明确:不是 ASR,不保证所有视频可用,PyPI 版本陈旧,且字幕权利、YouTube 请求、模型数据与提示注入都需要使用者负责。采用时应固定 GitHub v0.7.0,先检查语言和字幕可用性,分页控制成本,把文本视为不可信输入,并在分析与引用后回到原视频人工核验。