yt-dlp-mcp
by: kevinwatt
A Model Context Protocol (MCP) server that bridges Video & Audio content with Large Language Models using yt-dlp.
📌Overview
Purpose: To provide a seamless MCP server implementation that integrates with yt-dlp, enabling video and audio content downloads for LLMs from various platforms like YouTube, Facebook, and TikTok.
Overview: yt-dlp-mcp is an efficient tool designed for LLM applications to facilitate the downloading of video and audio content, along with subtitles, from multiple video streaming platforms. It ensures privacy by allowing direct downloads without tracking and offers easy integration with other MCP-compatible LLMs.
Key Features:
-
Subtitles: Enables downloading subtitles in SRT format, allowing LLMs to easily read and process video transcripts.
-
Video Download: Allows users to save videos directly to their Downloads folder with customizable resolution options, ensuring flexibility based on user needs.
-
Audio Download: Facilitates the download of audio content in optimal quality, supporting common formats like m4a and mp3 for ease of access.
-
Privacy-Focused: Implements direct downloads without tracking, ensuring user privacy during content retrieval.
-
MCP Integration: Seamlessly works with Dive and other MCP-compatible LLMs for enhanced functionality and compatibility.
yt-dlp-mcp
An MCP server implementation that integrates with yt-dlp, providing video and audio content download capabilities (e.g. YouTube, Facebook, Tiktok, etc.) for LLMs.
Features
- Subtitles: Download subtitles in SRT format for LLMs to read
- Video Download: Save videos to your Downloads folder with resolution control
- Audio Download: Save audios to your Downloads folder
- Privacy-Focused: Direct download without tracking
- MCP Integration: Works with Dive and other MCP-compatible LLMs
Installation
Prerequisites
Install yt-dlp
based on your operating system:
# Windows
winget install yt-dlp
# macOS
brew install yt-dlp
# Linux
pip install yt-dlp
With Dive Desktop
- Click "+ Add MCP Server" in Dive Desktop
- Copy and paste this configuration:
{
"mcpServers": {
"yt-dlp": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/yt-dlp-mcp"
]
}
}
}
- Click "Save" to install the MCP server
Tool Documentation
list_subtitle_languages
List all available subtitle languages and their formats for a video (including auto-generated captions)
Inputs:
url
(string, required): URL of the video
download_video_subtitles
Download video subtitles in any available format. Supports both regular and auto-generated subtitles
Inputs:
url
(string, required): URL of the videolanguage
(string, optional): Language code (e.g., 'en', 'zh-Hant', 'ja'). Defaults to 'en'
download_video
Download video to user's Downloads folder
Inputs:
url
(string, required): URL of the videoresolution
(string, optional): Video resolution ('480p', '720p', '1080p', 'best'). Defaults to '720p'
download_audio
Download audio in best available quality (usually m4a/mp3 format) to user's Downloads folder
Inputs:
url
(string, required): URL of the video
Usage Examples
Ask your LLM to:
List available subtitles for this video: https://youtube.com/watch?v=...
Download a video from facebook: https://facebook.com/...
Download Chinese subtitles from this video: https://youtube.com/watch?v=...
Download this video in 1080p: https://youtube.com/watch?v=...
Download audio from this YouTube video: https://youtube.com/watch?v=...
Manual Start
If needed, start the server manually:
npx @kevinwatt/yt-dlp-mcp
Requirements
- Node.js 20+
yt-dlp
in system PATH- MCP-compatible LLM service
Documentation
- API Reference
- Configuration
- Error Handling
- Contributing
License
MIT
Author
Dewei Yen