YouTube转录MCP服务器
一个独立的MCP服务器,用于下载、清理和总结YouTube视频字幕。
特性
- 🎥 使用yt-dlp下载YouTube字幕
- 🧹 干净的VTT格式(删除时间戳、HTML标签、重复项)
- 📝 生成包含阅读时间和关键主题的摘要
- 🚀 简单的命令行界面
- 📦 自给自足(无外部MCP服务器依赖关系)
先决条件
所需工具
| 工具 | 用途 | 安装 |
|---|---|---|
| Node.js | 运行时环境 | 从下载 (v18或更高版本) |
| yt-dlp | 下载YouTube字幕 | pip install yt-dlp |
安装yt-dlp
# Using pip
pip install yt-dlp
# Using pip3
pip3 install yt-dlp
# On macOS with Homebrew
brew install yt-dlp
# On Linux
pip install yt-dlp安装
- 安装依赖项:
npm install- 构建项目:
npm run build配置
Claude桌面设置
将此添加到您的Claude Desktop配置中:
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-transcripts": {
"command": "node",
"args": ["H:\\MCP\\yt-transcripts\\build\\mcp-server.js"]
}
}
}重新启动克劳德桌面
关闭并重新打开Claude Desktop以使更改生效。
可用工具
| 工具名称 | 描述 |
|---|---|
process-youtube-captions | 下载、清理、保存和总结YouTube视频字幕 |
download-youtube-captions | 从YouTube视频下载原始VTT字幕文件 |
clean-vtt-file | 清理现有的VTT文件以提取可读文本 |
health-check | 检查MCP服务器和依赖项是否正常工作 |
使用示例
示例1:处理YouTube视频
问克劳德:
“处理此YouTube视频:https://www.youtube.com/watch?v=dQw4w9WgXcQ"
克劳德将:
- 使用yt-dlp下载字幕
- 清除VTT格式
- 将清理后的文本保存到文件系统
- 根据阅读时间生成摘要
- 返回带有统计信息的成绩单
示例2:仅下载字幕
问克劳德:
“下载此视频的字幕:https://www.youtube.com/watch?v=dQw4w9WgXcQ"
示例3:清理现有VTT文件
问克劳德:
“清理此VTT文件:H:\\MCP\\captures dl\\video.VTT”
示例4:健康检查
问克劳德:
“在YouTube成绩单服务器上运行健康检查”
输出位置
默认情况下,所有文件都保存到:
H:\MCP\captions-dl\使用这些工具时,可以指定自定义输出目录。
文件结构
H:\MCP\yt-transcripts\
├── README.md # This file
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── mcp-server.ts # Main MCP server
├── youtube-tools.ts # Tool implementations
├── caption-cleaner.ts # VTT cleaning utilities
├── file-manager.ts # File operations
├── youtube-downloader.ts # yt-dlp integration
└── build/ # Compiled output
├── mcp-server.js
├── youtube-tools.js
├── caption-cleaner.js
├── file-manager.js
└── youtube-downloader.jsNPM脚本
npm run build # Compile TypeScript to JavaScript
npm run dev # Watch mode - rebuild on file changes
npm run clean # Remove build/ folder故障排除
“找不到工具”错误
- 检查路径
claude_desktop_config.json - 确保
build/mcp-server.js存在(运行npm run build) - 重新启动克劳德桌面
“服务器连接失败”
- 确保yt-dlp已安装:
yt-dlp --version - 检查Node.js版本:
node --version(必须是v18或更高版本) - 验证Claude Desktop配置中的服务器路径
“没有可用的字幕”
- 尝试其他带字幕的视频
- 检查视频是私人的还是受限制的
- 验证网络连接
好处
- 自足 -无外部MCP服务器依赖关系
- 简单 -直接实施,无桥接层
- 快速 -无代理开销或渐进式发现
- 易于维护 -代码库单一,结构清晰
- 与Claude Desktop配合使用 -纯MCP服务器
语言支持
目前仅配置为英文字幕。服务器自动搜索英文字幕(en.*)下载视频时。
许可证
麻省理工学院
