mcp-video-extraction
Một mcp servers cung cấp khả năng trích xuất văn bản từ nhiều nền tảng video và tệp âm thanh khác nhau. Máy chủ này triển khai Model Context Protocol (MCP) để cung cấp quyền truy cập tiêu chuẩn hóa vào các dịch vụ chuyển đổi âm thanh thành văn bản.
MCP Video & Audio Text Extraction Server
An MCP server that provides text extraction capabilities from various video platforms and audio files. This server implements the Model Context Protocol (MCP) to provide standardized access to audio transcription services.
Supported Platforms
This service supports downloading videos and extracting audio from various platforms, including but not limited to:
- YouTube
- Bilibili
- TikTok
- Twitter/X
- Vimeo
- Dailymotion
- SoundCloud
For a complete list of supported platforms, please visit yt-dlp supported sites.
Core Technology
This project utilizes OpenAI's Whisper model for audio-to-text processing through MCP tools. The server exposes four main tools:
- Video download: Download videos from supported platforms
- Audio download: Extract audio from videos on supported platforms
- Video text extraction: Extract text from videos (download and transcribe)
- Audio file text extraction: Extract text from audio files
MCP Integration
This server is built using the Model Context Protocol, which provides:
- Standardized way to expose tools to LLMs
- Secure access to video content and audio files
- Integration with MCP clients like Claude Desktop
Features
- High-quality speech recognition based on Whisper
- Multi-language text recognition
- Support for various audio formats (mp3, wav, m4a, etc.)
- MCP-compliant tools interface
- Asynchronous processing for large files
Tech Stack
- Python 3.10+
- Model Context Protocol (MCP) Python SDK
- yt-dlp (YouTube video download)
- openai-whisper (Core audio-to-text engine)
- pydantic
System Requirements
- FFmpeg (Required for audio processing)
- Minimum 8GB RAM
- Recommended GPU acceleration (NVIDIA GPU + CUDA)
- Sufficient disk space (for model download and temporary files)
Important First Run Notice
Important: On first run, the system will automatically download the Whisper model file (approximately 1GB). This process may take several minutes to tens of minutes, depending on your network conditions. The model file will be cached locally and won't need to be downloaded again for subsequent runs.
Installation
Using uv (recommended)
When using uv no specific installation is needed. We will use uvx to directly run the video extraction server:
curl -LsSf https://astral.sh/uv/install.sh | sh
Install FFmpeg
FFmpeg is required for audio processing. You can install it through various methods:
# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg
# MacOS
brew install ffmpeg
# Windows (using Chocolatey)
choco install ffmpeg
# Windows (using Scoop)
scoop install ffmpeg
Usage
Configure for Claude/Cursor
Add to your Claude/Cursor settings:
"mcpServers": {
"video-extraction": {
"command": "uvx",
"args": ["mcp-video-extraction"]
}
}
Available MCP Tools
- Video download: Download videos from supported platforms
- Audio download: Extract audio from videos on supported platforms
- Video text extraction: Extract text from videos (download and transcribe)
- Audio file text extraction: Extract text from audio files
Configuration
The service can be configured through environment variables:
Whisper Configuration
WHISPER_MODEL: Whisper model size (tiny/base/small/medium/large), default: 'base'WHISPER_LANGUAGE: Language setting for transcription, default: 'auto'
YouTube Download Configuration
YOUTUBE_FORMAT: Video format for download, default: 'bestaudio'AUDIO_FORMAT: Audio format for extraction, default: 'mp3'AUDIO_QUALITY: Audio quality setting, default: '192'
Storage Configuration
TEMP_DIR: Temporary file storage location, default: '/tmp/mcp-video'
Download Settings
DOWNLOAD_RETRIES: Number of download retries, default: 10FRAGMENT_RETRIES: Number of fragment download retries, default: 10SOCKET_TIMEOUT: Socket timeout in seconds, default: 30
Performance Optimization Tips
-
GPU Acceleration:
- Install CUDA and cuDNN
- Ensure GPU version of PyTorch is installed
-
Model Size Adjustment:
- tiny: Fastest but lower accuracy
- base: Balanced speed and accuracy
- large: Highest accuracy but requires more resources
-
Use SSD storage for temporary files to improve I/O performance
Notes
- Whisper model (approximately 1GB) needs to be downloaded on first run
- Ensure sufficient disk space for temporary audio files
- Stable network connection required for YouTube video downloads
- GPU recommended for faster audio processing
- Processing long videos may take considerable time
MCP Integration Guide
This server can be used with any MCP-compatible client, such as:
- Claude Desktop
- Custom MCP clients
- Other MCP-enabled applications
For more information about MCP, visit Model Context Protocol.
Documentation
For Chinese version of this documentation, please refer to README_zh.md
License
MIT
Recommend MCP Servers 💡
nyt
A TypeScript-based MCP server that allows searching for New York Times articles from the last 30 days based on a keyword.
A Model Context Protocol (MCP) server for WhatsApp that enables searching, reading, and sending messages (including media) via AI agents.
@imprvhub/mcp-claude-spotify
An integration that allows Claude Desktop to interact with Spotify using the Model Context Protocol (MCP).
mcp-riot
MCP-Riot is a community-developed Model Context Protocol (MCP) server that integrates with the Riot Games API to provide League of Legends data to AI assistants via natural language queries.
nickclyde/duckduckgo-mcp-server
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
mcp-claude-weather
An MCP server providing real-time weather alerts, forecasts, and warnings from the US National Weather Service via stdio transport.