YouTube Transcript
youtube-transcript is a community MCP server by kimtaeyoon83, published on npm as @kimtaeyoon83/mcp-server-youtube-transcript. It exposes a single tool, get_transcript, which pulls the caption track of a YouTube video by URL or video ID and hands the text back to your agent. No API key, no Google account, no quota page.
How we started it
npx -y @kimtaeyoon83/mcp-server-youtube-transcriptUse it, with one eye on the caption track. When we started it under a clean environment it came up on the 2024-11-05 protocol as version 0.1.0 and advertised exactly 1 tool, and that tool does the thing the package name promises. The strongest reason against is that it depends on YouTube's caption endpoint rather than a supported API, so the day that endpoint changes shape or starts refusing datacenter IPs, this server goes quiet and there is no vendor to escalate to.
Use it if
Skip it if
The bill for your context window
| Tool | Est. tokens | Described? | Required params |
|---|---|---|---|
| get_transcript | ~83 | yes (49 chars) | 2 |
This is the cheapest page in the directory to keep connected. Its whole tools/list payload is 334 bytes, about 84 tokens by the chars/4 estimate we use everywhere, and 83 of those tokens belong to get_transcript itself with its 49-character description. Compare that to the heaviest server in the same batch, which spends two dozen tool definitions and thousands of tokens before your agent has done anything. Leaving this one enabled permanently costs you roughly the length of a short paragraph.
Setup reality
There is almost nothing to it. The harness ran it via npx with no configuration and it reported no missing environment variables at all, which is rare in this batch. Boot took 7182 ms on our box, most of that npx fetching the package on a cold cache. Add the npx command to your client config, restart the client, and call get_transcript with the video and a language code: the tool declares 2 required parameters. If it returns nothing, check that the video actually has captions before you suspect the server.
Questions people ask
Does the youtube-transcript MCP server need a YouTube API key?
No. We booted it with a clean environment carrying no secrets and it started fine, reporting no required environment variables. It reads the caption track directly, which is also why it can break without warning if YouTube changes that endpoint.
How many tools does it add to my agent?
Exactly 1: get_transcript, which takes 2 required parameters. That is the entire surface, measured on 2026-08-19 by starting the server and asking it.
Can it transcribe a video that has no captions?
No. It fetches captions that already exist, auto-generated ones included. A video with captions disabled returns nothing useful, and you will want a real speech-to-text step instead.
Other apis servers we started
| Server | Vendor | Boots | Context tax |
|---|---|---|---|
| Google Maps (archived) | Anthropic (archived) | ✗ | ~0 tokens |
How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.