Token导航 LogoToken导航TokenDH.com
Yt MCP Transcript logo
音视频stdio官方级别未说明来源级核验

Yt MCP Transcript

MCP Server

一款全面的YouTube字幕提取工具,提供多种接口方式,适用于AI助手、自动化工具和浏览器访问。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
视频处理PythonVS Code多语言支持VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Marvel202

提供方

Marvel202

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

🎬 YouTube转录MCP服务器

一个全面的YouTube转录提取工具,提供三个不同的界面:

  1. 🤖 模型上下文协议(MCP)服务器 -用于AI助手和工具
  2. ⚡ FastAPI HTTP 服务器 -适用于n8n等自动化工具
  3. 🌐 Gradio Web界面 -便于基于浏览器的访问

✨ 特性

  • 📺 使用视频ID或URL从YouTube视频中提取转录
  • 🌍 支持多种字幕语言
  • 💾 自动保存带有时间戳的文件
  • 🔄 针对不同用例的多种接口选项
  • 🛡️ 强大的错误处理和验证

📦 安装

🔧 先决条件

  • 🐍 Python 3.8+
  • 📦 uv包管理器(推荐)或pip

🚀 使用紫外线(推荐)

# Clone the repository
git clone https://github.com/Marvel202/yt-mcp-transcript.git
cd yt-mcp-transcript

# Create virtual environment and install dependencies
uv sync

🐍 使用pip

# Clone the repository
git clone https://github.com/Marvel202/yt-mcp-transcript.git
cd yt-mcp-transcript

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

🚀 用法

1.🤖 MCP服务器模式(适用于AI助手)

VS代码MCP集成

要与VS Code MCP一起使用,请更新您的 mcp.json 配置文件:

{
  "servers": {
    "youtube": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/your/yt-mcp-transcript",
        "python", 
        "src/mcp_youtube.py"
      ]
    }
  }
}
💡 备注:替换 /path/to/your/yt-mcp-transcript 使用您的实际项目目录路径。

手动启动MCP服务器

手动启动MCP服务器:

# With uv
uv run python src/mcp_youtube.py --mode mcp

# With pip
python src/mcp_youtube.py --mode mcp

🛠️ 可用的MCP工具

  • 📝 get_transcript -从YouTube视频中提取文字记录
  • 💾 save_transcript_to_file -将成绩单保存到带有时间戳的文件中

2.⚡ FastAPI HTTP服务器模式(适用于n8n和自动化)

在端口8080上启动HTTP服务器,超时60秒:

# 🚀 With uv
uv run python src/mcp_youtube.py --mode fastapi

# 🐍 With pip
python src/mcp_youtube.py --mode fastapi

🌐 可用HTTP端点

📥 GET/转录/{video_id}

  • 📝 按视频ID提取成绩单
  • 💡 例子: GET http://localhost:8080/transcript/pebgrFQ-C7M

📮 POST/成绩单

  • 📝 从URL或视频ID提取转录
  • 📋 请求正文: {"video_url": "https://youtube.com/watch?v=pebgrFQ-C7M"}{"video_id": "pebgrFQ-C7M"}

💾 POST/转录/保存

  • 💾 提取成绩单并保存到文件
  • 📋 请求正文: {"video_url": "https://youtube.com/watch?v=pebgrFQ-C7M", "filename": "my_transcript.txt"}

🏥 GET/健康

  • ✅ 服务器健康检查

🔧 卷曲示例

# 📥 Get transcript by video ID
curl http://localhost:8080/transcript/pebgrFQ-C7M

# 📮 Get transcript from URL
curl -X POST http://localhost:8080/transcript \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://youtube.com/watch?v=pebgrFQ-C7M"}'

# 💾 Save transcript to file
curl -X POST http://localhost:8080/transcript/save \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://youtube.com/watch?v=pebgrFQ-C7M", "filename": "study_session.txt"}'

3.🌐 Gradio Web界面(基于浏览器)

启动web界面:

# 🚀 First, start the FastAPI server in one terminal
uv run python src/mcp_youtube.py --mode fastapi

# 🌐 Then start the Gradio interface in another terminal
uv run python gradio_interface.py

🌐 打开浏览器 http://localhost:7860 使用web界面。

⚙️ 配置

🔗 n8n的配置

与一起使用时 n8n (尤其是在Docker中),配置HTTP请求节点:

💾 要将成绩单保存到本地目录:

  • 方法: POST
  • 统一资源定位符: http://host.docker.internal:8080/transcript/save
  • 身体:JSON格式 {"video_url": "YOUR_YOUTUBE_URL", "filename": "optional_filename.txt"}
  • 超时: 60000ms (60秒)

📝 仅用于转录提取(不保存):

  • 方法: POST
  • 统一资源定位符: http://host.docker.internal:8080/transcript
  • 身体:JSON格式 {"video_url": "YOUR_YOUTUBE_URL"}
  • 超时: 60000ms (60秒)
💡 备注:使用 host.docker.internal 当n8n在Docker中运行以访问您的本地服务器时。

🎬 支持的YouTube URL格式

  • 📺 https://www.youtube.com/watch?v=VIDEO_ID
  • 🔗 https://youtu.be/VIDEO_ID
  • 📱 https://m.youtube.com/watch?v=VIDEO_ID
  • 🎯 只有视频ID: VIDEO_ID

📁 文件结构

yt-mcp-transcript/
├── src/
│   ├── __init__.py
│   └── mcp_youtube.py          # 🚀 Main server application
├── gradio_interface.py         # 🌐 Web interface
├── transcript/                 # 📁 Saved transcripts directory
├── pyproject.toml             # ⚙️ Project configuration
├── README.md                  # 📖 This file
└── test_transcript_saving.py  # 🧪 Test script

📤 API响应格式

所有端点都返回JSON响应:

✅ 成功响应:

{
  "success": true,
  "video_id": "pebgrFQ-C7M",
  "transcript": "Hello everyone\nWelcome to this video...",
  "language": "en",
  "with_timestamps": false
}

❌ 错误响应:

{
  "success": false,
  "error": "No transcript found for this video",
  "video_id": "invalid_id"
}

🛡️ 错误处理

服务器处理各种错误情况:

  • 🚫 视频ID或URL无效
  • 📵 没有可用成绩单的视频
  • 🌐 网络连接问题
  • ⏱️ 服务器超时(FastAPI模式限制为60秒)

🧪 测试

测试转录提取:

# 🧪 Test with the target video
uv run python test_transcript_saving.py

🔧 发展

🚀 以开发模式运行

# 🤖 MCP mode with auto-reload
uv run python src/mcp_youtube.py --mode mcp

# ⚡ FastAPI mode with auto-reload
uv run python src/mcp_youtube.py --mode fastapi --reload

📦 依赖项

  • 🤖 fastmcp>=1.12.2 -MCP服务器框架
  • 📺 youtube-transcript-api>=1.2.1 -YouTube文字记录提取
  • fastapi>=0.116.1 -HTTP API框架
  • 🚀 uvicorn>=0.25.0 -ASGI服务器
  • 🌐 gradio>=5.38.2 -Web界面框架
  • 📋 pydantic>=2.0.0 -数据验证

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

🤝 贡献

  1. 🍴 分叉存储库
  2. 🌿 创建要素分支
  3. ✨ 进行更改
  4. 🧪 如果适用,添加测试
  5. 📤 提交拉取请求

🆘 支持

对于问题或疑问:

  1. 📋 查看GitHub问题页面
  2. 🐛 创建包含详细信息的新问题
  3. 📝 包括错误消息和重现步骤

______________________________________________________________________

🎯 测试目标视频: pebgrFQ-C7M (与Calm Jazz进行2小时学习)

目录标签

目录标签

视频处理PythonVS Code多语言支持字幕提取本地部署自动化工具AI助手

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP