{"id":"kevinwatt-yt-dlp-mcp","name":"yt-dlp-mcp","homepage":null,"repo_url":"https://github.com/kevinwatt/yt-dlp-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","yt-dlp","video","audio","transcripts","typescript","nodejs","tooling","media-extraction","zod"],"what_it_does":"Provides an MCP server (Node/TypeScript) that wraps yt-dlp to let AI agents search for videos, extract metadata, download subtitles/transcripts, and download video/audio (including trimming), via MCP tools such as ytdlp_search_videos and ytdlp_download_video/audio.","use_cases":["AI-assisted video discovery (search with pagination/date filters)","Metadata extraction for summarization or indexing","Transcript/subtitle retrieval and processing (VTT and cleaned text)","Automated video/audio downloads at specified resolution and optionally with time ranges","Use by MCP-compatible clients (Claude, Dive, Cursor, etc.) via an MCP client config"],"not_for":["Replacing a full-fledged media CDN or streaming service","Use in environments where arbitrary third-party URL fetching/downloading is disallowed","Producing authoritative transcripts without considering source accuracy/quality"],"best_when":"You need an agent toolchain that can pull structured information and/or media artifacts from public video URLs on-demand through MCP.","avoid_when":"You have strict egress controls, cannot run npx/Node tooling, or require guaranteed stability of third-party video site behavior (yt-dlp scraping).","alternatives":["yt-dlp CLI + your own wrapper","Other MCP servers for media (e.g., official modelcontextprotocol/servers if applicable)","Direct API-based providers for specific platforms (where available)"],"af_score":64.5,"security_score":48.5,"reliability_score":36.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:36:33.771290+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":["TypeScript"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Cookie-based access for private/age-restricted content via yt-dlp cookies (YTDLP_COOKIES_FROM_BROWSER or YTDLP_COOKIES_FILE)"],"oauth":false,"scopes":false,"notes":"No platform OAuth described; access control (when needed) is handled via passing cookies through environment configuration for yt-dlp."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing model for the package described; cost is primarily operational (your infrastructure, and rate/throughput of external platforms/yt-dlp behavior)."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":64.5,"security_score":48.5,"reliability_score":36.2,"mcp_server_quality":86.0,"documentation_accuracy":78.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":65.0,"rate_limit_clarity":35.0,"tls_enforcement":40.0,"auth_strength":55.0,"scope_granularity":30.0,"dependency_hygiene":45.0,"secret_handling":70.0,"security_notes":"Security is mostly about client-side/agent-side usage: the tool supports cookie-based access through environment variables (and warns about authenticated endpoints). It claims URL validation, Zod input validation, and character limits, which can help against prompt/tool input issues. However, it also downloads content from third-party URLs and may execute yt-dlp with options/cookies, increasing the need for strict egress control and careful handling of cookie files to avoid leakage/logging. TLS enforcement is not directly applicable/observable for this MCP server from the README (it’s a local/server-side tool), so scoring is conservative.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":50.0,"error_recovery":40.0,"idempotency_support":"true","idempotency_notes":"Many tools are effectively read-only (search/metadata/transcripts/subtitles). Download tools may not be idempotent due to repeated file creation unless the implementation de-duplicates; docs only state idempotent hints generally, not behavior guarantees.","pagination_style":"offset-based (offset/maxResults/next_offset/has_more style described for search responses)","retry_guidance_documented":false,"known_agent_gotchas":["Downloads are performed via yt-dlp, which can fail for site-specific changes; agents should handle failures and possibly retry with alternative URLs/parameters.","Cookie-based access requires an additional JS runtime (deno) per README note; without it, authenticated downloads may fail.","Because the tool executes commands for downloads, an agent should validate URLs and constrain parameters (resolution/time ranges) to reduce unexpected large downloads.","When using transcripts/subtitles, language availability can vary; agents may need to query available languages first."]}}