get_transcriptLABSCO 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_errorso 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"
USE CASES
Summarising a talk you do not have time to watch
Fetch the transcript for the video and work from the text, with a language preference list so the best available captions are used.
Processing a batch of videos in one pass
Pass several video identifiers at once and keep going past the ones with no captions.
Producing subtitle files from a video
Pull the transcript and reformat it into SRT or VTT for an editor or a player.
Reading a talk in another language
Check which caption languages exist for the video, then fetch the one you want including auto-translated tracks.
5 tools
Listed in project docs. Your client may show a different list.
get_multiple_transcriptstranslate_transcriptformat_transcriptlist_available_languagesBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- youtube-mcp-stdio on PATH
- Go 1.24 or later
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
go install github.com/kyong0612/youtube-mcp/cmd/mcp@latest
mv "$(go env GOPATH)/bin/mcp" "$(go env GOPATH)/bin/youtube-mcp-stdio"MCP Clients
Claude Code
claude mcp add youtube-transcript -- youtube-mcp-stdioClaude Desktop, Cursor
{
"mcpServers": {
"youtube-transcript": {
"command": "<YOUR_PATH_TO_YOUTUBE_MCP_YOUTUBE_MCP>",
"args": [],
"env": {
"LOG_LEVEL": "info",
"CACHE_ENABLED": "true",
"YOUTUBE_DEFAULT_LANGUAGES": "en,ja"
}
}
}
}