Skip to main content
Glama

YouTube MCP Server

将 YouTube 引入 Claude Code 的 MCP 服务器 —— 提供视频转录、搜索、元数据、频道信息、播放列表、评论、热门视频、互动分析、章节提取、SponsorBlock 集成以及最多重播热力图。使用 YouTube Data API v3、youtube-transcript 和 SponsorBlock。

快速开始

步骤 1:获取你的 API 密钥

  1. 前往 Google Cloud Console

  2. 创建一个项目(或选择一个现有项目)

  3. 启用 YouTube Data API v3

  4. 创建 API 密钥:

  5. 复制该密钥(在第 3 步中会用到)

步骤 2:安装先决条件

步骤 3:安装 MCP 服务器

3.1 克隆仓库

git clone https://github.com/wynandw87/claude-code-youtube-mcp.git
cd claude-code-youtube-mcp

3.2 安装依赖

macOS / Linux / Windows:

npm install

注意: 依赖项安装和服务器构建会在一个步骤中自动完成。

3.3 向 Claude Code 注册

选择你的安装范围:

范围

标志

谁可以使用

User(推荐)

-s user

你,在任何项目中

Project

-s project

克隆此仓库的任何人

Local

-s local

仅限当前目录

YOUR_API_KEY 替换为你实际的 YouTube Data API 密钥,并使用 dist/index.js 的完整路径。

提示: 要获取完整路径,请在克隆的目录中运行以下命令:

  • macOS/Linux:echo "$(pwd)/dist/index.js"

  • Windows:echo %cd%\dist\index.js

macOS / Linux:

claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_API_KEY -- node /full/path/to/dist/index.js

Windows (CMD):

claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" -- node "C:\full\path\to\dist\index.js"

Windows (PowerShell):

claude mcp add -s user youtube -e "YOUTUBE_API_KEY=YOUR_API_KEY" '--' node "C:\full\path\to\dist\index.js"

备选方案:使用 npm 辅助工具(如果环境中已设置 API 密钥)

export YOUTUBE_API_KEY=YOUR_API_KEY
npm run install:claude

步骤 4:重启 Claude Code

关闭并重新打开 Claude Code 以使更改生效。

步骤 5:验证安装

claude mcp list

你应该会看到 youtube 以 Connected 状态列出。


Related MCP server: youtube-mcp

功能

转录与字幕

  • Get Transcriptget_transcript)- 获取带时间戳的完整视频转录文本,支持多种语言

  • Search Transcriptsearch_transcript)- 查找关键词或短语在视频中出现的位置(带时间戳)

  • Clean Transcriptget_clean_transcript)- 通过 SponsorBlock 移除赞助、开场、结尾和填充内容的转录文本

  • Extract Chaptersextract_chapters)- 从视频描述中解析章节时间戳

搜索与发现

  • Search Videossearch_videos)- 完整的 YouTube 搜索,支持按日期、时长、类型和排序方式过滤

  • Search Within Channelsearch_within_channel)- 搜索特定创作者的视频

  • Get Trending Videosget_trending_videos)- 按地区和类别查看当前热门视频

  • Get Channel Videosget_channel_videos)- 来自频道的最近上传视频,按日期或观看次数排序

视频与频道信息

  • Video Metadataget_video_metadata)- 标题、描述、时长、观看次数、点赞数、标签等

  • Channel Infoget_channel_info)- 订阅者数量、视频数量、描述、国家

  • Playlist Itemsget_playlist_items)- 播放列表中的所有视频及其位置和元数据

分析与互动

  • Calculate Engagementcalculate_engagement)- 根据公开统计数据计算点赞率、评论率和互动率

  • Most Replayedget_most_replayed)- 显示观众重看最多部分的热力图数据

  • Video Commentsget_video_comments)- 热门评论及其点赞数和回复数

实用工具

  • Parse YouTube URLparse_youtube_url)- 从任何 YouTube URL 格式中提取视频/频道/播放列表 ID


使用方法

安装后,使用触发短语来调用 YouTube 工具:

触发短语

工具

示例

youtube transcript

Get Transcript

“获取这个视频的 youtube 转录文本”

youtube search

Search Videos

“youtube 搜索 React 教程”

youtube metadata

Video Metadata

“获取这个视频的 youtube 元数据”

youtube channel

Channel Info

“获取 @ThePrimeagen 的 youtube 频道信息”

youtube playlist

Playlist Items

“列出这个 youtube 播放列表中的视频”

youtube comments

Video Comments

“获取这个视频的 youtube 评论”

youtube trending

Trending Videos

“youtube 在美国有哪些热门内容?”

youtube chapters

Extract Chapters

“从这个 youtube 视频中提取章节”

youtube engagement

Calculate Engagement

“计算这个视频的 youtube 互动数据”

youtube most replayed

Most Replayed

“显示这个 youtube 视频中重看次数最多的部分”

youtube clean transcript

Clean Transcript

“获取没有赞助内容的干净 youtube 转录文本”

youtube search transcript

Search Transcript

“在 youtube 转录文本中搜索 'authentication'”

或者自然地问:

  • “获取这个 YouTube 视频的转录文本并总结一下”

  • “这个视频中重看次数最多的部分是什么?”

  • “在这个频道上查找关于 TypeScript 的近期视频”

  • “这个视频有多少次观看和点赞?”

  • “获取这个视频的评论并总结情感倾向”

  • “给我看看这个教程的章节”

  • “获取没有赞助口播的干净转录文本”

  • “YouTube 上现在热门的游戏内容是什么?”


工具参考

parse_youtube_url

解析任何 YouTube URL 格式并提取标识符。无需 API 密钥。

参数:

  • url(string,必填)- 任何 YouTube URL 或视频 ID

支持的格式: youtube.com/watch?v=youtu.be//shorts//embed//playlist?list=/channel//@handle/c//user/、仅视频 ID

get_transcript

获取 YouTube 视频的完整转录文本/字幕。无需 API 密钥。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

  • lang(string,可选)- 字幕的语言代码(默认:"en"

在视频的转录文本中搜索关键词或短语。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

  • query(string,必填)- 要搜索的关键词或短语

  • lang(string,可选)- 字幕的语言代码(默认:"en"

extract_chapters

从视频描述中提取章节时间戳。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

get_clean_transcript

获取转录文本,其中通过 SponsorBlock 移除了赞助口播、开场、结尾和填充内容。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

  • lang(string,可选)- 字幕的语言代码(默认:"en"

get_most_replayed

获取“最多重播”热力图数据,显示观众重看最多的部分。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

注意: 需要大约 50K+ 次观看才会有热力图数据可用。

使用完整的过滤支持搜索 YouTube。

参数:

  • query(string,必填)- 搜索查询

  • max_results(number,可选)- 结果数量,1-50(默认:10

  • order(string,可选)- "relevance""date""viewCount""rating"(默认:"relevance"

  • duration(string,可选)- "short"(<4分钟)、"medium"(4-20分钟)、"long"(>20分钟)

  • upload_date(string,可选)- "hour""day""week""month""year"

  • type(string,可选)- "video""channel""playlist"(默认:"video"

get_video_metadata

获取 YouTube 视频的详细元数据。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

返回: 标题、描述、频道、时长、观看/点赞/评论数、标签、类别、缩略图、直播状态等。

get_channel_info

获取 YouTube 频道信息。

参数:

  • url(string,必填)- YouTube 频道 URL、@handle 或频道 ID

返回: 标题、描述、订阅者/视频/观看次数、国家/地区、自定义 URL 和缩略图。

get_playlist_items

获取 YouTube 播放列表中的所有视频。

参数:

  • url(string,必填)- YouTube 播放列表 URL 或播放列表 ID

  • max_results(number,可选)- 项目数量,1-50(默认:25

get_channel_videos

获取 YouTube 频道的近期视频。

参数:

  • url(string,必填)- YouTube 频道 URL、@handle 或频道 ID

  • max_results(number,可选)- 视频数量,1-50(默认:25

  • order(string,可选)- "date""viewCount"(默认:"date"

get_trending_videos

获取当前热门的 YouTube 视频。

参数:

  • region_code(string,可选)- ISO 3166-1 alpha-2 国家/地区代码(默认:"US"

  • category_id(string,可选)- YouTube 类别 ID(例如:音乐为 "10",游戏为 "20",科学与技术为 "28"

  • max_results(number,可选)- 结果数量,1-50(默认:10

在特定 YouTube 频道中搜索视频。

参数:

  • url(string,必填)- YouTube 频道 URL、@handle 或频道 ID

  • query(string,必填)- 搜索查询

  • max_results(number,可选)- 结果数量,1-50(默认:10

get_video_comments

获取 YouTube 视频的顶层评论。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

  • max_results(number,可选)- 评论数量,1-100(默认:20

  • order(string,可选)- "relevance""time"(默认:"relevance"

calculate_engagement

计算 YouTube 视频的互动指标。

参数:

  • url(string,必填)- YouTube 视频 URL 或视频 ID

返回: 观看次数、点赞数、评论数、点赞率、评论率和总体互动率。


工作原理

这个 MCP 服务器通过 stdio 传输连接到 Claude Code,并提供 15 个工具:

工具

数据源

需要 API 密钥?

parse_youtube_url

本地解析

get_transcript

youtube-transcript 库

search_transcript

youtube-transcript 库

get_clean_transcript

youtube-transcript + SponsorBlock API

get_most_replayed

YouTube 页面(Innertube)

extract_chapters

YouTube Data API v3

search_videos

YouTube Data API v3

get_video_metadata

YouTube Data API v3

get_channel_info

YouTube Data API v3

get_playlist_items

YouTube Data API v3

get_channel_videos

YouTube Data API v3

get_trending_videos

YouTube Data API v3

search_within_channel

YouTube Data API v3

get_video_comments

YouTube Data API v3

calculate_engagement

YouTube Data API v3

注意: 5 个工具无需 API 密钥即可使用(转录、SponsorBlock、热图、URL 解析)。其余 10 个需要 YouTube Data API v3 密钥。


配置

环境变量

变量

必填

默认值

描述

YOUTUBE_API_KEY

YouTube Data API v3 密钥

YOUTUBE_TIMEOUT

30000

API 超时时间(毫秒)

YouTube API 配额

YouTube Data API v3 的每日配额为 10,000 个单位。每个工具消耗的配额不同:

操作

每次调用成本

search (search_videos, search_within_channel)

100 个单位

videos.list (get_video_metadata, get_trending, calculate_engagement)

1 个单位

channels.list (get_channel_info, get_channel_videos)

1 个单位

playlists.list (get_playlist_items)

1 个单位

playlistItems.list (get_playlist_items, get_channel_videos)

1 个单位

commentThreads.list (get_video_comments)

1 个单位

提示: 搜索操作的成本最高。如果您只需要最新的上传内容,请使用 get_channel_videos(1 个单位),而不是 search_within_channel(100 个单位)。


故障排除

修复 API 密钥

如果您输入了错误的 API 密钥,请移除并重新安装:

claude mcp remove youtube

然后使用上文步骤 3.3 中的命令重新安装(使用与您最初安装时相同的范围)。

MCP 服务器未显示

检查服务器是否已安装:

claude mcp list

如果未列出,请按照步骤 3 进行安装。

服务器无法启动

  1. Google Cloud Console验证您的 API 密钥是否有效

  2. 检查 YouTube Data API 是否已启用

  3. 检查 Node.js 版本(需要 18+):

    node --version
  4. 确保服务器已构建 — 如果缺少 dist/index.js,请重新运行 npm install

连接错误

  1. 检查 dist/index.js 是否存在 — 如果不存在,请运行 npm install

  2. 在您的 claude mcp add 命令中验证路径是否为绝对路径

  3. 进行任何配置更改后,重新启动 Claude Code

超出配额

如果您看到“quotaExceeded”错误:

  • 等待太平洋时间午夜(配额每天重置)

  • 使用不同的 API 密钥

  • 优先使用低成本工具(get_video_metadata,每次 1 个单位),而不是搜索工具(100 个单位)

转录不可用

某些视频已禁用转录。get_transcript 工具会返回明确的错误消息。请尝试:

  • 使用不同的语言代码(例如 lang: "es"

  • 即使没有手动字幕,自动生成的字幕也可能可用

超时错误

如果连接较慢,请增大 YOUTUBE_TIMEOUT 环境变量:

claude mcp add -s user youtube -e YOUTUBE_API_KEY=YOUR_KEY -e YOUTUBE_TIMEOUT=60000 -- node /path/to/dist/index.js

查看当前配置

claude mcp list

贡献

欢迎提交 Pull Request!请保持简单,并适合初学者。

许可证

MIT


为 Claude Code 社区而制作。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.

  • YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.

  • Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/itx-rajpoot/youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server