Video Transcript MCP Server

Video Transcript MCP Server

Enables transcription of videos and audio from 1000+ platforms (YouTube, Bilibili, TikTok, etc.) using subtitle extraction first, then local Whisper transcription, with support for long videos, async tasks, and Chinese ASR optimization.

Category
访问服务器

README

Video Transcript MCP Server

A Model Context Protocol server for video/audio transcription with multi-platform support.

Features

  • Three-tier transcription strategy: Subtitle extraction first (zero cost) → Whisper local transcription (offline free) → Mini-program guidance for closed platforms
  • 1000+ platform support via yt-dlp: YouTube, Bilibili, Douyin, Kuaishou, TikTok, and more
  • Long video handling: Auto-split by 30-minute segments (configurable) with checkpoint resume
  • Chinese ASR optimization: Bilibili AI subtitles, HuggingFace mirror, SenseVoice/Paraformer ready
  • Sync & Async modes: Direct results for short videos, task polling for long videos
  • Structured output: Pydantic-validated results with timestamps, segments, and metadata

Quick Start

Install

pip install video-transcript-mcp

# With Whisper support
pip install 'video-transcript-mcp[whisper]'

# With dev tools (MCP Inspector, testing)
pip install 'video-transcript-mcp[dev]'

Run

# Direct run
video-transcript-mcp

# Or with uvx (no install needed)
uvx video-transcript-mcp

# Debug with MCP Inspector
mcp dev video_transcript_mcp.server:mcp

Prerequisites

The server relies on external tools for audio processing:

# Install yt-dlp (video download + subtitle extraction)
pip install yt-dlp

# Install FFmpeg (audio splitting + format conversion)
brew install ffmpeg        # macOS
sudo apt install ffmpeg    # Ubuntu/Debian

# Install faster-whisper (local transcription)
pip install faster-whisper

MCP Client Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "video-transcript": {
      "command": "uvx",
      "args": ["video-transcript-mcp"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "video-transcript": {
      "command": "uvx",
      "args": ["video-transcript-mcp"]
    }
  }
}

Trae

Add to Trae MCP settings:

{
  "mcpServers": {
    "video-transcript": {
      "command": "python3",
      "args": ["-m", "video_transcript_mcp.server"]
    }
  }
}

Claude Code

claude mcp add video-transcript -- uvx video-transcript-mcp

Tools

transcribe_url

Transcribe a video from URL using the three-tier strategy.

# Short video (sync mode - direct result)
transcribe_url(url="https://www.youtube.com/watch?v=xxxxx")

# Long video (async mode - returns task_id)
transcribe_url(
    url="https://www.bilibili.com/video/BVxxxxx",
    async_mode=True
)
# Then poll:
get_transcript_status(task_id="abc12345")

Parameters:

Parameter Type Default Description
url str required Video URL
model str large-v3-turbo Whisper model
language str zh Language code
cookies_browser str? null Browser for cookies
skip_subtitles bool false Skip to Whisper directly
segment_minutes int 30 Segment length for long video splitting. Increase for 1h+ videos
async_mode bool false Return task_id for polling

transcribe_file

Transcribe a local audio/video file.

# Short file (sync mode)
transcribe_file(file_path="/path/to/audio.mp3")

# Long file (1h+) with larger segments
transcribe_file(
    file_path="/path/to/lecture.mp4",
    segment_minutes=60,
    async_mode=True
)

get_transcript_status

Poll the status of an async transcription task.

get_transcript_status(task_id="abc12345")
# Returns: {status: "completed", progress: 1.0, result: {...}}

list_transcripts

List all completed transcripts.

list_transcripts()
# Returns: [{task_id, title, platform, method, duration, ...}]

Three-Tier Transcription Strategy

URL Input
    │
    ├─ Tier 1: Subtitle Extraction (zero cost, fastest)
    │   ├─ YouTube: zh-Hans, zh-CN, zh, en
    │   ├─ Bilibili: ai-zh (AI subtitles)
    │   └─ Others: zh-CN, zh, en
    │
    ├─ Tier 2: Whisper Transcription (offline, free)
    │   ├─ Download audio via yt-dlp
    │   ├─ Split by 30-min segments (configurable, long video)
    │   ├─ Transcribe each segment with faster-whisper
    │   ├─ Global timestamp concatenation
    │   └─ Checkpoint resume support
    │
    └─ Tier 3: Mini-Program Guidance (closed platforms)
        ├─ Xiaohongshu (小红书)
        └─ WeChat Video (视频号)

Environment Variables

Variable Default Description
HF_ENDPOINT (unset) Set to https://hf-mirror.com for China network optimization
HF_HUB_DISABLE_XET 1 Disable Xet storage (avoids download errors)
TRANSCRIPT_OUTPUT_DIR ~/.video-transcript-mcp/output Output directory

Supported Platforms

Platform Subtitle Extraction Whisper Fallback Notes
YouTube ✅ ✅ Auto-subs + manual subs
Bilibili ✅ ✅ AI subtitle (ai-zh), requires cookies for subtitle access
Douyin ✅ ✅
Kuaishou ✅ ✅
TikTok ✅ ✅
Weibo ✅ ✅
Xiaohongshu ❌ ❌ Mini-program guidance
WeChat Video ❌ ❌ Mini-program guidance
Local files N/A ✅ mp3, mp4, wav, m4a, flac
Podcast URLs ✅ ✅ Direct audio download

Community

Join our AI Tool Monetization Circle (AI 工具变现实战圈) on Knowledge Planet (知识星球):

  • Weekly MCP tutorials and real-world case studies
  • Deep-dive source code analysis of this project
  • AI tool monetization strategies and playbooks
  • 1-on-1 technical Q&A

<p align="center"> <img src="knowledge-planet-qr.jpg" alt="知识星球二维码" width="200"> </p>

Scan the QR code above or search "AI 工具变现实战圈" on Knowledge Planet to join.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选