YouTube视频字幕提取服务

一款基于Model Context Protocol的服务,用于提取YouTube视频的字幕和元数据,支持自动清理VTT格式以减少令牌使用,适用于视频内容摘要和问答场景。

  • by adampats
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 adampats/mcp-server-youtube

使用说明

YouTube转录MCP服务器

获取Youtube视频转录和元数据的模型上下文协议服务器。此服务器使LLM能够检索转录本,以便对视频内容进行总结和提问。除非请求原始格式,否则它会自动清理VTT格式,通过删除时间戳和格式来减少令牌使用。

它利用了 yt-dlp 图书馆用Youtube抓取重物,因为它似乎是最可靠的。

特性

  • 使用yt-dlp提取视频转录本
  • 检索视频元数据(标题、上传者、上传日期、持续时间、观看次数)
  • 支持手动字幕和自动字幕
  • 自动清理VTT格式以减少令牌使用
  • 返回完整的成绩单,不截断
  • 支持多种YouTube URL格式

可用工具

  • get_youtube -从YouTube视频中获取完整的文字记录和元数据
    • url (字符串,必填):用于从中获取成绩单的YouTube视频URL
    • raw (布尔值,可选):获取原始VTT内容而不进行清理(默认值:false)

提示

  • get_youtube
    • 获取YouTube视频转录和元数据
    • 论据:
      • url (字符串,必填):要获取的YouTube视频URL

JS运行时问题

截至2025年11月,yt-dlp现在需要deno-js运行时来提供最佳的视频检测支持。看 这个github问题 了解更多详情。 安装deno 这样地:

curl -fsSL https://deno.land/install.sh | sh

运行它

# <Clone this repo>
cd mcp-server-youtube
uv sync
uv run mcp-server-youtube

使用 检查员 用于测试:

npx @modelcontextprotocol/inspector uv run mcp-server-youtube

运行时+配置文件

原生(Python/uv) --添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "youtube": {
      "command": "uv",
      "args": ["run", "mcp-server-youtube"],
      "cwd": "/path/to/mcp-server-youtube"
    }
  }
}

替换 /path/to/mcp-server-youtube 与此仓库的实际路径(其中 pyproject.toml 生活)。确保 uv sync 已在该目录中运行过至少一次。

码头工人

塑造形象:

docker build -t mcp-server-youtube:0.2.2 .
docker tag mcp-server-youtube:0.2.2 mcp-server-youtube:latest

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "youtube": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "mcp-server-youtube"]
    }
  }
}