使用说明

项目简介

该项目实现了一个基于 Model Context Protocol (MCP) 的服务器,专门用于提供 YouTube 视频的文字稿(Transcript)获取功能。通过 'fetch_youtube_transcript' 工具,LLM 客户端可以轻松获取指定 YouTube 视频的文字稿内容,支持多种语言和文本/JSON 格式。

主要功能点

  • YouTube 文字稿获取: 提供 'fetch_youtube_transcript' 工具,根据视频ID获取YouTube视频的文字稿。
  • 多语言支持: 支持获取多种语言的文字稿(取决于YouTube视频本身提供的语言)。
  • 灵活的输出格式: 支持以纯文本 (text) 或 JSON 格式返回文字稿,方便不同场景下的数据处理。
  • MCP 协议兼容: 完全兼容 Model Context Protocol,可以与任何 MCP 客户端配合使用。

安装步骤

  1. 安装 uv: 如果尚未安装 'uv',请根据 uv 官方文档 进行安装。'uv' 用于项目和包管理。
  2. 克隆仓库: 使用 Git 克隆该仓库到本地。
    git clone https://github.com/PraveenKishore/mcp-server-youtube.git
    cd mcp-server-youtube
  3. 创建虚拟环境并安装依赖: 使用 'uv sync' 命令创建虚拟环境并安装项目依赖。
    uv sync
  4. 激活虚拟环境: 根据你的操作系统,激活虚拟环境。
    • Linux/MacOS:
      source .venv/bin/activate
    • Windows:
      .\.venv\Scripts\activate

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop, mcp-client-cli)一起使用,你需要在客户端的配置文件中添加以下服务器配置信息。以下是一个示例 JSON 配置,你需要根据你的实际情况进行调整。

{
  "mcpServers": {
    "youtube-transcripts": {  // 服务器名称,可以自定义,用于在客户端中引用
      "command": "uv",      // 启动服务器的命令,这里使用 uv 运行 Python 脚本
      "args": [             // 启动命令的参数列表
        "--directory",      // 指定工作目录
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-youtube/src", // 替换为你的 mcp-server-youtube 项目 src 目录的绝对路径
        "run",              // uv 的 run 命令,用于运行脚本
        "server.py"         // 要运行的服务器脚本
      ]
    }
  }
}

注意:

  • 请将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-server-youtube/src' 替换为你本地 'mcp-server-youtube' 仓库中 'src' 目录的 绝对路径
  • 'server name' (这里是 '"youtube-transcripts"') 可以自定义,在 MCP 客户端中通过这个名称来调用该服务器提供的工具。
  • 确保你的 MCP 客户端配置文件格式正确(例如 'claude_desktop_config.json' 或 '~/.llm/config.json')。

基本使用方法

配置完成后,在 MCP 客户端中,你可以通过服务器名称 '"youtube-transcripts"' 和工具名称 '"fetch_youtube_transcript"' 来调用获取 YouTube 文字稿的功能。

例如,在支持 MCP 协议的 LLM 应用中,你可以指示 LLM 调用 'youtube-transcripts/fetch_youtube_transcript' 工具,并提供 'video_id' (YouTube 视频 ID)、'lang_code' (语言代码,如 'en' 代表英语,默认为 'en') 和 'format' (输出格式,'text' 或 'json',默认为 'json') 等参数。

示例: 假设你要获取视频 ID 为 'dQw4w9WgXcQ' 的英文文字稿,并以 JSON 格式返回,你可以在 MCP 客户端中发起类似如下的工具调用请求(具体请求方式取决于你使用的 MCP 客户端):

{
  "serverName": "youtube-transcripts",
  "toolName": "fetch_youtube_transcript",
  "parameters": {
    "video_id": "dQw4w9WgXcQ",
    "lang_code": "en",
    "format": "json"
  }
}

请参考你使用的 MCP 客户端的文档,了解如何配置和调用 MCP 服务器的工具。

信息

分类

网页与API