yt-dlp
Extracts metadata and downloads videos from Facebook, with fallback scraping for reliable access.
Extracts metadata and downloads videos from TikTok, including title, description, uploader, duration, and direct MP4 link.
Extracts metadata and downloads videos from Vimeo, including title, description, uploader, duration, and direct MP4 link.
Extracts metadata and downloads videos from YouTube, including title, description, uploader, duration, and direct MP4 link.
Click on "Deploy 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., "@yt-dlp get metadata from 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.
yt-dlp-mcp
Standalone MCP server for extracting metadata and downloading videos (TikTok, YouTube, etc.) via yt-dlp.
Features
Extract video metadata (title, description, uploader, duration)
Get direct
.mp4link without downloadingDownload videos locally to a
downloadsfolder (now generates both universal MP4 and separate MP3 audio file)Clear downloads cache to free up disk space
Support for multiple platforms (TikTok, YouTube, Facebook, Vimeo, etc.)
Related MCP server: MCP YouTube-DLP
Installation
# Project initialization (already done)
uv init
# Install dependencies (already done)
uv add "mcp[cli]" yt-dlpUsage
Start the server
uv run server.pyThe server runs in stdio mode and is ready to be used by any MCP client.
Usage with various MCP clients
Cline /cline (VS Code)
Add to your ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json an entry to "mcpServers" element:
the above path is for macos, with cline installed as VS code extension ! you'll have to check for linux ou windows using the cline mcp configuration management interface, it opens the file for you ! with "Configure MCP Servers" Button !
{
"mcpServers": {
"other-mcp-server": { },
"yt-dlp": {
"command": "uv",
"args": ["run", "--directory", "<your_path>/yt-dlp-mcp", "server.py"]
}
}
}don't use ~ in <your_path>, else cline won't find the file, use true root path !
OpenCode
Add to your ~/.opencode/mcp.json:
{
"servers": {
"yt-dlp": {
"command": "uv",
"args": ["run", "--directory", "<your_path>/yt-dlp-mcp", "server.py"]
}
}
}Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"yt-dlp": {
"command": "uv",
"args": ["run", "--directory", "<your_path>/yt-dlp-mcp", "server.py"]
}
}
}Zed
Add to your ~/.config/zed/settings.json:
{
"mcp": {
"servers": {
"yt-dlp": {
"command": "uv",
"args": ["run", "--directory", "<your_path>/yt-dlp-mcp", "server.py"]
}
}
}
}Cursor
Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"yt-dlp": {
"command": "uv",
"args": ["run", "--directory", "<your_path>/yt-dlp-mcp", "server.py"]
}
}
}Available Tools
1. extract_video_info
Extracts metadata and direct link from a video. Supports Facebook via lightweight regex and fb-video scraper as fallback.
extract_video_info(url="https://www.tiktok.com/@username/video/123456789")Parameters:
url(str): The URL of the video to extract
Returns:
title: Video titledescription: Video descriptionuploader: Uploader nameduration: Duration in secondsurl: Direct video link (.mp4)webpage_url: Original page URLthumbnail: Thumbnail URLerror: Error message if extraction failedsource: Scraper source (if using Facebook fallbacks)
2. download_video
Downloads a video and generates both a universal MP4 (H.264/AAC/FastStart) and a separate MP3 audio file to the local downloads folder.
download_video(url="https://www.tiktok.com/@username/video/123456789")Parameters:
url(str): The URL of the video to download
Returns:
success: Boolean indicating successtitle: Video titlefilename_mp4: Local MP4 filenamefilename_mp3: Local MP3 filenamelocal_path_mp4: Absolute path to the downloaded MP4 filelocal_path_mp3: Absolute path to the downloaded MP3 filemessage: Status messageerror: Error message if download failed
3. clear_downloads
Clears all files from the downloads folder.
clear_downloads()Returns:
success: Boolean indicating successdeleted_count: Number of files deletederror: Error message if operation failed
Updating dependencies
uv add --upgrade yt-dlpRequirements
Python 3.10+
uv (Python package manager)
ffmpeg (optional, for video processing)
Available Tools
3 toolsclear_downloadsA
Clears all files from the downloads folder.
Inputs: no named parameters.
download_videoA
Downloads a video from url extracted from the page and generates both a universal MP4 (H.264/AAC/FastStart) and a separate MP3 audio file.
Inputs: url (required).
extract_video_infoA
Extracts metadata and direct link from a video page from youtube, tiktok, facebook
Inputs: url (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: extraction, downloading, and cleanup. There is no overlap or ambiguity between them.
All tool names follow a consistent verb_noun snake_case pattern: extract_video_info, download_video, clear_downloads. The naming is predictable and uniform.
Three tools is a well-scoped set for a focused yt-dlp workflow: extract metadata, download media, and clear storage. Each tool has a clear purpose and none feel redundant.
The core workflow of extracting video info and downloading video/audio is covered, with cleanup included. Minor gaps exist such as no option to download video-only or audio-only, and no selective file deletion, but these do not severely hinder the primary use case.
Maintenance
Related MCP Connectors
Download YouTube videos and clips as MP4 or MP3/AAC, and look up video metadata.
Hosted MCP: download, transcribe, and get metadata for any video/audio URL. Managed yt-dlp.
1Instagram, TikTok, YouTube and other social media links to direct media download URLs.
Cut audio from YouTube, TikTok or Instagram links to MP3/WAV, and fetch video transcripts.
Related MCP Servers
- -licenseAqualityNot gradedmaintenanceEnables downloading videos from 1000+ platforms including YouTube, Bilibili, TikTok, and Twitter using yt-dlp. Supports both MCP protocol and REST API modes with real-time progress tracking, multiple formats, and subtitle downloads.514 npm1-
- FlicenseNot gradedqualityDmaintenanceProvides tools for downloading YouTube videos and audio using yt-dlp, enabling integration with AI assistants via MCP.5-
- AlicenseAqualityCmaintenanceEnables AI agents to download, transcribe, and inspect video or audio URLs from YouTube, TikTok, X, and 1000+ other sites using server-side yt-dlp, residential proxies, and speech-to-text.940 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables downloading videos and audio from various platforms via yt-dlp, with configurable quality, batch downloads, progress tracking, cancellation, and retry mechanisms.-