YouTube MCP服务器使用说明

项目简介

YouTube MCP服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,它作为一个桥梁,使得AI语言模型(LLM)客户端能够以标准化的方式与YouTube平台进行交互。通过此服务器,LLM可以获取YouTube视频的各种信息,包括视频详情、频道信息、播放列表内容以及视频的文字稿等,从而扩展LLM在处理和理解视频内容方面的能力。

主要功能点

  • 视频信息管理:
    • 获取视频详细信息(标题、描述、时长等)。
    • 列出频道视频。
    • 获取视频统计数据(观看次数、点赞数、评论数)。
    • 在YouTube上搜索视频。
  • 文字稿管理:
    • 获取视频文字稿。
    • 支持多种语言的文字稿。
    • 获取带时间戳的字幕。
    • 在文字稿中搜索。
  • 频道管理:
    • 获取频道详细信息。
    • 列出频道播放列表。
    • 获取频道统计数据。
    • 在频道内容中搜索。
  • 播放列表管理:
    • 列出播放列表项目。
    • 获取播放列表详细信息。
    • 在播放列表中搜索。
    • 获取播放列表视频的文字稿。

安装步骤

方法一:通过 Smithery 自动安装 (推荐 Claude Desktop 用户)

  1. 确保已安装 Smithery CLI
  2. 打开终端,运行以下命令以自动安装 YouTube MCP Server:
    npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude

方法二:手动安装

  1. 确保已安装 Node.js 和 npm。
  2. 打开终端,运行以下命令安装 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 密钥步骤:

  1. 访问 Google Cloud Console
  2. 创建或选择一个已有的项目。
  3. 启用 YouTube Data API v3 服务。
  4. 在 "凭据" 页面创建 API 密钥
  5. 复制创建的 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