YouTube Transcript MCP Server

使用说明

项目简介

本项目 'YouTube Transcript MCP Server' 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 应用提供便捷的 YouTube 视频内容访问能力。它不仅可以通过 YouTube API 获取视频字幕,还能在没有官方字幕时,利用 Whisper 模型进行音频转录,从而为 LLM 提供丰富的上下文信息。此外,该服务器还支持视频信息查询和 YouTube 视频搜索功能,扩展了 LLM 应用处理视频内容的能力。

主要功能点

  • 资源 (Resources)
    • 'youtube://{video_id}/info': 获取 YouTube 视频的基本信息,如标题、作者、时长、观看次数、发布日期和描述等。
    • 'youtube://{video_id}/transcript': 获取 YouTube 视频的字幕文本。
  • 工具 (Tools)
    • 'get_transcript(video_id, language)': 尝试从 YouTube API 获取指定视频 ID 的字幕,并支持指定语言(英语或越南语)。如果 API 提供字幕,则直接返回;否则返回提示信息。
    • 'extract_transcript(video_id, language)': 当 YouTube API 没有字幕时,该工具会自动下载视频音频,并使用 Whisper 模型进行语音转录,支持指定语言(英语或越南语)。
    • 'search_youtube_video(search_query)': 根据关键词搜索 YouTube 视频,并返回搜索结果列表,包含视频标题、ID、频道和URL。
  • Prompt 模板 (Prompts)
    • 'transcript_youtube_video(video_url_or_id)': 引导 LLM 获取指定 YouTube 视频的字幕,并进行摘要、语言分析和全文输出。
    • 'vietnamese_youtube_summary(video_url_or_id)': 引导 LLM 获取指定 YouTube 视频的字幕,并生成越南语摘要和关键点总结。

安装步骤

  1. 克隆仓库
    git clone https://github.com/minhleathvn/youtube_transcript.git
    cd youtube_transcript
  2. 安装 FFmpeg
    • macOS: 'brew install ffmpeg'
    • Ubuntu/Debian: 'sudo apt-get install ffmpeg'
    • Windows: 从 FFmpeg 官网 下载安装。
  3. 安装 Python 依赖
    pip install -r requirements.txt

服务器配置

MCP 客户端 (如 Claude Desktop) 需要以下配置信息来启动和连接 YouTube Transcript MCP Server:

{
  "serverName": "YouTube Transcript MCP Server",  // MCP 服务器名称,可自定义
  "command": "mcp",                             // 启动命令,这里使用 mcp 命令行工具
  "args": [                                     // 启动参数
    "install",                                  // mcp install 命令用于安装和启动 MCP 服务器
    "mcp_server.py"                             // MCP 服务器入口脚本
  ]
}

注意: 确保已安装 'mcp' 命令行工具 (通常通过 'pip install mcp-cli' 安装)。

基本使用方法

  1. 启动 MCP 服务器 按照上述服务器配置,在 MCP 客户端中添加并启动 "YouTube Transcript MCP Server"。
  2. 使用 Resources 在 MCP 客户端中,可以使用以下资源 URL 获取信息:
    • 'youtube://dQw4w9WgXcQ/info': 获取视频 ID 为 'dQw4w9WgXcQ' 的视频信息。
    • 'youtube://dQw4w9WgXcQ/transcript': 获取视频 ID 为 'dQw4w9WgXcQ' 的视频字幕。
  3. 使用 Tools 在 MCP 客户端中,可以调用以下工具执行操作:
    • 'get_transcript(video_id='dQw4w9WgXcQ', language='en')': 获取视频 ID 为 'dQw4w9WgXcQ' 的英文版字幕。
    • 'extract_transcript(video_id='dQw4w9WgXcQ', language='vi')': 强制提取并转录视频 ID 为 'dQw4w9WgXcQ' 的越南语字幕。
    • 'search_youtube_video(search_query='OpenAI')': 搜索 YouTube 上关于 "OpenAI" 的视频。
  4. 使用 Prompts 在 MCP 客户端中,可以使用以下 Prompt 模板与 LLM 交互:
    • 'transcript_youtube_video(video_url_or_id='https://www.youtube.com/watch?v=dQw4w9WgXcQ')': 指示 LLM 获取视频 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' 的字幕并进行处理。
    • 'vietnamese_youtube_summary(video_url_or_id='dQw4w9WgXcQ')': 指示 LLM 获取视频 ID 为 'dQw4w9WgXcQ' 的字幕,并生成越南语摘要。

通过以上步骤,即可在支持 MCP 协议的 LLM 客户端中使用 YouTube Transcript MCP Server 提供的功能,方便地获取和利用 YouTube 视频内容。

服务器信息