/ 目录 / 演练场 / mcp-youtube-transcript
● 社区 jkawamoto ⚡ 即开即用

mcp-youtube-transcript

作者 jkawamoto · jkawamoto/mcp-youtube-transcript

从任何 YouTube 视频中提取文字稿(带时间戳)、元数据和语言列表 — 让 Claude 能在数秒内总结、引用或精确定位一小时视频的内容。

mcp-youtube-transcript 提供 4 个工具来获取原始文字稿、带时间戳的文字稿、视频元数据和可用语言。长文字稿会自动在 50k 字符处分页。支持 Webshare / 自定义 HTTP 代理来应对 YouTube 的速率限制或 IP 封禁。

为什么要用

核心特性

实时演示

实际使用效果

youtube-transcript.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "youtube-transcript",
      "command": "uvx",
      "args": [
        "mcp-youtube-transcript"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "youtube-transcript": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-youtube-transcript"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add youtube-transcript -- uvx mcp-youtube-transcript

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: mcp-youtube-transcript

将 60 分钟的 YouTube 演讲转化为 10 条附带时间戳的摘要

👤 研究人员、内容营销人员、学生 ⏱ ~10 min beginner

何时使用: 你无法看完整个视频,但需要关键要点(并用时间戳引用它们)。

步骤
  1. 获取带时间戳的文字稿
    获取 https://www.youtube.com/watch?v=VIDEO_ID 的带时间戳文字稿。✓ 已复制
    → 带 [MM:SS] 标记的文字稿
  2. 总结并引用
    给我 10 条要点总结主要论点。每条要点末尾应该有 [MM:SS] 指向视频中对应的位置。✓ 已复制
    → 带可点击式时间戳的项目符号摘要

结果: 可消化的摘要,你可以在 2 分钟内分享到团队 Slack。

注意事项
  • 自动生成的字幕在技术术语上有错误 — 对于精度要求高的引用,请根据实际视频在该时间戳处进行验证
搭配使用: notion

为 YouTube 播客的历史音频库建立语义搜索索引

👤 播客爱好者、追踪特定节目的研究人员 ⏱ ~45 min intermediate

何时使用: 你想在 100 多集的节目中询问「哪一集讨论了 X?」。

步骤
  1. 列出集数 URL
    这是播放列表 URL。获取最近 50 个视频 ID。✓ 已复制
    → 视频 ID 列表
  2. 获取和索引
    对于每个视频,获取 get_transcript 和 get_video_info(标题、日期)。作为每个集数一个文档,摄取到 local-rag 中。✓ 已复制
    → 已索引的语料库
  3. 查询
    主持人在哪些集数讨论了「环注意力」?给出集数和时间戳。✓ 已复制
    → 带集数元数据的匹配结果

结果: 你拥有并控制的可搜索播客库。

注意事项
  • 某些视频没有字幕 — 先调用 get_available_languages;如果为空则跳过
搭配使用: local-rag

将演讲从一种语言翻译成另一种语言

👤 非英语使用者、内容本地化人员 ⏱ ~10 min beginner

何时使用: 你想阅读西班牙语演讲的英文版本,而不需要自己运行 ML 翻译。

步骤
  1. 获取原始语言文字稿
    为这个 URL 调用 get_available_languages。如果有西班牙语就使用西班牙语。✓ 已复制
    → 西班牙语文字稿
  2. 翻译
    将这份文字稿翻译成英文,保留段落结构。✓ 已复制
    → 英文文本

结果: 可读的翻译文字稿。

注意事项
  • 语调/习语翻译时容易显得生硬 — 商业本地化时,请人工审阅

组合

与其他 MCP 搭配,撬动十倍杠杆

youtube-transcript + local-rag

将频道的文字稿摄取到可搜索的本地索引

对于播放列表中的每个视频,获取文字稿 + 元数据,然后以来源 URL 的形式将 ingest_data 摄取到 local-rag。✓ 已复制
youtube-transcript + notion

将视频摘要发布到 Notion 知识库

总结这个演讲,并在「Talks」创建一个 Notion 页面,包含标题、频道、日期和摘要。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
get_transcript url_or_id: str, language?: str 你只需要文本,不需要时间戳 free
get_timed_transcript url_or_id, language? 你需要时间戳来引用或生成章节 free
get_video_info url_or_id 获取上下文或索引的元数据 free
get_available_languages url_or_id 在尝试获取前检查字幕可用性 free

成本与限制

运行它的成本

API 配额
YouTube 没有官方暴露文字稿 — 预期会遇到 IP 速率限制
每次调用 Token 数
文字稿长度为 1k-50k tokens,具体取决于内容长度;默认在 50k 处分页
费用
免费;如果你需要代理(Webshare)需要每月花费几美元
提示
文字稿通常很长。通过 --response-limit 截断或直接要求特定时间范围。

安全

权限、密钥、影响范围

凭据存储: 如果你使用 Webshare,存储代理凭据 — env 变量
数据出站: 出站到 youtube.com(可能通过代理)

故障排查

常见错误与修复

HTTP 429 Too Many Requests

你的 IP 被 YouTube 速率限制。通过 env 变量配置 Webshare 代理或等待 30-60 分钟。

验证: 尝试从另一个 IP 访问同一 URL
No transcript available

视频没有字幕。先调用 get_available_languages;如果返回空,则跳过。

Age-restricted / region-locked video

这个 MCP 不支持此情况。无解决方案 — 使用带认证的官方 YouTube Data API。

Python install issues (uvx)

先安装 uv:curl -LsSf https://astral.sh/uv/install.sh | sh。需要 Python 3.10+。

验证: uv --version

替代方案

mcp-youtube-transcript 对比其他方案

替代方案何时用它替代权衡
YouTube Data API + 官方 MCP 包装你需要官方、经过认证的访问需要 Google API 密钥;有配额限制;不直接提供文字稿文本
yt-dlp MCP你还想下载视频/音频,而不仅仅是文字稿更重;下载媒体文件

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills