youtube-whisper-mcp

youtube-whisper-mcp

MCP server for YouTube video summarization via Whisper transcription, enabling summarization and transcript retrieval without relying on subtitles.

Category
Visit Server

README

YouTube Whisper MCP Server

一个基于 Whisper 语音识别的 YouTube 视频总结 MCP 服务器,解决原版 MCP 无法处理无字幕视频的问题。

核心优势

无需字幕 - 直接从音频转录,不依赖视频字幕 ✅ 中文优化 - 针对中文视频优化,支持中英混合 ✅ 完全本地 - 所有处理在本地完成,保护隐私 ✅ 免费使用 - 基于开源工具,无 API 费用

工作原理

YouTube 视频 → yt-dlp 下载音频 → Whisper 转文字 → GPT 总结

前置要求

在安装此 MCP 服务器之前,请确保已安装以下工具:

macOS

# 安装 Homebrew(如未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装依赖
brew install yt-dlp ffmpeg

# 安装 Whisper
pip install openai-whisper
# 或者使用 Homebrew
brew install whisper

Linux

# Ubuntu/Debian
sudo apt update
sudo apt install yt-dlp ffmpeg
pip install openai-whisper

# 或者使用 pipx
pipx install openai-whisper

Windows

# 使用 Chocolatey
choco install yt-dlp ffmpeg

# 安装 Python(如果未安装)
choco install python

# 安装 Whisper
pip install openai-whisper

快速开始

1. 安装 Node.js(如果未安装)

推荐使用 nvm 安装:

# macOS/Linux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
nvm use --lts

# Windows
# 从 https://nodejs.org 下载安装

2. 安装 MCP 服务器

# 克隆或下载此项目
cd youtube-whisper-mcp

# 安装依赖
npm install

# 构建
npm run build

3. 配置到 OpenCode

在 OpenCode 配置文件中添加:

{
  "mcpServers": {
    "youtube-whisper": {
      "command": "node",
      "args": ["/path/to/your/youtube-whisper-mcp/server.js"]
    }
  }
}

或者使用 npx(推荐):

{
  "mcpServers": {
    "youtube-whisper": {
      "command": "npx",
      "args": ["-y", "youtube-whisper-mcp"]
    }
  }
}

注意:如需使用 npx 方式,请先发布到 npm:

npm publish

4. 测试

npm test

或者运行快速测试脚本:

node quick-test.js

可用工具

安装后,以下工具将自动在 OpenCode 中可用:

1. summarize_youtube_video

总结 YouTube 视频(无需字幕)

参数:

  • url (必填): YouTube 视频链接
  • summary_length (可选): 总结长度 - short | medium | long

使用示例:

"summarize https://www.youtube.com/watch?v=VIDEO_ID"

返回:

{
  "video_info": {
    "title": "视频标题",
    "url": "https://youtube.com/watch?v=...",
    "duration": "23:10",
    "uploader": "频道名称",
    "views": 24943
  },
  "summary": "视频内容总结...",
  "transcript_length": 5000,
  "full_transcript": "完整转录文本..."
}

2. get_video_transcript

获取视频完整转录文本

参数:

  • url (必填): YouTube 视频链接

使用示例:

"get transcript of https://www.youtube.com/watch?v=VIDEO_ID"

性能优化

处理时间估算

  • 短视频 (< 5 分钟): 1-2 分钟
  • 中等视频 (5-20 分钟): 3-8 分钟
  • 长视频 (> 20 分钟): 10-30 分钟

加速技巧

  1. 使用较小的 Whisper 模型(server.js 中):

    // 在 transcribeAudio 函数中修改
    const command = `whisper "${audioPath}" --model tiny --language Chinese --output_format json`;
    
  2. 模型选择(从快到慢,从不准到准):

    • tiny - 最快,最不准确
    • base - 平衡选择
    • small - 推荐日常使用
    • medium - 准确,但较慢
    • large - 最准确,最慢

硬件要求

  • 最低: 4GB RAM, 2 CPU cores
  • 推荐: 8GB+ RAM, 4+ CPU cores
  • GPU: 如果有 NVIDIA GPU,Whisper 会自动使用 CUDA 加速

常见问题

Q1: 视频下载失败

问题: ERROR: Unable to download video data: HTTP Error 403

解决方案:

# 更新 yt-dlp
pip install -U yt-dlp

# 或使用 Homebrew
brew upgrade yt-dlp

Q2: Whisper 转录失败

问题: whisper: command not found

解决方案:

# 确保 Whisper 已安装
which whisper

# 如果使用 pip 安装,可能需要添加到 PATH
export PATH="$PATH:$(python -m site --user-base)/bin"

Q3: 中文转录效果差

解决方案:

  1. 使用更大的模型:--model medium--model large
  2. 明确指定语言:--language Chinese
  3. 确保音频质量良好

Q4: 处理时间太长

解决方案:

  1. 使用较小的 Whisper 模型
  2. 先下载音频(-x 参数)可以加快处理
  3. 考虑使用 GPU 加速

Q5: 如何清理临时文件?

MCP 服务器会在 /tmp/youtube-whisper-mcp/ 目录自动清理。但您可以手动清理:

rm -rf /tmp/youtube-whisper-mcp/*

高级配置

集成 OpenAI API 进行更好的总结

默认使用简单截取,您可以通过集成 OpenAI/Claude API 来获得更好的总结效果:

// 在 server.js 中修改 summarizeText 函数
async function summarizeText(text) {
  const response = await axios.post('https://api.openai.com/v1/chat/completions', {
    model: 'gpt-3.5-turbo',
    messages: [
      {
        role: 'system',
        content: '你是一个专业的视频内容总结助手。请用简洁的中文总结以下内容。'
      },
      {
        role: 'user',
        content: `请总结这段视频转录内容(500字左右):\n\n${text}`
      }
    ],
    max_tokens: 1000
  }, {
    headers: {
      'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
      'Content-Type': 'application/json'
    }
  });

  return response.data.choices[0].message.content;
}

与 NoteGPT 集成

如果您喜欢 NoteGPT 的总结效果,可以这样组合使用:

  1. 使用 MCP 获取转录:

    "get transcript of https://youtube.com/watch?v=..."
    
  2. 复制转录到 NoteGPT:

    • 访问 https://notegpt.io/youtube-video-summarizer
    • 粘贴转录文本
    • 让 NoteGPT 总结

技术架构

核心技术栈

  • yt-dlp: YouTube 视频下载
  • Whisper: 语音识别转文字
  • FFmpeg: 音频处理
  • Node.js + MCP SDK: MCP 服务器
  • OpenAI/Claude API (可选): 智能总结

目录结构

youtube-whisper-mcp/
├── server.js          # MCP 服务器主程序
├── package.json       # 项目配置
├── README.md          # 使用说明
├── quick-test.js      # 快速测试脚本
└── .gitignore        # Git 忽略配置

贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. Fork 此项目
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

许可证

本项目基于 MIT 许可证开源。

致谢

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured