This is an MCP server that allows you to directly download transcripts of YouTube videos.
Standard I/O
Docker
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"-kimtaeyoon83-mcp-server-youtube-transcript": {
"args": [
"index.js"
],
"command": "node"
}
}
}for multiple video URL formats (including YouTube Shorts)
(boolean, optional, default: true): Filter out sponsorships, ads, and promotional content from transcript based on chapter markers
transcripts from YouTube videos
metadata in responses
external dependencies for transcript fetching
timestamps for referencing specific moments
(boolean, optional, default: false): Include timestamps in output (e.g., '[0:05] text')
- `url` (string, required): A publicly reachable **direct video URL** (e.g. an `.mp4`/`.mov`/`.webm` link or a pre-signed URL). TwelveLabs fetches the file server-side, so a YouTube watch page URL will not work — it serves HTML, not a raw video stream.
(string, optional, default: "en"): Language code for transcript (e.g., 'ko', 'en'). Automatically falls back to available languages if requested language is not found.
a video with [TwelveLabs](https://twelvelabs.io) Pegasus, a video-understanding model. Unlike `get_transcript`, this reasons over what is *shown* on screen, so it produces useful summaries and answers even for videos with little or no speech (demos, gameplay, b-roll, music videos).
(string, optional): Instruction or question for the model (e.g. `"Summarize this video in 3 sentences"` or `"What products are shown?"`). Defaults to a general summary.
(string, optional, default: `"pegasus1.2"`): Pegasus model to use (`"pegasus1.2"` or `"pegasus1.5"`).
(number, optional, default: 2048): Maximum response length in tokens.
the `TWELVELABS_API_KEY` environment variable. The transcript tool works without it; analysis is fully opt-in. Grab a free key at [twelvelabs.io](https://twelvelabs.io) — there's a generous free tier.