mcpField
Y
Youtube

Youtube

本地服务
github.com/cactusaurelius媒体与设计424 周前更新

关于 Youtube

Youtube 是一个 MCP 服务,为 AI Agent 提供 YouTube 字幕、视频与频道搜索、频道视频列表以及带时间戳的视频截图。它无需 Google API 密钥或 OAuth 设置,并可选择从字幕中移除赞助片段。

主要功能

  1. 01获取带时间戳或纯文本字幕
  2. 02截取指定时间点的视频画面
  3. 03按相关性、日期、评分或观看量搜索视频
  4. 04查找频道并列出其视频
  5. 05可选移除赞助片段

适用场景

  1. 01以专家演讲和技术视频作为研究依据
  2. 02按主题查找视频并提取字幕
  3. 03将关键视频画面与字幕上下文结合
  4. 04回答关于视频特定片段的问题

MCP 相关

该服务向 MCP 客户端提供 YouTube 字幕、搜索、频道和视频画面工具。可通过其 npm 包接入,且不需要 Google API 凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"youtube-mcp-cactusaurelius": {
"command": "npx",
"args": [
"-y",
"@inlustris/youtube-mcp"
]
}
}
}
启动命令npx -y @inlustris/youtube-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@inlustris/youtube-mcp

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
videoUrlstring是要从中获取文字稿的 YouTube 视频完整 URL。这是通常用于在浏览器中观看视频的标准 URL(例如,'https://www.youtube.com/watch?v=dQw4w9WgXcQ')。
chunkSizenumber否可选:每个文字稿分块的最大字符数。若提供此值,文字稿将按该大小分块。适合将很长的文字稿拆分为较小且易于处理的部分。
chunkBySilenceboolean否可选:若为 true,文字稿将根据音频中的静音片段分块。这有助于按更自然的对话或主题界限分段。
silenceThresholdnumber否可选:当 chunkBySilence 为 true 时,指定视为分块间隔的最短静音时长(毫秒)。值越大,创建新块所需的停顿越长。
skipSponsorboolean否可选:如果为 true,则使用 SponsorBlock API 从转录文本中移除赞助/广告片段。获取赞助时间戳,并过滤掉位于赞助片段内的转录文本。
plainTextboolean否可选:如果为 true,则将完整转录文本作为单个纯文本字符串返回,不含时间戳数据。与默认的带时间戳格式相比,这种格式占用的上下文更少,更适合用于摘要。如果之后需要时间戳,后续调用会使用缓存。

详细介绍

@inlustris/youtube-mcp

让 AI Agent 以 YouTube 上的优质内容为依据——无需 API 密钥,零配置。

NPM Version License: MIT

YouTube 是世界上最大的专业知识库,汇集了教程、演讲、评测和深度解析。但 AI Agent 无法观看视频。

这个 MCP 服务弥补了这一差距。它通过简单的工具,为你的 Agent 提供 YouTube 字幕、搜索、频道数据和视频截图。无需 Google API 密钥,无需 OAuth,无需设置。

基于 FastMCP 和 youtubei.js 构建。

为什么用 YouTube 为 AI 提供依据?

网页搜索结果杂乱无章。YouTube 内容经过排序、评审和筛选——高播放量的视频、值得信赖的创作者,以及带时间戳的字幕,使其非常适合用作大模型上下文。你的 Agent 无需抓取论坛或博客,就能从相关视频中提取完整字幕、跨频道搜索,或截取特定时刻的画面。

这不是另一个需要你维护的“AI 技能”,而是一个安装后即可使用的 npm 包。

你将获得

工具用途
get_transcript获取带时间戳的视频字幕,或通过 plainText 获取纯文本。可选择通过 skipSponsor 去除赞助内容片段。字幕会缓存在内存中,后续获取速度极快。
get_video_frame截取任意时间戳的画面。yt-dlp 可用时提供完整画质;否则会自动切换为备用方案。
search_videos搜索 YouTube,可按相关性、日期、评分和播放量排序。
search_channels根据查询查找频道。
get_channel_videos列出频道中的所有视频。

安装

npm install -g @inlustris/youtube-mcp

添加到任何 MCP 客户端:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "@inlustris/youtube-mcp@latest"]
    }
  }
}

兼容 Claude Desktop、Cursor、opencode、VS Code Copilot 及任何兼容 MCP 的 Agent。

全画质截图(可选)

get_video_frame 开箱即用,可使用 YouTube 故事板截图(320×180)。如需全分辨率截图(720p、1080p、4K),请安装系统工具:

brew install yt-dlp ffmpeg

该工具会自动检测 yt-dlp 并升级截图质量,无需更改配置。

SponsorBlock

向 get_transcript 传入 skipSponsor: true。它会从 SponsorBlock API 获取赞助内容的时间戳(无需身份验证,免费),并从字幕中移除赞助内容。非常适合获取干净、无广告的视频上下文。

使用场景

  • 研究 Agent:提取专家演讲、会议演讲或技术深度解析的字幕,无需浏览博客文章。
  • 内容分析:按主题搜索相关 YouTube 内容,然后大规模提取字幕。
  • 视觉依据:在关键时刻截取画面,并结合字幕进行多模态理解。
  • 学习工具:让用户针对特定视频时间戳提问,并获得有依据的回答。

开发

npm install
npm run dev        # hot-reload
npm test           # 31 tests
npm run build      # production bundle
src/
├── index.ts
├── server/server.ts
├── core/
│   ├── tools.ts
│   ├── resources.ts
│   └── services/
│       ├── youtube-service.ts
│       ├── sponsorblock-service.ts
│       └── screenshot-service.ts
└── __tests__/

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。