通过MCP服务器调用YouTube Data API v3或yt-dlp备用方案,搜索YouTube视频,获取频道信息、视频详情及字幕。
YouTube Research & Translaction.是一项面向实际任务的技能,主要用于Search YouTube,获取视频/频道信息,并使用YouTube Data API v3..Features QQ视频细节(标题,描述,统计,发布日期)获取录音记录.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 YouTube Data API v3 搜索 YouTube、获取视频/频道信息,并提取字幕。
MCP Server(首选方式):
npm install -g zubeid-youtube-mcp-server
备用工具(当 MCP 失败时):
# 使用 yt-dlp 提取字幕 pip install yt-dlp
选项 A:Clawdbot 配置文件(推荐)
添加至 ~/.clawdbot/clawdbot.json:
{
"skills": {
"entries": {
"youtube": {
"apiKey": "AIzaSy..."
}
}
}
}
选项 B:环境变量
export YOUTUBE_API_KEY="AIzaSy..."
该技能将通过 mcporter 调用 YouTube MCP Server:
# 若已安装的包存在问题,可从源码构建 cd /tmp git clone https://github.com/ZubeidHendricks/youtube-mcp-server cd youtube-mcp-server npm install npm run build
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" search_videos query="ClawdBot AI" maxResults:5
返回视频 ID、标题、描述、频道信息等。
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" channels_info channelId="UCSHZKyawb77ixDdsGog4iWA"
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:5
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" videos_details videoId="Z-FRe5AKmCU"
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" transcripts_getTranscript videoId="Z-FRe5AKmCU"
若 MCP 字幕调用失败(返回空或不可用),请改用 yt-dlp:
yt-dlp --skip-download --write-auto-sub --sub-lang en --sub-format vtt --output "/tmp/%(id)s.%(ext)s" "https://youtube.com/watch?v=Z-FRe5AKmCU"
随后读取 /tmp/ 目录下的 .vtt 文件。
或直接输出字幕内容:
yt-dlp --skip-download --write-auto-sub --sub-lang en --print "%(subtitles)s" "https://youtube.com/watch?v=VIDEO_ID" 2>&1 | grep -A1000 "WEBVTT"
示例:Lex Fridman 播客
# 获取频道 ID(Lex Fridman:UCSHZKyawb77ixDdsGog4iWA) mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:1
返回最新视频的标题、ID 和发布日期。
# 步骤 1:通过搜索或频道列表获取视频 ID # 步骤 2:优先尝试 MCP 字幕接口 mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" transcripts_getTranscript videoId="VIDEO_ID" # 步骤 3:若为空,则回退至 yt-dlp yt-dlp --skip-download --write-auto-sub --sub-lang en --output "/tmp/%(id)s.%(ext)s" "https://youtube.com/watch?v=VIDEO_ID" cat /tmp/VIDEO_ID.en.vtt
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" search_videos query="Laravel AI productivity 2025" maxResults:10
对结果按相关频道或发布时间进一步筛选。
将常用频道 ID 记录于此以便快速调用:
UCSHZKyawb77ixDdsGog4iWA查找频道 ID 的方法:
"channelId": 或 "externalId"也可通过 YouTube 搜索并从返回结果中解析获取。
YouTube Data API v3 设置了每日配额限制:
提示: 可放心高频调用字幕接口(无配额成本),但应谨慎使用搜索接口。
现象: 报错 Connection closed 或 YOUTUBE_API_KEY environment variable is required
解决方法: 从源码构建:
cd /tmp git clone https://github.com/ZubeidHendricks/youtube-mcp-server cd youtube-mcp-server npm install npm run build # 测试运行 YOUTUBE_API_KEY="your_key" node dist/cli.js
现象: 字幕接口返回成功,但内容为空
原因: 视频未提供字幕,或 MCP 无法访问可用字幕
解决方法: 使用 yt-dlp 回退方案(见上文)
pip install --user yt-dlp # 或 pipx install yt-dlp
本 MCP Server 安全地使用 YouTube API 密钥:
googleapis.com但请注意:
# 1. 查找 Lex Fridman 最新一期 mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:1 # 2. 获取该视频详情 mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" videos_details videoId="Z-FRe5AKmCU" # 3. 获取字幕 mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" transcripts_getTranscript videoId="Z-FRe5AKmCU" # 若字幕为空,改用 yt-dlp yt-dlp --skip-download --write-auto-sub --sub-lang en --output "/tmp/%(id)s.%(ext)s" "https://youtube.com/watch?v=Z-FRe5AKmCU" # 4. 分析字幕以提炼关键主题 # (读取 /tmp/Z-FRe5AKmCU.en.vtt 并提取核心观点)
# 搜索近期视频 mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" search_videos query="ClawdBot security concerns" maxResults:10 # 筛选相关视频并获取其字幕 # 分析情绪倾向与技术主张
/tmp/youtube-mcp-server/dist/cli.jsYOUTUBE_API_KEY="key" node ...--extract-audio --audio-format mp3)