这是一个用于从YouTube视频中提取字幕的Model Context Protocol (MCP)服务器,专为Claude Code设计。该服务器允许您轻松地提取视频字幕,无需手动下载或复制内容,非常适合分析视频内容、总结演讲或从教育视频中提取信息。
npm 包: @fabriqa.ai/youtube-transcript-mcp 作者: Cengiz Han
npm install -g @fabriqa.ai/youtube-transcript-mcp
安装后,服务器将全局可用。您可以通过运行以下命令进行配置:
# 该包将安装在您的全局node_modules中
# 通常位于:/usr/local/lib/node_modules/@fabriqa.ai/youtube-transcript-mcp
git clone https://github.com/hancengiz/youtube-transcript-mcp.git
cd youtube-transcript-mcp
npm install
推荐:机器范围安装
# 为所有项目(机器范围)添加MCP服务器
claude mcp add --scope user youtube-transcript npx @fabriqa.ai/youtube-transcript-mcp@latest
理解作用域选项:
Claude Code支持三种MCP服务器配置作用域:
--scope user(推荐) - 机器范围
--scope local(默认) - 项目特定
--scope project - 明确项目
示例用法:
# 机器范围(推荐用于youtube-transcript)
claude mcp add --scope user youtube-transcript npx @fabriqa.ai/youtube-transcript-mcp@latest
# 项目特定(如果您偏好)
claude mcp add --scope local youtube-transcript npx @fabriqa.ai/youtube-transcript-mcp@latest
# 或使用便捷脚本
npx @fabriqa.ai/youtube-transcript-mcp/update-config.js
添加到您的~/.claude.json:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"@fabriqa.ai/youtube-transcript-mcp@latest"
]
}
}
}
这将使用npx自动运行全局安装的包,而无需指定路径。
通过npm安装后,您可以使用包含的配置脚本来自动更新您的~/.claude.json:
npx @fabriqa.ai/youtube-transcript-mcp/update-config.js
或者如果从源代码安装:
node update-config.js
这将自动添加使用npx的MCP服务器,使其在整个机器上的所有项目中都可用。
对于Claude Desktop,编辑~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"@fabriqa.ai/youtube-transcript-mcp@latest"
]
}
}
}
配置完成后,请重启Claude Code。以下工具将可用:
获取YouTube视频的字幕。
参数:
url(必需):YouTube视频URL或视频IDlang(可选):字幕的语言代码(例如,'en', 'es', 'fr')。默认:视频的默认语言include_timestamps(可选):在输出中包含时间戳。默认:true支持的URL格式:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_IDVIDEO_ID(仅11位视频ID)示例:
你能从这个链接获取字幕吗?https://www.youtube.com/watch?v=LCEmiRjPEtQ
从这个视频中获取不含时间戳的字幕:https://youtu.be/LCEmiRjPEtQ
总结这个Andrej Karpathy演讲的关键学习点:https://www.youtube.com/watch?v=LCEmiRjPEtQ
检查视频可用的字幕语言。
参数:
url(必需):YouTube视频URL或视频ID示例:
这个链接的视频有哪些可用的字幕语言?https://www.youtube.com/watch?v=LCEmiRjPEtQ
这是如何使用此MCP服务器与Claude Code一起工作的示例:
提取字幕以总结视频:
给我这个Andrej Karpathy演讲的关键学习点:https://www.youtube.com/watch?v=LCEmiRjPEtQ
分析视频中的特定主题:
从这个视频中获取字幕并提取所有关于“LLM”和“代理”的提及:https://www.youtube.com/watch?v=LCEmiRjPEtQ
获取不同语言的字幕:
这个链接的视频有哪些可用的字幕语言?https://www.youtube.com/watch?v=LCEmiRjPEtQ
提取不含时间戳的引用(针对长视频):
从这个视频中获取不含时间戳的字幕:https://www.youtube.com/watch?v=LCEmiRjPEtQ
注意:这个60分钟的视频不带时间戳生成约19k令牌,而带时间戳则生成约30k。
研究和内容创作:
从这个视频中获取3个关于部分自主应用程序的引用:https://www.youtube.com/watch?v=LCEmiRjPEtQ
节省90%的上下文空间!
Claude Code支持专门的子代理,可以在隔离的上下文中分析YouTube视频,只返回分析结果到您的主要对话。这意味着您可以分析许多视频而不占用上下文窗口的大段字幕。
与其这样做(填满您的上下文超过20k令牌):
获取这个视频的字幕并分析:[URL]
这样做(上下文只有约2k令牌):
使用子代理来分析这个视频:[URL]
这个专门的代理:
该指南包括:
适合: 研究人员、内容创作者、学生以及需要在一个会话中分析多个视频的人。
yt-lib/)MCP(模型上下文协议)基础设施有一个25,000令牌响应限制,以保护Claude的上下文窗口并防止性能问题。此限制由MCP协议层施加,而非YouTube或此工具。
这意味着:
症状:
错误:MCP工具“get-transcript”响应(30131令牌)超过
最大允许令牌数(25000)。请使用分页、过滤或限制参数减少响应大小。
解决方案:
禁用时间戳(推荐用于长视频):
从这个视频中获取不含时间戳的字幕:https://www.youtube.com/watch?v=VIDEO_ID
这通常可以将响应大小减少20-30%,使大多数视频符合限制。
请求较短的视频(通常60分钟以下的视频即使启用时间戳也能工作)
分块处理:对于非常长的视频,您可能需要编程方式处理字幕数据,而不是通过MCP工具
现实世界示例(Andrej Karpathy的演讲):
解决办法:只需询问“获取不含时间戳的字幕”即可。
npm installget-transcript-languages工具检查可用语言要修改或扩展服务器:
index.js以添加新工具或修改现有工具ListToolsRequestSchema处理器以注册新工具CallToolRequestSchema处理器中添加相应的处理器npm test测试更改运行测试套件:
npm test
这将验证:
MIT
由Cengiz Han创建
欢迎提交问题或拉取请求以改进此MCP服务器。