YouTube 研究与转录
SkillSearchSearch YouTube videos, get channel info, extract video details and subtitles via a YouTube Data API v3 MCP server, with a yt-dlp fallback.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the YouTube 研究与转录 skill
What this skill tells your AI
The instructions your AI receives, as published by l-lesteryu/openclaw-hot-skills-zh in skills/youtube-zh/SKILL.md and read by ahel’s review.
使用 YouTube Data API v3 搜索 YouTube、获取视频/频道信息和提取字幕。
功能特性
- 📹 视频详情(标题、描述、统计数据、发布日期)
- 📝 带时间戳的字幕
- 📺 频道信息和最近视频
- 🔍 在 YouTube 内搜索
- 🎬 播放列表信息
安装设置
1. 安装依赖
MCP 服务器(主要方法):
npm install -g zubeid-youtube-mcp-server
备用工具(如果 MCP 失败):
# yt-dlp 用于字幕提取
pip install yt-dlp
2. 获取 YouTube API 密钥
- 访问 Google Cloud Console
- 创建/选择项目(例如"YouTube Research")
- 启用 API:
- 菜单 → "APIs & Services" → "Library"
- 搜索:"YouTube Data API v3"
- 点击"Enable"
- 创建凭证:
- "APIs & Services" → "Credentials"
- "Create Credentials" → "API Key"
- 复制密钥
- 可选 - 限制:
- 点击创建的密钥
- "API restrictions" → 仅选择"YouTube Data API v3"
- 保存
3. 配置 API 密钥
选项 A:Clawdbot 配置(推荐)
添加到 ~/.clawdbot/clawdbot.json:
{
"skills": {
"entries": {
"youtube": {
"apiKey": "AIzaSy..."
}
}
}
}
选项 B:环境变量
export YOUTUBE_API_KEY="AIzaSy..."
4. 设置 MCP 服务器
此技能将使用 mcporter 调用 YouTube MCP 服务器:
# 从源码构建(如果安装的包有问题)
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"
获取字幕(使用 yt-dlp 备用方案)
如果 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"
常见工作流程
1. 查找播客最新一集
示例:Lex Fridman 播客
# 获取频道 ID(Lex Fridman: UCSHZKyawb77ixDdsGog4iWA)
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:1
返回最新视频的标题、ID、发布日期。
2. 获取研究用字幕
# 步骤 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
3. 搜索主题
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
search_videos query="Laravel AI productivity 2025" maxResults:10
按相关频道或日期筛选结果。
频道 ID 参考
在此保存常用频道以便快速访问:
- Lex Fridman 播客:
UCSHZKyawb77ixDdsGog4iWA - Indie Hackers:(需要时添加)
- Laravel:(需要时添加)
查找频道 ID:
- 进入频道页面
- 查看页面源代码
- 搜索
"channelId":或"externalId"
或使用搜索并从结果中提取。
API 配额限制
YouTube Data API v3 有每日配额:
- 默认:10,000 单位/天
- 搜索:每次调用 100 单位
- 视频详情:每次调用 1 单位
- 字幕:0 单位(使用单独的机制)
提示: 大量使用字幕查找(无配额成本),谨慎使用搜索。
故障排除
MCP 服务器不工作
症状: 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 备用方案(见上文)
找不到 yt-dlp
pip install --user yt-dlp
# 或
pipx install yt-dlp
安全说明
YouTube API 密钥可安全用于此 MCP 服务器:
- ✅ 密钥仅用于与官方 YouTube Data API 进行身份验证
- ✅ 不涉及第三方服务器
- ✅ 所有网络调用都发送到
googleapis.com - ✅ 代码已审查(无数据泄露)
但是:
- 🔒 将密钥保存在 Clawdbot 配置中(不在代码/脚本中)
- 🔒 仅将 API 密钥限制为 YouTube Data API v3(在 Google Cloud Console 中)
- 🔒 不要将密钥提交到 git 仓库
示例
研究播客以获取 LinkedIn 帖子创意
# 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
# 选择相关视频,获取字幕
# 分析情感和技术主张
注意事项
- MCP 服务器路径:
/tmp/youtube-mcp-server/dist/cli.js - 始终通过环境传递 API 密钥:
YOUTUBE_API_KEY="key" node ... - 或在 shell/Clawdbot 配置中全局设置
- 字幕可能是自动生成的(检查引用的准确性)
- yt-dlp 也可以下载音频(如果需要)(
--extract-audio --audio-format mp3)
Signals
- GitHub stars
- 54
- Forks
- 8
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
youtube-zh- Source
- github.com/l-lesteryu/openclaw-hot-skills-zh