Transcriptor MCP Server

API for downloading subtitles from YouTube videos

Remote serverstreamable-httpTypeScript

What is the Transcriptor MCP MCP server?

API for downloading subtitles from YouTube videos. The transcriptor mcp mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.

What it actually does

An MCP server (stdio; remote HTTP/SSE via mcp-proxy) 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 (local or OpenAI API). Works with Cursor and other MCP hosts.

This repository primarily ships a stdio MCP server (node dist/mcp.js):

  • Multi-platform — — YouTube, Reddit, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion
  • Transcripts + raw subtitles — cleaned text or raw SRT/VTT
  • Language support — official subtitles with auto-generated fallback
  • Video metadata — extended info (title, channel, tags, thumbnails, etc.) and chapter markers
  • Pagination — safe for large transcripts
  • Whisper fallback — when subtitles are unavailable, transcribes video audio via Whisper (local self-hosted or OpenAI API); configurable via environment variables

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Its toolset

Everything the assistant can do here goes through one of these:

  • get_transcript — Cleaned plain text (first chunk)
  • get_raw_subtitles — Raw SRT/VTT, paginated
  • get_available_subtitles — List official/auto languages
  • get_video_info — Extended metadata
  • get_video_chapters — Chapter markers
  • get_video_frame — Single frame image at timestamp
  • get_playlist_transcripts — Batch transcripts from playlist
  • search_videos — YouTube search
  • Variable — Default
  • SMOKE_IMAGE_API — —
  • SMOKE_VIDEO_URLhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
  • SMOKE_SKIP_MCP — —

Configuration

You will need 8 environment variables: WHISPER_BASE_URL, WHISPER_API_KEY, CACHE_REDIS_URL, COOKIES_FILE_PATH, SMOKE_API_URL, SMOKE_VIDEO_URL, SMOKE_MCP_URL, SMOKE_MCP_AUTH_TOKEN. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Docker (recommended for production) - Node.js >= 20.0.0 (for local development) - yt-dlp (included in Docker image)

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Transcriptor MCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the transcriptor mcp mcp server does with a few real requests.

When to reach for it

Among the AI and media services options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Transcriptor MCP's toolset — get_transcript, get_raw_subtitles, get_available_subtitles and 11 more — is a fair guide to whether it matches your workflow. It is maintained by samson-art; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Transcriptor MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Available tools

ToolWhat it does
get_transcriptCleaned plain text (first chunk)
get_raw_subtitlesRaw SRT/VTT, paginated
get_available_subtitlesList official/auto languages
get_video_infoExtended metadata
get_video_chaptersChapter markers
get_video_frameSingle frame image at timestamp
get_playlist_transcriptsBatch transcripts from playlist
search_videosYouTube search
VariableDefault
SMOKE_IMAGE_API
SMOKE_VIDEO_URLhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
SMOKE_SKIP_MCP
SMOKE_MCP_IMAGE
SMOKE_MCP_AUTH_TOKEN

How to install the Transcriptor MCP MCP server

Cursor MCP config:

```json
{
  "mcpServers": {
    "transcriptor": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "artsamsonov/transcriptor-mcp:latest"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Docker (recommended for production) - Node.js >= 20.0.0 (for local development) - yt-dlp (included in Docker image)
VariableDescriptionRequired
WHISPER_BASE_URLEndpoint or connection string the server talks to.Yes
WHISPER_API_KEYCredential the server authenticates with.Yes
CACHE_REDIS_URLEndpoint or connection string the server talks to.Yes
COOKIES_FILE_PATHFilesystem location the server is allowed to use.Optional
SMOKE_API_URLEndpoint or connection string the server talks to.Yes
SMOKE_VIDEO_URLEndpoint or connection string the server talks to.Yes
SMOKE_MCP_URLEndpoint or connection string the server talks to.Yes
SMOKE_MCP_AUTH_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Transcriptor MCP to get transcript.
  • Use Transcriptor MCP to get raw subtitles.
  • Use Transcriptor MCP to get available subtitles.

Frequently asked questions

It connects Transcriptor MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (get_transcript, get_raw_subtitles, get_available_subtitles, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Transcriptor MCP directly.