yt-dlp-mcp
A Model Context Protocol (MCP) server that bridges Video & Audio content with Large Language Models using yt-dlp.
Overview
yt-dlp-mcp is a Model Context Protocol (MCP) server that integrates with yt-dlp to provide video and audio content download capabilities for Large Language Models (LLMs) from platforms like YouTube, Facebook, and TikTok.
To use yt-dlp-mcp, install yt-dlp on your system, configure it with your MCP-compatible LLM service, and then you can issue commands to download videos, audio, or subtitles directly through your LLM.
- Download subtitles in SRT format for LLMs. - Save videos and audios to your Downloads folder with resolution control. - Privacy-focused direct downloads without tracking. - Integration with MCP-compatible LLMs like Dive.
- Downloading educational videos for offline access.
- Extracting audio from video content for podcasts.
- Retrieving subtitles for video content to assist in language learning.
Add to your AI client
Use these steps to connect yt-dlp-mcp in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"yt-dlp-mcp-kevinwatt": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"yt-dlp-mcp-kevinwatt": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"yt-dlp-mcp-kevinwatt": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"yt-dlp-mcp-kevinwatt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"yt-dlp-mcp-kevinwatt": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"yt-dlp-mcp-kevinwatt": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-yt-dlp-mcp-kevinwatt"
]
}
}
}FAQ
Can yt-dlp-mcp download content from any video platform?
yt-dlp-mcp supports various platforms including YouTube, Facebook, and TikTok.
Is yt-dlp-mcp free to use?
Yes! yt-dlp-mcp is open-source and free to use.
What are the system requirements for yt-dlp-mcp?
You need Node.js 20+, yt-dlp installed, and an MCP-compatible LLM service.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1230,"uuid":"fff4de5b-89f3-43d8-acba-cb48d8dd3100","name":"yt-dlp-mcp","title":"yt-dlp-mcp","description":"A Model Context Protocol (MCP) server that bridges Video & Audio content with Large Language Models using yt-dlp.","avatar_url":"https://avatars.githubusercontent.com/u/171228?v=4","created_at":"2025-02-20T13:56:25.551Z","updated_at":"2025-02-23T07:20:28.981Z","status":"created","author_name":"kevinwatt","author_avatar_url":"https://avatars.githubusercontent.com/u/171228?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/kevinwatt/yt-dlp-mcp","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"4\",\"license\":\"MIT license\",\"language\":\"TypeScript\",\"is_official\":false,\"latest_commit_time\":\"2025-02-23 05:53:58\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]