YouTube字幕MCP服务器

一个允许AI助手下载和分析YouTube视频字幕的模型上下文协议服务器。

  • by setkyar
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 setkyar/youtube-subtitles-mcp

使用说明

YouTube字幕MCP服务器

一个模型上下文协议(MCP)服务器,允许像克劳德这样的人工智能助手下载和分析YouTube视频字幕。

特性

  • 下载YouTube字幕:从任何YouTube视频中获取字幕
  • 语言支持:下载任何可用语言的字幕
  • 视频信息:检索视频元数据(标题、持续时间、上传日期等)
  • 多语言检测:列出视频的所有可用字幕语言
  • 无缝AI集成:与Claude和其他兼容MCP的助手配合使用
  • Docker支持:使用Docker轻松部署

需求

  • Python 3.10+
  • yt-dlp
  • FFmpeg
  • MCP兼容客户端(如克劳德桌面)
  • Docker(可选,用于容器化部署)

安装

使用Docker(推荐)

  1. 克隆此存储库:

    git clone https://github.com/setkyar/youtube-subtitles-mcp.git
    cd youtube-subtitles-mcp
    
  2. 使用Docker构建和运行:

    docker build -t mcp/youtube-subtitles .
    

手动安装

  1. 克隆此存储库:

    git clone https://github.com/setkyar/youtube-subtitles-mcp.git
    cd youtube-subtitles-mcp
    
  2. 安装依赖项:

    pip install "mcp[cli]>=1.2.0" yt-dlp
    
  3. 安装ffmpeg:

    • 在Ubuntu/Debian上: sudo apt-get install ffmpeg
    • 在macOS(Homebrew)上: brew install ffmpeg
    • 在Windows上:从下载 ffmpeg.org
  4. 运行服务器:

    python youtube_subtitles_server.py
    

与Claude Desktop集成

  1. 打开克劳德桌面
  2. 点击克劳德菜单,选择“设置”
  3. 点击左侧边栏中的“开发人员”
  4. 点击“编辑配置”
  5. 更新配置以包括您的MCP服务器:
{
  "mcpServers": {
    "youtube-subtitles": {
      "command": "docker",
      "args": ["run", "-i", "mcp/youtube-subtitles"]
    }
  }
}
  1. 保存文件并重新启动Claude Desktop

使用示例

一旦与Claude Desktop等MCP客户端集成,您就可以:

  1. 获取视频信息:

    What's the title and upload date of this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
    
  2. 列出可用的字幕语言:

    What subtitle languages are available for this video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
    
  3. 下载并分析字幕:

    Can you get the English subtitles for this video and summarize what it's about? https://www.youtube.com/watch?v=dQw4w9WgXcQ
    
  4. 翻译字幕:

    Get the Spanish subtitles for this video and translate them to English: https://www.youtube.com/watch?v=dQw4w9WgXcQ
    

运作原理

服务器向MCP客户端公开了三个主要工具:

  1. get_video_info:检索有关YouTube视频的基本元数据
  2. list_subtitle_languages:显示视频的可用字幕语言
  3. download_subtitles:下载并格式化特定语言的字幕

所有操作都是使用yt-dlp执行的,yt-dlp是一个功能强大的YouTube dl分支,对字幕和格式有更好的支持。

Docker配置

包含的Dockerfile:

  • 使用Python 3.10作为基础映像
  • 安装ffmpeg进行字幕处理
  • 安装所需的Python依赖项
  • 将MCP服务器设置为通过stdio传输运行

对于自定义Docker设置,您可以根据需要修改Dockerfile或Docker-compose.yml文件。

故障排除

常见问题及解决方法

  1. 字幕不可用并非所有YouTube视频都有字幕。尝试另一个视频。
  2. 缺失的语言:有些视频只有原始语言的自动生成字幕。
  3. Docker连接问题:确保容器正在运行,并且Claude Desktop配置正确。

日志

Docker日志可以通过以下方式查看:

docker logs youtube-subtitles-mcp

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

致谢