项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在为LLM客户端提供从YouTube视频中提取文字稿的功能。通过简单的工具调用,即可获取指定YouTube视频的字幕或文字记录,为LLM应用提供视频内容的上下文信息。

主要功能点

  • 获取YouTube视频文字稿:支持通过视频URL或视频ID获取YouTube视频的文字稿内容。
  • 多语言支持:允许指定文字稿的语言,默认为英文。
  • 灵活的URL格式:支持多种YouTube视频URL格式,以及直接使用视频ID。
  • 错误处理:具备完善的错误处理机制,能够应对无效的URL、不可用的文字稿、网络错误等情况。

安装步骤

  1. 环境准备:确保已安装 Node.js 18 或更高版本及 npm 或 yarn 包管理器。
  2. 下载代码:从 GitHub 仓库克隆或下载项目代码到本地。
    git clone https://github.com/MCP-Mirror/kimtaeyoon83_mcp-server-youtube-transcript.git
    cd kimtaeyoon83_mcp-server-youtube-transcript
  3. 安装依赖:在项目根目录下运行 npm install 命令安装项目依赖。
    npm install
  4. 构建项目:运行 npm run build 命令构建服务器代码。
    npm run build

服务器配置

要将此MCP服务器配置到MCP客户端(如 Claude Desktop),您需要提供以下配置信息。客户端将使用这些信息启动并连接到服务器。

{
  "mcpServers": {
    "youtube-transcript": { // 服务器名称,用于在客户端中标识和引用
      "command": "npx", // 启动服务器的命令,这里使用 npx 来运行 npm 包
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"] // 命令参数,指定要运行的 npm 包名称,-y 参数用于跳过安装确认
    }
  }
}

配置说明

  • '"youtube-transcript"': 服务器的名称,可以自定义,客户端会使用这个名称来引用该服务器。
  • '"command": "npx"': 指定启动服务器的命令为 'npx',它允许直接运行 npm 包,无需全局安装。
  • '"args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]': 'npx' 命令的参数,'@kimtaeyoon83/mcp-server-youtube-transcript' 是要执行的 npm 包名称,'-y' 参数是为了在使用 'npx' 安装包时自动确认,避免交互式提示。

将以上 JSON 配置添加到您的 MCP 客户端的配置文件中,通常是在客户端的设置或偏好设置中找到 MCP 服务器配置部分。

基本使用方法

配置完成后,在 MCP 客户端中,您可以通过调用 'get_transcript' 工具来获取YouTube视频的文字稿。

工具名称: 'get_transcript'

工具参数:

  • 'url' (string, 必填): YouTube 视频的 URL 或视频 ID。例如: '"https://www.youtube.com/watch?v=VIDEO_ID"' 或 '"VIDEO_ID"'。
  • 'lang' (string, 可选): 文字稿的语言代码。例如: '"en"' (英文), '"ko"' (韩文), '"zh"' (中文) 等。如果省略,默认为英文。

调用示例 (在支持MCP协议的客户端中,具体调用方式请参考客户端文档):

// 假设客户端的 MCP 调用方法为 client.callTool
client.callTool("youtube-transcript", "get_transcript", { url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ", lang: "zh" })
  .then(response => {
    console.log(response.toolResult.content[0].text); // 输出提取的中文文字稿
  })
  .catch(error => {
    console.error("调用工具失败:", error);
  });

请注意,实际使用时需要根据您的 MCP 客户端的具体API和调用方式进行操作。

信息

分类

网页与API