返回 MCP 目录
public公开dns本地运行

youtube_transcript

一个提供YouTube视频转录API的Python服务,支持REST和MCP接口,具备多语言转录、自动检测和音频转录回退功能。

article

README

🚀 YouTube 字幕 API

本项目是一个Python服务,通过API来获取并转录YouTube视频内容。它提供了REST API(基于Flask)和MCP服务器两种实现方式,能满足不同场景下获取YouTube视频字幕的需求。

🚀 快速开始

本服务提供了REST API(Flask)和MCP服务器两种使用方式,你可以根据自己的需求进行选择。

REST API(Flask)

启动Flask服务器:

python apps/flask_server.py

可用端点:

  • GET /transcript?video_id=<video_id>&language=<lang> - 获取视频字幕
  • GET /video/info?video_id=<video_id> - 获取视频信息
  • GET /health - 健康检查端点

MCP 服务器

启动MCP服务器:

python apps/mcp_server.py

可用工具:

  • get_transcript(video_id, language) - 获取视频字幕
  • extract_transcript(video_id, language) - 从音频中提取字幕
  • search_youtube_video(query) - 搜索YouTube视频

✨ 主要特性

  • 多语言支持:可获取多种语言的YouTube视频字幕,目前支持英语和越南语。
  • 自动检测:自动检测并使用可用字幕,当没有字幕时,会fallback到音频转录(使用Whisper)。
  • 双接口实现:支持REST API和MCP服务器接口,满足不同使用场景。
  • 智能语言检测:具备自动语言检测功能。
  • 文件清理:可进行临时文件清理。
  • 进度报告:长时间操作会有进度报告。

📦 安装指南

pip install -r requirements.txt

💻 使用示例

基础用法

REST API(Flask)

启动服务器:

python apps/flask_server.py

获取视频字幕:

curl "http://127.0.0.1:5000/transcript?video_id=your_video_id&language=en"

MCP 服务器

启动服务器:

python apps/mcp_server.py

在Python代码中获取视频字幕:

from apps.mcp_server import get_transcript
transcript = get_transcript('your_video_id', 'en')
print(transcript)

📚 详细文档

语言支持

  • 英语(en)
  • 越南语(vi)
  • 其他语言的自动检测

依赖项

  • youtube-transcript-api
  • pytube
  • whisper
  • torch
  • langdetect
  • flask(用于REST API)
  • mcp(用于MCP服务器)

开发

项目的结构:

apps/
├── __init__.py
├── flask_server.py  # REST API 实现
├── mcp_server.py    # MCP 服务器实现
└── utils.py         # 公共工具

📄 许可证

MIT License

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端