YouTube MCP 服务器

YouTube 的模型上下文协议 (MCP) 服务器实现,使 AI 语言模型能够通过标准化界面与 YouTube 内容进行交互。
特征
视频信息
获取视频详细信息(标题、描述、时长等)
列出频道视频
获取视频统计数据(观看次数、点赞次数、评论次数)
在 YouTube 上搜索视频
成绩单管理
检索视频记录
支持多种语言
获取带时间戳的字幕
在成绩单内搜索
渠道管理
获取频道详情
列出频道播放列表
获取频道统计信息
在频道内容内搜索
播放列表管理
列出播放列表项目
获取播放列表详细信息
在播放列表中搜索
获取播放列表视频脚本
Related MCP server: YouTube MCP Server
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 YouTube MCP 服务器:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
手动安装
npm install zubeid-youtube-mcp-server
配置
设置以下环境变量:
与 MCP 客户端一起使用
将其添加到您的 MCP 客户端配置(例如 Claude Desktop):
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
与 VS Code 一起使用
对于一键安装,请单击以下安装按钮之一:

手动安装
如果您希望手动安装,请先勾选本节顶部的安装按钮。否则,请按照以下步骤操作:
将以下 JSON 块添加到 VS Code 中的“用户设置 (JSON)”文件中。您可以按下Ctrl + Shift + P并输入Preferences: Open User Settings (JSON)来执行此操作。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}
}
或者,您可以将其添加到工作区中名为.vscode/mcp.json的文件中:
{
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}
YouTube API 设置
前往 Google Cloud Console
创建新项目或选择现有项目
启用 YouTube 数据 API v3
创建 API 凭证(API 密钥)
复制 API 密钥进行配置
示例
管理视频
// Get video details
const video = await youtube.videos.getVideo({
videoId: "video-id"
});
// Get video transcript
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});
// Search videos
const searchResults = await youtube.videos.searchVideos({
query: "search term",
maxResults: 10
});
管理频道
// Get channel details
const channel = await youtube.channels.getChannel({
channelId: "channel-id"
});
// List channel videos
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});
管理播放列表
// Get playlist items
const playlistItems = await youtube.playlists.getPlaylistItems({
playlistId: "playlist-id",
maxResults: 50
});
// Get playlist details
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});
发展
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint
贡献
有关对此存储库做出贡献的信息,请参阅 CONTRIBUTING.md。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。