Video Transcript MCP Server
Transcribes Bilibili videos using AI subtitles (ai-zh) when available, with Whisper fallback for offline transcription.
Transcribes Kuaishou videos via subtitle extraction and Whisper fallback.
Transcribes TikTok videos via subtitle extraction and Whisper fallback.
Provides mini-program guidance for transcribing WeChat Video (视频号) content, as direct transcription is not supported for this closed platform.
Provides mini-program guidance for transcribing Xiaohongshu content, as direct transcription is not supported for this closed platform.
Transcribes YouTube videos by extracting subtitles (zh-Hans, zh-CN, zh, en) with Whisper fallback for offline transcription.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Video Transcript MCP Servertranscribe this YouTube video: https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MCP Video Extraction Plus
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:mcpPrerequisites
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-whisperMCP 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-mcpTools
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 |
| str | required | Video URL |
| str |
| Whisper model |
| str |
| Language code |
| str? | null | Browser for cookies |
| bool | false | Skip to Whisper directly |
| int | 30 | Segment length for long video splitting. Increase for 1h+ videos |
| 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 |
| (unset) | Set to |
|
| Disable Xet storage (avoids download errors) |
|
| 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 | ✅ | ✅ | |
✅ | ✅ | ||
Xiaohongshu | ❌ | ❌ | Mini-program guidance |
WeChat Video | ❌ | ❌ | Mini-program guidance |
Local files | N/A | ✅ | mp3, mp4, wav, m4a, flac |
Podcast URLs | ✅ | ✅ | Direct audio download |
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables downloading watermark-free videos from Douyin (TikTok China) share links, extracting audio, and converting speech to text using AI voice recognition APIs.1MIT
- Alicense-qualityDmaintenanceEnables video text extraction using multiple speech recognition providers including local Whisper, JianYing/CapCut, and Bilibili Cut services. Supports video downloading, audio extraction, and automatic speech-to-text transcription with configurable providers.7MIT
- AlicenseAqualityAmaintenanceTranscribes videos from 1000+ platforms (YouTube, TikTok, Vimeo, etc.) and local video files using OpenAI's Whisper model, with support for 90+ languages and multiple output formats.8574MIT
- Alicense-qualityDmaintenanceEnables AI assistants to download YouTube videos and transcribe them locally using OpenAI's Whisper speech recognition model.MIT
Related MCP Connectors
Transcripts from YouTube, TikTok, Instagram and podcasts (Spotify, Apple, RSS), as clean JSON.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shawnwei512/video-transcript-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server