The yt-dlp-mcp tool acts as a bridge between AI assistants and the vast world of online video content. It allows AI agents to interact directly with platforms like YouTube, TikTok, and Facebook to perform tasks that would normally require manual browsing. Using simple natural language commands, a user can ask their AI to find specific tutorials, summarize the contents of a video via its transcript, or even download audio for a podcast—all without ever leaving the chat interface. Beyond simple downloads, this server provides robust discovery and extraction features that make video content more accessible to machines. It can search for videos with precise pagination, pull detailed metadata like view counts and upload dates, and generate clean, human-readable text transcripts from available subtitles. For those needing specific media, it supports high-quality audio extraction and video downloads at various resolutions, including the ability to trim specific segments from a longer clip. For developers and engineers, this MCP is specifically optimized for the constraints of Large Language Models. It utilizes Zod schema validation to ensure input safety and implements automatic character limits to prevent context window overflow, which is a common challenge when handling long transcripts or large metadata sets. By offering data in both structured JSON for programmatic tasks and Markdown for human-readable display, the server becomes a highly versatile component for building sophisticated, video-aware AI applications that are both safe and efficient.
Category: Design, Media & Creative
Tags: media-download, metadata, transcription, video, youtube
yt-dlp installed on your system. Manual Installation You can install the package globally using npm: bash npm install -g @kevinwatt/yt-dlp-mcpjson { "mcpServers": { "yt-dlp": { "command": "npx", "args": ["-y", "@kevinwatt/yt-dlp-mcp"] } } } Optional Environment Variables You can customize the server behavior by setting these environment variables: * YTDLP_DOWNLOADS_DIR: Path to downloads (default: ~/Downloads) * YTDLP_DEFAULT_RESOLUTION: Default video quality (default: 720p) * YTDLP_DEFAULT_SUBTITLE_LANG: Default language (default: en) * YTDLP_CHARACTER_LIMIT: Limit for LLM safety (default: 25000) * YTDLP_MAX_TRANSCRIPT_LENGTH: Max length for transcripts (default: 50000)ytdlp_ to avoid naming conflicts. * ytdlp_search: Search YouTube with pagination. * Parameters: query, maxResults, offset, response_format (JSON or Markdown). * ytdlp_list_subtitles: List all available subtitle languages for a video. * Parameters: url. * ytdlp_download_subtitles: Download subtitles in VTT format. * Parameters: url, language (optional). * ytdlp_get_transcript: Generate a clean plain text transcript. * Parameters: url, language (optional). * ytdlp_download_video: Download video to the Downloads folder. * Parameters: url, resolution (480p, 720p, 1080p, best), startTime, endTime. * ytdlp_download_audio: Extract and download audio only (M4A/MP3). * Parameters: url. * ytdlp_get_metadata: Extract comprehensive video metadata in JSON. * Parameters: url, fields (optional array). * ytdlp_get_metadata_summary: Get a human-readable metadata summary. * Parameters: url.ytdlp_download_video tool, users can specify exact start and end times, allowing the AI to download only the necessary clip in the desired resolution. Example: "I need the segment from 12:45 to 13:15 of this YouTube video [URL]. Download it in 1080p so I can include it in my presentation."Part of MCP Servers