YouTube MCP服务器使用说明
项目简介
YouTube MCP服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,它作为一个桥梁,使得AI语言模型(LLM)客户端能够以标准化的方式与YouTube平台进行交互。通过此服务器,LLM可以获取YouTube视频的各种信息,包括视频详情、频道信息、播放列表内容以及视频的文字稿等,从而扩展LLM在处理和理解视频内容方面的能力。
主要功能点
- 视频信息管理:
- 获取视频详细信息(标题、描述、时长等)。
- 列出频道视频。
- 获取视频统计数据(观看次数、点赞数、评论数)。
- 在YouTube上搜索视频。
- 文字稿管理:
- 获取视频文字稿。
- 支持多种语言的文字稿。
- 获取带时间戳的字幕。
- 在文字稿中搜索。
- 频道管理:
- 获取频道详细信息。
- 列出频道播放列表。
- 获取频道统计数据。
- 在频道内容中搜索。
- 播放列表管理:
- 列出播放列表项目。
- 获取播放列表详细信息。
- 在播放列表中搜索。
- 获取播放列表视频的文字稿。
安装步骤
方法一:通过 Smithery 自动安装 (推荐 Claude Desktop 用户)
- 确保已安装 Smithery CLI。
- 打开终端,运行以下命令以自动安装 YouTube MCP Server:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
方法二:手动安装
- 确保已安装 Node.js 和 npm。
- 打开终端,运行以下命令安装 npm 包:
npm install @modelcontextprotocol/server-youtube
服务器配置
对于 MCP 客户端(例如 Claude Desktop),您需要配置服务器连接信息。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端配置文件中。
{ "mcpServers": { "youtube": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-youtube"], "env": { "YOUTUBE_API_KEY": "<YOUR_API_KEY>" } } } }
配置参数说明:
- '"youtube"': 服务器名称,您可以自定义,用于在客户端中标识此服务器。
- '"command": "npx"': 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
- '"args": ["-y", "@modelcontextprotocol/server-youtube"]': 'npx' 命令的参数,'-y' 表示自动确认,'@modelcontextprotocol/server-youtube' 是要运行的 npm 包名称,也是YouTube MCP服务器的入口。
- '"env"': 环境变量配置。
- '"YOUTUBE_API_KEY": "<YOUR_API_KEY>"': 必需配置。您需要替换 '<YOUR_API_KEY>' 为您在 Google Cloud Console 中创建的 YouTube Data API v3 密钥。请务必妥善保管您的 API 密钥。
获取 YouTube API 密钥步骤:
- 访问 Google Cloud Console。
- 创建或选择一个已有的项目。
- 启用 YouTube Data API v3 服务。
- 在 "凭据" 页面创建 API 密钥。
- 复制创建的 API 密钥并替换到上述配置 JSON 中的 '<YOUR_API_KEY>' 位置。
基本使用方法
配置完成后,您的 MCP 客户端应该能够连接到 YouTube MCP 服务器。您可以通过客户端提供的界面或指令,调用服务器提供的各项功能,例如:
- 获取视频信息: 指定视频 ID,即可获取该视频的标题、描述、统计数据等。
- 搜索 YouTube 视频: 输入关键词,服务器将返回 YouTube 上相关的视频搜索结果。
- 获取视频文字稿: 指定视频 ID 和语言,服务器将返回该视频的文字稿内容。
- 管理频道和播放列表: 通过指定频道 ID 或播放列表 ID,可以获取频道或播放列表的详细信息和内容列表。
具体的调用方式和参数,请参考您的 MCP 客户端的使用文档,并在客户端中选择对应的 "youtube" 服务器进行操作。
示例 (在客户端中可能的操作):
// 假设客户端已经连接到名为 "youtube" 的 MCP 服务器 // 获取视频详情 const videoDetails = await client.callTool('youtube.videos.getVideo', { videoId: 'dQw4w9WgXcQ' }); console.log(videoDetails); // 搜索视频 const searchResults = await client.callTool('youtube.videos.searchVideos', { query: 'Model Context Protocol', maxResults: 5 }); console.log(searchResults); // 获取视频文字稿 (英文) const transcript = await client.callTool('youtube.transcripts.getTranscript', { videoId: 'dQw4w9WgXcQ', language: 'en' }); console.log(transcript);
请注意,以上 JavaScript 代码仅为示例,实际使用方式取决于您的 MCP 客户端的具体 API 和操作界面。
信息
分类
网页与API