返回市场
麦克风-YouTube字幕

麦克风-YouTube字幕

作者:sinco-lab29 星标更新:2025-04-18

项目介绍

MCP YouTube 字幕服务器

smithery 徽章

这是一个能够从YouTube视频中检索字幕的Model Context Protocol服务器。该服务器通过简单的接口提供对视频字幕的直接访问,非常适合内容分析和处理。

<a href="https://glama.ai/mcp/servers/@sinco-lab/mcp-youtube-transcript"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=4206308639,1260687294&fm=3081&app=3081&f=PNG?w=760&h=400" alt="mcp-youtube-transcript" /> </a>

目录

功能

✨ 主要能力:

  • 从YouTube视频中提取字幕
  • 支持多种语言
  • 以连续或段落模式格式化文本
  • 检索视频标题和元数据
  • 自动段落分割
  • 文本规范化和HTML实体解码
  • 坚固的错误处理
  • 时间戳和重叠检测

快速开始

前提条件

  • Node.js 18 或更高版本

安装

我们提供了两种安装方法:

方案1:手动配置(推荐用于生产)

  1. 创建或编辑Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加以下配置:

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

macOS快速设置脚本:

# 如果不存在,则创建目录
mkdir -p ~/Library/Application\ Support/Claude

# 创建或更新配置文件
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOL'
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": [
        "-y",
        "@sinco-lab/mcp-youtube-transcript"
      ]
    }
  }
}
EOL

方案2:通过Smithery(仅限开发)

npx -y @smithery/cli install @sinco-lab/mcp-youtube-transcript --client claude

⚠️ 注意:此方法不建议用于生产环境,因为它依赖于Smithery的代理服务。

使用

基本配置

要与Claude Desktop / Cursor / cline一起使用,请确保您的配置如下所示:

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

测试

使用Claude应用

  1. 安装后重启Claude应用
  2. 使用简单命令进行测试:
    https://www.youtube.com/watch?v=AJpK3YTTKZ4 总结这个视频
    

示例输出: 演示

使用MCP Inspector

# 克隆并设置
git clone https://github.com/sinco-lab/mcp-youtube-transcript.git
cd mcp-youtube-transcript
npm install
npm run build

# 启动Inspector
npx @modelcontextprotocol/inspector node "dist/index.js"

# 访问http://localhost:6274 并尝试这些命令:
# 1. 列出工具:点击 `List Tools`
# 2. 使用get_transcripts测试:
#    url: "https://www.youtube.com/watch?v=AJpK3YTTKZ4"
#    lang: "en" (可选)
#    enableParagraphs: false (可选)

故障排除与维护

查看Claude日志

要监控Claude的日志,可以使用以下命令:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

这将显示日志文件的最后20行,并在添加新条目时继续显示。

注意:Claude应用会自动将MCP服务器日志文件前缀为mcp-server-。例如,我们的服务器日志将写入mcp-server-youtube-transcript.log

清理npx缓存

如果您遇到与npx缓存相关的问题,可以手动清理它:

rm -rf ~/.npm/_npx

这将删除缓存的包,让您重新开始。

API 参考

get_transcripts

从YouTube视频中获取字幕。

参数:

  • url (字符串,必需):YouTube视频URL或ID
  • lang (字符串,可选):语言代码(默认:"en")
  • enableParagraphs (布尔值,可选):启用段落模式(默认:false)

响应格式:

{
  "content": [{
    "type": "text",
    "text": "视频标题和字幕内容",
    "metadata": {
      "videoId": "video_id",
      "title": "video_title",
      "language": "transcript_language",
      "timestamp": "processing_time",
      "charCount": "character_count",
      "transcriptCount": "number_of_transcripts",
      "totalDuration": "total_duration",
      "paragraphsEnabled": "paragraph_mode_status"
    }
  }]
}

开发

项目结构

├── src/
│ ├── index.ts            # 服务器入口点
│ ├── youtube.ts          # YouTube字幕抓取逻辑
├── dist/                 # 编译输出
└── package.json

关键组件

  • YouTubeTranscriptFetcher:核心字幕抓取功能
  • YouTubeUtils:文本处理和实用工具

特性和能力

  • 错误处理:

    • 无效的URL/ID
    • 不可用的字幕
    • 语言可用性
    • 网络错误
    • 速率限制
  • 文本处理:

    • HTML实体解码
    • 标点符号规范化
    • 空格规范化
    • 智能段落检测

贡献

我们欢迎贡献!请随时提交问题和拉取请求。

许可

本项目根据MIT许可发布 - 详情见LICENSE文件。

相关项目