使用说明
MCP YouTube转录服务器
一个TypeScript模型上下文协议服务器,用于检索Claude Desktop、Cursor、Cline、Codex和其他MCP兼容客户端的YouTube转录。它是为当地人设计的 npx 因此,转录请求是从您自己的计算机而不是远程代理发出的。
目录
特性
关键能力:
- 从YouTube视频中提取文字记录
- 支持多种语言
- 当前YouTube字幕响应的Android InnerTube回退
- 兼容的工具名称:
get_transcripts和get_transcript - 带时间戳的成绩单输出
get_timed_transcript - 视频元数据和可用的转录语言
- 使用连续或段落模式设置文本格式
- 检索视频标题和元数据
- 自动段落分割
- 文本规范化和HTML实体解码
- 稳健的错误处理
- 时间戳和重叠检测
入门指南
先决条件
- Node.js 18或更高版本
安装
使用本地 npx 配置,以便从您自己的计算机而不是远程MCP代理发送转录请求。
-
创建或编辑Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加以下配置:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@sinco-lab/mcp-youtube-transcript"
]
}
}
}
macOS的快速设置脚本:
# Create directory if it doesn't exist
mkdir -p ~/Library/Application\ Support/Claude
# Create or update config file
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOL'
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@sinco-lab/mcp-youtube-transcript"
]
}
}
}
EOL
用法
基本配置
要与Claude Desktop/Cursor/cline一起使用,请确保您的配置匹配:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "@sinco-lab/mcp-youtube-transcript"]
}
}
}
码头工人
该存储库包括一个用于本地容器使用的生产Dockerfile:
docker build -t mcp-youtube-transcript .
MCP客户端配置:
{
"mcpServers": {
"youtube-transcript": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp-youtube-transcript"]
}
}
}
测试
使用克劳德应用程序
- 安装后重新启动Claude应用程序
- 使用一个简单的命令进行测试:
https://www.youtube.com/watch?v=AJpK3YTTKZ4 Summarize this video
输出示例:
与MCP检查员一起
# Clone and setup
git clone https://github.com/sinco-lab/mcp-youtube-transcript.git
cd mcp-youtube-transcript
npm install
npm run build
# Launch inspector
npx @modelcontextprotocol/inspector node "dist/index.js"
# Access http://localhost:6274 and try these commands:
# 1. List Tools: clink `List Tools`
# 2. Test get_transcripts with:
# url: "https://www.youtube.com/watch?v=AJpK3YTTKZ4"
# lang: "en" (optional; omit to use the best available caption track)
# enableParagraphs: false (optional)
故障排除和维护
检查克劳德日志
要监视Claude的日志,可以使用以下命令:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
这将显示日志文件的最后20行,并在添加新条目时继续显示。
备注:Claude应用程序会自动在MCP服务器日志文件前添加前缀
mcp-server-。例如,我们的服务器日志将被写入mcp-server-youtube-transcript.log.
清洁 npx 缓存
如果您遇到与 npx 缓存,您可以使用以下命令手动清理它:
rm -rf ~/.npm/_npx
这将删除缓存的包,并允许您重新开始。
工具
get_transcripts
从YouTube视频中获取文字记录。
参数:
url(字符串,必填):YouTube视频URL或IDlang(字符串,可选):语言代码。如果省略,则使用最佳可用字幕轨道。enableParagraphs(布尔值,可选):启用段落模式。违约:false.
get_transcript
别名 get_transcripts 为了与其他YouTube转录MCP服务器兼容。
get_timed_transcript
获取每个字幕段带有一行时间戳的转录文本。
参数:
url(字符串,必填):YouTube视频URL或IDlang(字符串,可选):语言代码。如果省略,则使用最佳可用字幕轨道。
输出示例:
[00:00:01.250] Hello and welcome
[00:00:03.500] Today we are going to...
获取_视频_信息
获取基本视频元数据和可用的转录语言,而不返回完整的转录。
参数:
url(字符串,必填):YouTube视频URL或ID
获取可用语言
列出YouTube视频的可用转录语言。在使用特定命令重试之前,请使用此命令 lang 价值。
参数:
url(字符串,必填):YouTube视频URL或ID
发展
项目结构
├── src/
│ ├── index.ts # Server entry point
│ ├── youtube.ts # YouTube transcript fetching logic
├── tests/ # Node test runner coverage
├── docs/ # Maintenance notes
├── Dockerfile # Local container build
├── dist/ # Compiled output
└── package.json
关键组件
YouTubeTranscriptFetcher:核心转录提取功能YouTubeUtils:文本处理和实用程序
特性和功能
-
错误处理:
- 无效的URL/IDs
- 不可用的成绩单
- 语言可用性
- 网络错误
- 速率限制
- YouTube客户端强制执行导致的空标题响应
-
文本处理:
- HTML实体解码
- 标点符号规范化
- 空间归一化
srv3、经典XML,json3,以及VTT字幕解析- 智能段落检测
YouTube访问说明
YouTube没有提供官方的公共API来下载任意视频的字幕。此服务器使用暴露给web和Android客户端的YouTube内部字幕数据。YouTube仍可能拒绝来自某些网络、托管环境或远程MCP提供商的请求。当这种情况发生时,服务器现在返回更具体的诊断,而不是通用的诊断 No transcripts found 错误。
贡献
我们欢迎捐款!请随时提交问题和拉取请求。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。