Youtube

Polar Sponsor
爱发电 赞助
.NET 9.0

通过MCP服务器调用YouTube Data API v3或yt-dlp备用方案,搜索YouTube视频,获取频道信息、视频详情及字幕。

YouTube Research & Translaction.

功能概述

YouTube Research & Translaction.是一项面向实际任务的技能,主要用于Search YouTube,获取视频/频道信息,并使用YouTube Data API v3..Features QQ视频细节(标题,描述,统计,发布日期)获取录音记录.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

YouTube 研究与字幕提取

使用 YouTube Data API v3 搜索 YouTube、获取视频/频道信息,并提取字幕。

功能特性

  • 📹 视频详情(标题、描述、统计信息、发布日期)
  • 📝 带时间戳的字幕
  • 📺 频道信息及最新视频列表
  • 🔍 在 YouTube 内搜索
  • 🎬 播放列表信息

安装配置

1. 安装依赖项

MCP Server(首选方式):

npm install -g zubeid-youtube-mcp-server

备用工具(当 MCP 失败时):

# 使用 yt-dlp 提取字幕
pip install yt-dlp

2. 获取 YouTube API 密钥

  1. 访问 Google Cloud Console
  2. 创建或选择一个项目(例如 “YouTube Research”)
  3. 启用 API:
    • 菜单 → “APIs & Services” → “Library”
    • 搜索:“YouTube Data API v3”
    • 点击 “Enable”
  4. 创建凭据:
    • “APIs & Services” → “Credentials”
    • “Create Credentials” → “API Key”
    • 复制生成的密钥
  5. (可选)限制密钥权限:
    • 点击已创建的密钥
    • 在 “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 Server

该技能将通过 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"

获取字幕(备用方式,使用 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 参考表

将常用频道 ID 记录于此以便快速调用:

  • Lex Fridman 播客: UCSHZKyawb77ixDdsGog4iWA
  • Indie Hackers: (按需补充)
  • Laravel: (按需补充)

查找频道 ID 的方法:

  1. 访问目标频道主页
  2. 查看网页源代码(View Page Source)
  3. 搜索 "channelId": 或 "externalId"

也可通过 YouTube 搜索并从返回结果中解析获取。

API 配额限制

YouTube Data API v3 设置了每日配额限制:

  • 默认配额:10,000 单位/天
  • 搜索请求:每次调用消耗 100 单位
  • 视频详情:每次调用消耗 1 单位
  • 字幕获取:不消耗配额(使用独立机制)

提示: 可放心高频调用字幕接口(无配额成本),但应谨慎使用搜索接口。

故障排查

MCP Server 无法运行

现象: 报错 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

安全说明

本 MCP Server 安全地使用 YouTube API 密钥:

  • ✅ 密钥仅用于向官方 YouTube Data API 进行身份验证
  • ✅ 不涉及任何第三方服务器
  • ✅ 所有网络请求均发往 googleapis.com
  • ✅ 代码已人工审核(无数据外泄风险)

但请注意:

  • 🔒 将密钥存于 Clawdbot 配置中(勿硬编码在脚本或源码内)
  • 🔒 在 Google Cloud Console 中将 API 密钥严格限制为仅允许 YouTube Data API v3
  • 🔒 切勿将密钥提交至 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 Server 路径:/tmp/youtube-mcp-server/dist/cli.js
  • 始终通过环境变量传入 API 密钥:YOUTUBE_API_KEY="key" node ...
  • 或在 Shell 环境或 Clawdbot 配置中全局设置
  • 字幕可能为自动生成(引用时请核对准确性)
  • yt-dlp 还支持下载音频(如需:--extract-audio --audio-format mp3)

相关专题

更多
youtube是什么意思
youtube是什么意思

youtube(油管)是源自美国的视频分享网站,也是当前全球最大的视频搜索和分享平台,让用户上传、观看、分享及评论视频。想了解更多相关的内容,可阅读本专题下面的相关文章。

2024.10.28

9902

8

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gemini Notebook官方手册
Gemini Notebook官方手册

共0课时 | 0人学习