YT-DLP
STDIOMCP server for downloading videos, audio, and subtitles from content platforms
MCP server for downloading videos, audio, and subtitles from content platforms
A powerful MCP server that brings video platform capabilities to your AI agents
Integrate yt-dlp with Claude, Dive, and other MCP-compatible AI systems. Download videos, extract metadata, get transcripts, and more — all through natural language.
Features • Installation • Tools • Usage • Documentation
🔍 Search & Discovery
📊 Metadata Extraction
📝 Transcript & Subtitles
|
🎥 Video Downloads
🎵 Audio Extraction
🛡️ Privacy & Safety
|
Install yt-dlp on your system:
| Platform | Command |
|---|---|
| 🪟 Windows | winget install yt-dlp |
| 🍎 macOS | brew install yt-dlp |
| 🐧 Linux | pip install yt-dlp |
{ "mcpServers": { "yt-dlp": { "command": "npx", "args": ["-y", "@kevinwatt/yt-dlp-mcp"] } } }
npm install -g @kevinwatt/yt-dlp-mcp
All tools are prefixed with ytdlp_ to avoid naming conflicts with other MCP servers.
| Tool | Description |
|---|---|
ytdlp_search_videos |
Search YouTube with pagination support
|
| Tool | Description |
|---|---|
ytdlp_list_subtitle_languages |
List all available subtitle languages for a video
|
ytdlp_download_video_subtitles |
Download subtitles in VTT format with timestamps
|
ytdlp_download_transcript |
Generate clean plain text transcript
|
| Tool | Description |
|---|---|
ytdlp_download_video |
Download video to Downloads folder
|
ytdlp_download_audio |
Extract and download audio only
|
| Tool | Description |
|---|---|
ytdlp_get_video_metadata |
Extract comprehensive video metadata in JSON
|
ytdlp_get_video_metadata_summary |
Get human-readable metadata summary
|
"Search for Python programming tutorials"
"Find the top 20 machine learning videos"
"Search for 'react hooks tutorial' and show results 10-20"
"Search for JavaScript courses in JSON format"
"Get metadata for https://youtube.com/watch?v=..."
"Show me the title, channel, and view count for this video"
"Extract just the duration and upload date"
"Give me a quick summary of this video's info"
"List available subtitles for https://youtube.com/watch?v=..."
"Download English subtitles from this video"
"Get a clean transcript of this video in Spanish"
"Download Chinese (zh-Hant) transcript"
"Download this video in 1080p: https://youtube.com/watch?v=..."
"Download audio from this YouTube video"
"Download this video from 1:30 to 2:45"
"Save this Facebook video to my Downloads"
# Downloads directory (default: ~/Downloads) YTDLP_DOWNLOADS_DIR=/path/to/downloads # Default resolution (default: 720p) YTDLP_DEFAULT_RESOLUTION=1080p # Default subtitle language (default: en) YTDLP_DEFAULT_SUBTITLE_LANG=en # Character limit (default: 25000) YTDLP_CHARACTER_LIMIT=25000 # Max transcript length (default: 50000) YTDLP_MAX_TRANSCRIPT_LENGTH=50000
Perfect for programmatic processing:
{ "total": 50, "count": 10, "offset": 0, "videos": [...], "has_more": true, "next_offset": 10 }
Human-readable display:
Found 50 videos (showing 10): 1. **Video Title** 📺 Channel: Creator Name ⏱️ Duration: 10:30 🔗 URL: https://...
Contributions are welcome! Please check out our Contributing Guide.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.