YouTube字幕提取服务

使用FastMCP和youtube-transcript-api包从YouTube视频中提取字幕,支持纯文本和SRT格式输出。

  • by Jaswir
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Jaswir/Youtube_MCP_Tutorial

使用说明

Youtube成绩单MCP教程

此MCP服务器使用 FastMCP 以及公众 youtube-transcript-api 要提取的包裹 YouTube视频字幕,并以纯文本或SRT字幕的形式返回完整的文字记录。

它支持:

  • 输入:完整的YouTube URL(例如。 https://www.youtube.com/watch?v=VIDEO_ID 或 https://youtu.be/VIDEO_ID)
  • 输出:完整转录为单个纯文本字符串
  • 行为:仅适用于具有现有字幕的视频(手动或自动生成)

1.先决条件

  • Python 3.11+
  • uv 安装在您的系统上

2.使用uv安装依赖项

从项目根(/Users/jaswirraghoe/Documents/youtube_mcp):

cd /Users/jaswirraghoe/Documents/youtube_mcp
uv sync

这将安装:

  • fastmcp --MCP服务器框架
  • youtube-transcript-api -公开YouTube成绩单API包装

3.运行服务器

您可以使用以下命令运行MCP服务器 uv:

cd /Users/jaswirraghoe/Documents/youtube_mcp
uv run youtube_mcp_server.py

这将启动中定义的MCP服务器 youtube_mcp_server.py.

4.关键工具

YouTube文字记录 描述
get_transcript_text 返回完整的成绩单 纯文本 (标题按顺序连接)
get_transcript_srt 返回完整的成绩单 SRT字幕 格式

如果视频没有字幕、字幕被禁用或视频不可用,
这些工具返回一条明确的错误消息。

5.MCP客户端配置示例(Claude Desktop)

在你的 claude_desktop_config.json (或等效),您可以将此服务器注册为:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "/Users/jaswirraghoe/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/jaswirraghoe/Documents/youtube_mcp",
        "run",
        "youtube_mcp_server.py"
      ]
    }
  }
}

保存配置后,重新启动MCP客户端。然后你应该看到一个 youtube-transcript 服务器与 get_transcript_text 和 get_transcript_srt 接受YouTube网址并以纯文本或SRT形式返回成绩单的工具。