YouTube 视频字幕提取服务

一个基于Model Context Protocol (MCP)的远程服务器,用于从YouTube视频中提取字幕,支持多语言且无需本地安装。

  • by dlehman
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 dlehman/youtube-transcript-mcp

使用说明

YouTube转录远程MCP服务器

这 第一遥控器 模型上下文协议(MCP)服务器,使Claude AI能够从YouTube视频中提取转录本。此服务器为包括移动设备在内的任何平台上的用户提供零设置访问权限。

🌟 特性

  • 零本地设置:无需安装-直接从云端工作
  • 通用访问:适用于桌面、移动和网络版本的Claude
  • 智能缓存:使用Cloudflare KV实现快速响应的高效缓存系统
  • 多语言支持:提取不同语言的成绩单
  • 错误处理:通过用户友好的消息进行强大的错误处理
  • 分析:内置请求跟踪和使用情况分析
  • URL灵活性:处理所有YouTube URL格式(YouTube.com、youtu.be、m.YouTube.com等)

🚀 快速开始

选项1:使用我们的托管服务器(推荐)

最简单的入门方法-只需将我们的公共服务器添加到您的Claude桌面:

适用于Claude桌面用户

  1. 打开克劳德桌面设置

    • 点击菜单栏中的“Claude”→ “设置”
    • 导航到“开发人员”选项卡
    • 点击“编辑配置”
  2. 添加MCP服务器配置

    将此添加到您的 claude_desktop_config.json:

    {
      "mcpServers": {
        "youtube-transcript": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://youtube-transcript-mcp.ergut.workers.dev/sse"
          ]
        }
      }
    }
    
  3. 重新启动克劳德桌面

    保存配置文件后,重新启动Claude Desktop以加载服务器。

  4. 验证安装

    查找工具图标(🔧) 在聊天界面中。你应该看看 get_transcript 工具可用。

选项2:部署自己的

想运行自己的实例吗?一键部署到Cloudflare Workers:

或手动:

git clone https://github.com/ergut/youtube-transcript-mcp
cd youtube-transcript-mcp
npm install
npm run deploy

对于其他MCP客户端

服务器支持标准MCP协议,可以与任何兼容的客户端一起使用:

  • 公共服务器URL: https://youtube-transcript-mcp.ergut.workers.dev/sse
  • 运输:服务器发送事件(SSE)或HTTP
  • 认证:无需(公共服务器)

📖 使用示例

基本转录提取

Extract the transcript from this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ

多语言支持

Can you get the transcript of this video in Turkish: https://youtu.be/VIDEO_ID
Extract the Spanish transcript from: https://www.youtube.com/watch?v=VIDEO_ID

支持的URL格式

服务器会自动处理所有YouTube URL格式:

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://m.youtube.com/watch?v=VIDEO_ID
  • https://www.youtube.com/live/VIDEO_ID
  • https://www.youtube.com/embed/VIDEO_ID
  • https://www.youtube.com/shorts/VIDEO_ID
  • 国际域名(youtube.co.uk, youtube.de等等)

所有跟踪参数(如 ?si=, &t=等)被自动移除。

🛠 可用工具

get_transcript

从YouTube视频URL中提取文字记录。

参数:

  • url (必填):任何格式的YouTube视频URL
  • language (可选):成绩单的语言代码(例如“en”、“es”、“fr”)。默认为“en”。

示例用法:

{
  "name": "get_transcript",
  "arguments": {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "language": "en"
  }
}

🔧 高级配置

调试日志记录

要启用详细的日志记录以进行故障排除,请执行以下操作:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://youtube-transcript-mcp.ergut.workers.dev/sse",
        "--debug"
      ]
    }
  }
}

调试日志将在中创建 ~/.mcp-auth/{server_hash}_debug.log.

仅限HTTP传输

要强制使用HTTP传输而不是SSE:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://youtube-transcript-mcp.ergut.workers.dev/mcp",
        "--transport",
        "http-only"
      ]
    }
  }
}

📊 服务器信息

  • 托管:Cloudflare员工
  • 缓存:Cloudflare KV提供7天缓存,用于成功转录
  • 速率限制:具有指数回退的内置重试逻辑
  • 运行时间:通过Cloudflare的全球网络实现99.9%以上的可用性
  • 响应时间:缓存内容通常<3秒,新请求通常<10秒

🚨 错误处理

服务器为常见问题提供明确的错误消息:

  • “提供的YouTube URL无效”:无法识别URL格式
  • “此视频没有可用的文字记录”:视频没有字幕/文字记录
  • “未找到视频或视频为私人视频”:视频为私人、已删除或不存在
  • 服务暂时繁忙,请在几分钟后重试:YouTube的速率限制
  • “此视频的文字记录已禁用”:创建者已禁用字幕

🌍 语言支持

该服务器支持YouTube提供文字记录的任何语言。通用语言代码:

  • en -英语(默认)
  • tr -土耳其语
  • es -西班牙语
  • fr -法语
  • de -德语
  • it -意大利语
  • pt -葡萄牙语
  • ja -日语
  • ko -朝鲜语
  • zh -中文

🔒 隐私和安全

  • 不要求进行验证:公共服务器,便于使用
  • 无数据存储:临时缓存成绩单仅用于性能
  • 无个人信息:只处理YouTube视频ID和转录
  • 仅限HTTPS:所有通信都是加密的
  • CORS已启用:支持基于web的MCP客户端

🚀 API终点

对于想要直接集成的开发人员:

HTTP POST /mcp

用于直接集成的标准MCP JSON-RPC端点。

服务器发送的事件 /sse

MCP SSE传输端点,用于实时通信。

信息 /

服务器信息和状态端点。

API直接调用示例:

curl -X POST https://youtube-transcript-mcp.ergut.workers.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_transcript",
      "arguments": {
        "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "language": "en"
      }
    }
  }'

🐛 故障排除

常见问题

  1. Claude Desktop中的“连接错误”

    • 确保您拥有最新的Claude Desktop版本
    • 检查一下 mcp-remote 已正确配置
    • 尝试添加 --debug 标记以查看详细日志
  2. “无法连接到MCP服务器”

    • 验证您的互联网连接
    • 检查服务器URL是否正确
    • 配置更改后重新启动Claude Desktop
  3. 未返回成绩单

    • 验证YouTube URL是否有效且可访问
    • 检查视频是否启用了字幕
    • 如果可用,请尝试其他语言代码

获取帮助

  • 检查日志:往里看 ~/.mcp-auth/ 用于调试日志
  • 测试直接连接:使用 npx -p mcp-remote@latest mcp-remote-client https://youtube-transcript-mcp.ergut.workers.dev/sse
  • 验证服务器状态:参观 https://youtube-transcript-mcp.ergut.workers.dev/
  • 打开一个问题: GitHub 问题

🤝 贡献

这是一个开源项目。欢迎投稿!

  • 报告问题:发现一个bug?请 打开一个问题
  • 功能请求:有改进的想法吗?让我们知道!
  • 代码贡献:欢迎PR进行改进

开发环境设置

git clone https://github.com/ergut/youtube-transcript-mcp
cd youtube-transcript-mcp
npm install
npm run dev

📜 许可证

该项目是开源的,可在 MIT许可证.

🙏 致谢


准备好用YouTube转录提取为克劳德增压了吗? 将此服务器添加到您的Claude Desktop配置中,并立即开始从任何YouTube视频中提取转录本! 🎉