YouTube字幕提取服务

一个通过简单接口检索YouTube视频字幕的服务器,支持多语言提取和时间戳标记。

  • by kimtaeyoon83
  • TypeScript
  • 本地部署
  • 602 星标
  • 更新于
在 GitHub 查看 kimtaeyoon83/mcp-server-youtube-transcript

使用说明

YouTube转录服务器

一个模型上下文协议服务器,可以从YouTube视频中检索转录本。该服务器通过一个简单的界面提供对视频字幕和字幕的直接访问。

通过Smithery安装

通过以下方式自动安装克劳德桌面版YouTube转录服务器 铁匠铺:

npx -y @smithery/cli install @kimtaeyoon83/mcp-server-youtube-transcript --client claude

组件

工具

  • get_transcript

    • 从YouTube视频中提取文字记录
    • 输入:
      • url (字符串,必填):YouTube视频URL、短片URL或视频ID
      • lang (string,可选,默认值:“en”):成绩单的语言代码(例如,'ko','en')。如果找不到请求的语言,则自动回退到可用语言。
      • include_timestamps (布尔值,可选,默认值:false):在输出中包含时间戳(例如,“[0:05]文本”)
      • strip_ads (布尔值,可选,默认值:true):根据章节标记从成绩单中筛选出赞助、广告和促销内容
  • 分析视频 (可选,需要TwelveLabs API密钥)

    • 使用以下工具分析视频 TwelveLabs Pegasus,一个视频理解模型。不像 get_transcript,这就解释了什么是 展示 在屏幕上,它甚至可以为很少或没有语音的视频(演示、游戏、b-roll、音乐视频)生成有用的摘要和答案。
    • 输入:
      • url (string,必填):可公开访问的 直接视频URL (例如a .mp4/.mov/.webm 链接或预签名的URL)。TwelveLabs在服务器端获取文件,因此YouTube观看页面URL将无法工作——它提供的是HTML,而不是原始视频流。
      • prompt (字符串,可选):模型的说明或问题(例如。 "Summarize this video in 3 sentences" 或 "What products are shown?").默认为一般摘要。
      • model (字符串,可选,默认值: "pegasus1.2"):要使用的Pegasus模型("pegasus1.2" 或 "pegasus1.5").
      • max_tokens (数字,可选,默认值:2048):以令牌为单位的最大响应长度。
    • 需要 TWELVELABS_API_KEY 环境变量。转录工具在没有它的情况下也能工作;分析是完全选择加入的。在以下网址获取免费密钥 Twelvelabs.io --有一个慷慨的免费等级。

主要特点

  • 支持多种视频URL格式(包括YouTube短片)
  • 具有自动回退功能的特定语言转录检索
  • 用于引用特定时刻的可选时间戳
  • 内置广告/赞助过滤(默认启用)
  • 转录获取无外部依赖
  • 响应中的详细元数据

配置

要与Claude Desktop一起使用,请添加以下服务器配置:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
    }
  }
}

启用可选 analyze_video 工具,添加您的TwelveLabs API密钥:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"],
      "env": {
        "TWELVELABS_API_KEY": "your-twelvelabs-api-key"
      }
    }
  }
}

通过工具安装

mcp获取 用于安装和管理模型上下文协议(MCP)服务器的命令行工具。

npx @michaellatman/mcp-get@latest install @kimtaeyoon83/mcp-server-youtube-transcript

很棒的mcp服务器

很棒的mcp服务器 精心策划的出色模型上下文协议(MCP)服务器列表。

发展

先决条件

  • Node.js 18或更高版本
  • npm或纱线

设置

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

测试

npm test

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用MCP Inspector进行开发:

npm run inspector

运行评估

evals包加载一个mcp客户端,然后运行index.ts文件,因此不需要在测试之间重建。您可以通过在npx命令前加前缀来加载环境变量。可以找到完整的文档 这里.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

错误处理

服务器为常见场景实现了强大的错误处理:

  • 视频URL或ID无效
  • 不可用的成绩单
  • 语言可用性问题
  • 网络错误

使用示例

  1. 通过视频URL获取成绩单:
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/watch?v=VIDEO_ID",
  lang: "en"
});
  1. 通过视频ID获取成绩单:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  lang: "ko"
});
  1. 从YouTube短片中获取文字记录:
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/shorts/VIDEO_ID"
});
  1. 获取带有时间戳的成绩单:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  include_timestamps: true
});
  1. 获取无广告过滤的原始成绩单:
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  strip_ads: false
});
  1. 如何在Claude桌面应用程序中提取YouTube字幕
chat: https://youtu.be/ODaHJzOyVCQ?si=aXkJgso96Deri0aB Extract subtitles

安全考虑

服务器:

  • 验证所有输入参数
  • 优雅地处理YouTube API错误
  • 实现转录检索超时
  • 提供详细的错误消息以进行故障排除

许可证

此MCP服务器根据MIT许可证获得许可。有关详细信息,请参阅LICENSE文件。