关于 YouTube MCP
YouTube MCP 为 AI 助手和其他 MCP 客户端提供 YouTube 内容与账户数据查询。它支持免凭据提取视频字幕,并通过 API 密钥访问公开数据、通过 OAuth 访问个人订阅和会员信息。
主要功能
- 01提取视频字幕
- 02搜索视频、频道和播放列表
- 03获取视频与频道元数据
- 04查看评论、字幕轨和趋势视频
- 05通过 OAuth 访问订阅和会员信息
适用场景
- 01按日期、时长或地区查找视频
- 02查看视频字幕和互动统计
- 03检查频道动态和播放列表
- 04查询个人订阅或频道会员
MCP 相关
该 MCP 服务向 MCP 客户端提供 YouTube 搜索、字幕、元数据和账户工具。公开数据需要 API 密钥,订阅和会员功能需要 OAuth;提取字幕无需凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
19收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order | enum | 否 | 结果的排序方式。使用 'date' 按时间从新到旧排序,使用 'viewCount' 按观看次数排序,使用 'rating' 按评分排序。relevance | date | rating | viewCount | title | videoCount |
| page_token | string | 否 | 用于获取下一页结果的先前响应令牌。 |
| max_results | number | 否 | 默认值为 5。最大值为 50。 |
| region_code | string | 否 | 用于按地理位置限制搜索结果的 ISO 3166-1 alpha-2 国家/地区代码(例如,'US'、'GB'、'IN')。 |
| content_type | string | 否 | 逗号分隔的列表(例如,'video,channel,playlist') |
| search_query | string | 是 | 搜索查询 |
| video_duration | enum | 否 | 按视频时长筛选:短(<4 min)、中(4-20 min)、长(>20 min)。仅当 content_type 包含 'video' 时适用。short | medium | long |
| published_after | string | 否 | RFC 3339 日期时间(例如,'2024-01-01T00:00:00Z')。仅返回此时间之后发布的结果。 |
| published_before | string | 否 | RFC 3339 日期时间(例如,'2024-12-31T23:59:59Z')。仅返回此时间之前发布的结果。 |
| video_definition | enum | 否 | 按视频画质筛选:'hd' 或 'standard'。仅当 content_type 包含 'video' 时适用。hd | standard |
详细介绍
它能做什么?
连接后,你的 AI 可以:
- 提取整洁、逐字的视频字幕文本。无需凭据。
- 按关键词、日期范围、时长、画质和地区搜索 YouTube。
- 获取任意国家和类别的热门视频。
- 获取视频统计数据、元数据、评论、字幕和频道详情。
- 通过
@handle查找频道(例如@MrBeast)。 - 通过 OAuth 访问你自己的订阅、会员和会员等级。
快速开始
此服务支持三种访问级别。选择适合你使用场景的级别。
访客模式(无需设置)
开箱即用。get_video_transcript 工具使用 yt-dlp 提取字幕文本,无需任何 API 凭据。
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": ["-y", "@mrsknetwork/ytmcp@latest"]
}
}
}
API 密钥(推荐)
解锁所有公开数据工具。适用于搜索、元数据、评论、热门视频和字幕文本。
1. 获取 Google API 密钥
- 打开 Google Cloud Console。
- 为你的项目启用 YouTube Data API v3。
- 前往 Credentials 并创建 API Key。
2. 添加到 MCP 客户端配置或 .env 文件
在 MCP 客户端配置中通过 env 传入 GOOGLE_API_KEY,或在项目目录中的 .env 文件里添加 GOOGLE_API_KEY=YOUR_KEY。
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": ["-y", "@mrsknetwork/ytmcp@latest"],
"env": {
"GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY"
}
}
}
}
OAuth 2.0
访问私人订阅、会员和账户活动时需要。
1. 创建 OAuth 2.0 客户端
- 打开 Google Cloud Console。
- 为你的项目启用 YouTube Data API v3。
- 前往 Credentials > Create Credentials > OAuth 2.0 Client ID。
- 将 Application type 设为 Web application。
- 添加以下确切的重定向 URI:
http://localhost:31415/oauth2callback。 - 前往 OAuth Consent Screen > Test Users 并添加你的 Gmail 地址。
2. 添加到 MCP 客户端配置
凭据通过 MCP 配置中的环境变量安全传递,不会存储在文件中。
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": ["-y", "@mrsknetwork/ytmcp@latest"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}
3. 首次登录
首次调用工具时,AI 会提供一个登录链接。点击链接,在浏览器中授权此应用,然后告诉 AI 你已完成。会话将会保存。除非你撤销访问权限,否则无需再次登录。
4. 退出登录
随时请 AI 调用 revoke_oauth_token,即可退出登录并删除已存储的凭据。
可用工具
| 工具 | 身份验证 | 描述 |
|---|---|---|
get_video_transcript | 无 | 使用 yt-dlp 下载完整的语音转录文本。指定 language_code(例如 en、es)以及优先使用人工字幕还是自动生成字幕。返回包含文本的来源元数据。 |
search_content | API Key | 搜索 YouTube 视频、频道或播放列表。可按 order、published_after、published_before、video_duration、video_definition 和 region_code 筛选。支持分页。 |
get_video_metadata | API Key | 根据视频 ID 获取一个或多个视频的标题、描述、标签、时长和统计数据(观看次数、点赞数、评论数)。 |
get_channel_metadata | API Key | 获取频道资料、订阅者数量、视频数量和上传内容播放列表 ID。接受频道 ID 或 @handle。 |
list_trending_videos | API Key | 获取指定 region_code 下 YouTube 最受欢迎的视频,也可选择 category_id。支持分页。 |
list_playlists | API Key | 列出某个频道的播放列表,或根据 ID 获取指定播放列表。返回标题、描述和项目数量。 |
list_playlist_items | API Key | 按顺序列出播放列表中的所有视频。返回每个条目的标题、位置和视频 ID。 |
list_video_comments | API Key | 获取视频或频道的顶层评论串。可使用 search_terms 按关键词筛选。支持分页。 |
list_comment_replies | API Key | 根据 parent_comment_id 获取特定评论串的回复。支持分页。 |
list_video_captions | API Key | 列出视频可用的字幕轨道,包括语言代码和类型(人工或自动生成)。 |
list_video_categories | API Key | 列出指定地区的 YouTube 视频类别名称和 ID。将这些 ID 与 search_content 或 list_trending_videos 搭配使用。 |
list_channel_activities | API Key | 获取频道近期的动态信息流,包括上传内容和播放列表新增内容。 |
list_channel_sections | API Key | 按顺序列出频道页面上显示的分区。 |
list_supported_languages | API Key | 列出 YouTube 支持的所有语言及其语言代码和本地化名称。 |
list_supported_regions | API Key | 列出 YouTube 支持的所有地区及其地区代码和名称。 |
list_subscriptions | API Key / OAuth | 使用 channel_id(API Key)列出频道的公开订阅,或使用 mine=true(OAuth)列出你自己的订阅。 |
list_channel_members | OAuth | 列出你频道当前付费会员。需要已启用会员计划。 |
list_membership_levels | OAuth | 列出为你的频道配置的会员等级名称和级别。 |
revoke_oauth_token | OAuth | 退出登录并从服务中永久删除已存储的 Google 凭据。 |
从源代码构建
在本地运行服务的说明。
git clone https://github.com/mrsknetwork/ytmcp.git
cd ytmcp
npm install
npm run build
cp .env.example .env # Set GOOGLE_API_KEY inside .env
node build/server/index.js
许可证
基于 MIT 许可证授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。