68
grade C
11 days ago
smithery

Transcriptor

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.

// key findings
7 tools verified — handlers match their declared behaviour
7 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 5 credentials: MCP_AUTH_TOKEN, MCP_QUOTA_MESSAGE_INVALID_KEY, MCP_QUOTA_MESSAGE_NO_KEY, SMOKE_MCP_AUTH_TOKEN, WHISPER_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configBASE_URL
configCACHE_MODERedis caching — Cache subtitles and metadata to reduce yt-dlp calls. Configure via =redis and CACHE_REDIS_URL. See [Caching](docs/caching.md).
configCACHE_REDIS_URLRedis caching — Cache subtitles and metadata to reduce yt-dlp calls. Configure via CACHE_MODE=redis and . See [Caching](docs/caching.md).
configCACHE_TTL_METADATA_SECONDS
configCACHE_TTL_SUBTITLES_SECONDS
configCOOKIES_FILE_PATHan authenticated cookies.txt file and the environment variable.
configCORS_ALLOWED_ORIGINS
configHOSTIf you change PORT / , adjust the URL accordingly, e.g. http://<HOST>:<PORT>/docs.
configJEST_WORKER_ID
configLOAD_BASE_URL
configLOG_LEVEL
configMCP_ALLOWED_HOSTS
configMCP_ALLOWED_ORIGINS
🔐 secretMCP_AUTH_TOKENIf you set , add Authorization: Bearer <token> in the client headers.
configMCP_CLIENT_API_KEYS_FILE
configMCP_CLIENT_API_KEYS_JSON
configMCP_HOSTMCP_PORT=4200 =0.0.0.0 npm run start:mcp:http
configMCP_METRICS_HTTP_REQUESTS_BY_CLIENT_IP
configMCP_PUBLIC_URL
configMCP_PUBLIC_URLS
configMCP_QUOTA_CONTACT_MESSAGE
configMCP_QUOTA_DEFAULT_MAX
configMCP_QUOTA_DEFAULT_WINDOW
configMCP_QUOTA_ENABLED
🔐 secretMCP_QUOTA_MESSAGE_INVALID_KEY
🔐 secretMCP_QUOTA_MESSAGE_NO_KEY
configMCP_QUOTA_REJECT_UNREGISTERED
configMCP_RATE_LIMIT_TIME_WINDOW
configMCP_SMITHERY_PUBLIC_URL
configMCP_TRUST_PROXY
configRATE_LIMIT_TIME_WINDOW
configSENTRY_DSN
configSENTRY_ENVIRONMENT
configSENTRY_RELEASE
configSENTRY_SEND_DEFAULT_PII
configSENTRY_TRACES_SAMPLE_RATE
configSMOKE_IMAGE_APIFull API image reference (overrides name/tag).
🔐 secretSMOKE_MCP_AUTH_TOKENIf set, passed to MCP container as MCP_AUTH_TOKEN and sent as Bearer in MCP requests.
configSMOKE_MCP_IMAGEFull MCP image reference (overrides name/tag).
configSMOKE_SKIP_MCPSet to 1 (or true/yes) to skip MCP checks.
configTEST_PARSE_INT
configWHISPER_API_BASE_URL
🔐 secretWHISPER_API_KEYrequired when using Whisper API; never log or expose in client responses.
configWHISPER_BACKGROUND_TIMEOUT
configWHISPER_BASE_URL
configWHISPER_MODE
configWHISPER_TIMEOUT
configYT_DLP_AGE_LIMIT
configYT_DLP_AUDIO_BUFFER_SIZE
configYT_DLP_AUDIO_CONCURRENT_FRAGMENTS
configYT_DLP_AUDIO_DOWNLOADER
configYT_DLP_AUDIO_DOWNLOADER_ARGS
configYT_DLP_AUDIO_FORMAT
configYT_DLP_AUDIO_FRAGMENT_RETRIES
configYT_DLP_AUDIO_HTTP_CHUNK_SIZE
configYT_DLP_AUDIO_LIMIT_RATE
configYT_DLP_AUDIO_QUALITY
configYT_DLP_AUDIO_RETRIES
configYT_DLP_AUDIO_RETRY_SLEEP
configYT_DLP_AUDIO_THROTTLED_RATE
configYT_DLP_AUDIO_TIMEOUT
configYT_DLP_DOWNLOAD_ARCHIVE
configYT_DLP_ENCODING
configYT_DLP_EXTRA_ARGS
configYT_DLP_IGNORE_NO_FORMATS
configYT_DLP_JS_RUNTIMES
configYT_DLP_MAX_FILESIZE
configYT_DLP_MAX_SLEEP_INTERVAL
configYT_DLP_NO_WARNINGS
configYT_DLP_PLAYLIST_IGNORE_ERRORS
configYT_DLP_PROXY
configYT_DLP_REMOTE_COMPONENTS
configYT_DLP_REQUIRED
configYT_DLP_RETRIES
configYT_DLP_RETRY_SLEEP
configYT_DLP_SKIP_VERSION_CHECK
configYT_DLP_SLEEP_INTERVAL
configYT_DLP_SLEEP_REQUESTS
configYT_DLP_SLEEP_SUBTITLES
configYT_DLP_SUB_FORMAT
configYT_DLP_TIMEOUT
configYT_DLP_VERBOSE_ON_ERROR
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/samson-art-transcriptor-mcp-1fxxg3)](https://m8ven.ai/mcp/samson-art-transcriptor-mcp-1fxxg3)
commit: 159902993f7b97a0a343c7530d63751f9307be41
code hash: 031603b98bfecf0860b7afc79a6a6dd144abd7a4c73afa442b072973f1762c2f
verified: 4/11/2026, 1:31:03 PM
view raw JSON →