LabscoMCP early access ↗
kyong0612MCP SERVER

YouTube Transcript MCP Server

YouTube transcripts in Go — one video or a batch, in a chosen caption language, formatted as plain text, SRT or VTT.

by kyong0612 ↗Speech Synthesis & TranscriptionCommunity

LABSCO SUMMARY

Says plainly what it does not do yet.

The translate call fetches captions in a language — including YouTube's auto-translated ones — rather than machine-translating arbitrary text, and the README says so instead of letting the name imply more. Same for the parts still on the roadmap: Redis caching falls back to the memory cache, and the metrics endpoint returns a placeholder. Checking available languages before asking for one is the habit that avoids most empty responses.

What it is

A Go MCP server for fetching YouTube video transcripts, with in-memory caching, rate limiting and proxy rotation built in. It implements MCP protocol 2024-11-05 and ships both a stdio binary for clients and an HTTP mode for testing.

What you get

  • A transcript for one video by URL or ID, with a language preference list and an option to preserve formatting — get_transcript
  • Batch fetching across several videos in one call, with continue_on_error so one failure does not sink the run — get_multiple_transcripts
  • Captions in a specified language, including YouTube's auto-translated captions where they exist — translate_transcript
  • Reformatting into plain text, SRT, VTT and other formats — format_transcript
  • The list of subtitle languages actually available for a video, before you ask for one — list_available_languages

Requirements

No account and no key. Go 1.24 or higher; install with go install github.com/kyong0612/youtube-mcp/cmd/mcp@latest, rename the binary to youtube-mcp-stdio, then claude mcp add youtube-transcript -- youtube-mcp-stdio. Clients need the stdio binary, not the HTTP server. YOUTUBE_DEFAULT_LANGUAGES, CACHE_ENABLED and LOG_LEVEL are the environment variables worth setting. Docker Compose is supported for the HTTP mode.

Setup effort

One command — go install github.com/kyong0612/youtube-mcp/cmd/mcp@latest && mv "$(go env GOPATH)/bin/mcp" "$(go env GOPATH)/bin/youtube-mcp-stdio"