An MCP server that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion, Reddit. Whisper fallback — transcribes audio when subtitles are unavailable.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
process.env. You'll be asked to provide them before it can run.BASE_URLCACHE_MODE— Redis caching — Cache subtitles and metadata to reduce yt-dlp calls. Configure via =redis and CACHE_REDIS_URL. See [Caching](docs/caching.md).CACHE_REDIS_URL— Redis caching — Cache subtitles and metadata to reduce yt-dlp calls. Configure via CACHE_MODE=redis and . See [Caching](docs/caching.md).CACHE_TTL_METADATA_SECONDSCACHE_TTL_SUBTITLES_SECONDSCOOKIES_FILE_PATH— an authenticated cookies.txt file and the environment variable.CORS_ALLOWED_ORIGINSHOST— If you change PORT / , adjust the URL accordingly, e.g. http://<HOST>:<PORT>/docs.JEST_WORKER_IDLOAD_BASE_URLLOG_LEVELMCP_ALLOWED_HOSTSMCP_ALLOWED_ORIGINSMCP_AUTH_TOKEN— If you set , add Authorization: Bearer <token> in the client headers.MCP_CLIENT_API_KEYS_FILEMCP_CLIENT_API_KEYS_JSONMCP_HOST— MCP_PORT=4200 =0.0.0.0 npm run start:mcp:httpMCP_METRICS_HTTP_REQUESTS_BY_CLIENT_IPMCP_PUBLIC_URLMCP_PUBLIC_URLSMCP_QUOTA_CONTACT_MESSAGEMCP_QUOTA_DEFAULT_MAXMCP_QUOTA_DEFAULT_WINDOWMCP_QUOTA_ENABLEDMCP_QUOTA_MESSAGE_INVALID_KEYMCP_QUOTA_MESSAGE_NO_KEYMCP_QUOTA_REJECT_UNREGISTEREDMCP_RATE_LIMIT_TIME_WINDOWMCP_SMITHERY_PUBLIC_URLMCP_TRUST_PROXYRATE_LIMIT_TIME_WINDOWSENTRY_DSNSENTRY_ENVIRONMENTSENTRY_RELEASESENTRY_SEND_DEFAULT_PIISENTRY_TRACES_SAMPLE_RATESMOKE_IMAGE_API— Full API image reference (overrides name/tag).SMOKE_MCP_AUTH_TOKEN— If set, passed to MCP container as MCP_AUTH_TOKEN and sent as Bearer in MCP requests.SMOKE_MCP_IMAGE— Full MCP image reference (overrides name/tag).SMOKE_SKIP_MCP— Set to 1 (or true/yes) to skip MCP checks.TEST_PARSE_INTWHISPER_API_BASE_URLWHISPER_API_KEY— required when using Whisper API; never log or expose in client responses.WHISPER_BACKGROUND_TIMEOUTWHISPER_BASE_URLWHISPER_MODEWHISPER_TIMEOUTYT_DLP_AGE_LIMITYT_DLP_AUDIO_BUFFER_SIZEYT_DLP_AUDIO_CONCURRENT_FRAGMENTSYT_DLP_AUDIO_DOWNLOADERYT_DLP_AUDIO_DOWNLOADER_ARGSYT_DLP_AUDIO_FORMATYT_DLP_AUDIO_FRAGMENT_RETRIESYT_DLP_AUDIO_HTTP_CHUNK_SIZEYT_DLP_AUDIO_LIMIT_RATEYT_DLP_AUDIO_QUALITYYT_DLP_AUDIO_RETRIESYT_DLP_AUDIO_RETRY_SLEEPYT_DLP_AUDIO_THROTTLED_RATEYT_DLP_AUDIO_TIMEOUTYT_DLP_DOWNLOAD_ARCHIVEYT_DLP_ENCODINGYT_DLP_EXTRA_ARGSYT_DLP_IGNORE_NO_FORMATSYT_DLP_JS_RUNTIMESYT_DLP_MAX_FILESIZEYT_DLP_MAX_SLEEP_INTERVALYT_DLP_NO_WARNINGSYT_DLP_PLAYLIST_IGNORE_ERRORSYT_DLP_PROXYYT_DLP_REMOTE_COMPONENTSYT_DLP_REQUIREDYT_DLP_RETRIESYT_DLP_RETRY_SLEEPYT_DLP_SKIP_VERSION_CHECKYT_DLP_SLEEP_INTERVALYT_DLP_SLEEP_REQUESTSYT_DLP_SLEEP_SUBTITLESYT_DLP_SUB_FORMATYT_DLP_TIMEOUTYT_DLP_VERBOSE_ON_ERROR[](https://m8ven.ai/mcp/samson-art-transcriptor-mcp-1fxxg3)