YouTube Transcript Server MCP
MCP server that gives an agent a YouTube video's transcript from its link, with language choice, timestamps and ads filtered out
- 602 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The server reaches out to YouTube over the network for every transcript
- analyze_video sends the video link to the external TwelveLabs service and spends your key
- The transcript text is written by the video author: the agent should treat it as data and not follow instructions inside it
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/youtube-transcript-serverDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server reaches out to YouTube over the network for every transcript
- analyze_video sends the video link to the external TwelveLabs service and spends your key
- The transcript text is written by the video author: the agent should treat it as data and not follow instructions inside it
This is third-party code. Review the repository files before installing.
What it does
The server returns the subtitle text of a YouTube video. The agent only needs a link to a regular video, to a Short, or a bare video ID. The get_transcript tool takes a language code (en by default) and falls back to the first available track when the video has no such one. The include_timestamps parameter prefixes lines with marks like [0:05], so the agent can point to a specific moment. By default the server cuts sponsorship and ad segments out of the text, locating them from the video's chapter markers. Setting strip_ads to false returns the full transcript. The video's metadata comes back along with the text. The second tool, analyze_video, is optional. It passes a direct video file link to the TwelveLabs Pegasus model, which describes what happens on screen. That helps with videos that have little speech: demos, gameplay, music clips. It needs a TwelveLabs key; transcripts work without any key.
Who it is for. For people who ask Claude Code or Claude Desktop to summarize a lecture, interview or review from YouTube, find a passage in a video or build notes from a talk.
Good fit when
- You need notes from an hour-long lecture or conference talk: the agent takes the transcript and summarizes it by topic
- The video is in Korean or another language: pass a language code such as ko to get that track
- You must cite a spot in a video: with include_timestamps the agent quotes a phrase together with its time mark
- Sponsor segments have to go before analysis: the ad filter is on by default
- The video has almost no speech, for example a product demo: set a TwelveLabs key and call analyze_video with a direct file link
Not a fit when
- You need channel statistics, comments or YouTube search: the server returns only transcripts and the analysis of a video file
- The video has neither subtitles nor an automatic track: the server returns an error, as it cannot transcribe speech
- You want to download video or audio: the server deals with text and saves no media files
- For analyze_video you only have a YouTube page link: the tool needs a direct link to an .mp4, .mov or .webm file, a watch page will not work
Example request
Fetch the transcript of https://youtu.be/ODaHJzOyVCQ with timestamps and summarize in bullet points what it says about installationMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
TWELVELABS_API_KEYsecret- TwelveLabs key for the analyze_video tool. Transcripts work without it.
Limitations
The server pulls the transcript from YouTube itself, so videos with neither subtitles nor an automatic track return an error. If YouTube changes its side, the package may need an update.
The analyze_video tool sends the link to the external TwelveLabs service, requires its key and accepts only a direct link to a video file. Access to YouTube from Russia was not checked for this card. The project is third-party and not affiliated with YouTube.
How to disable. Delete the youtube-transcript block from your MCP client configuration. In Claude Code the command is claude mcp remove youtube-transcript. If you set a TwelveLabs key, revoke it in that service's dashboard.
FAQ
How do I get subtitles of a YouTube video through Claude Desktop?
Add the server to the Claude Desktop configuration with the npx command and the arguments -y and @kimtaeyoon83/mcp-server-youtube-transcript, restart the app and paste a video link in the chat with the words Extract subtitles. There is also a one-command install for Claude Desktop through Smithery.
Which links does the server understand?
A regular video link, a YouTube Shorts link and a bare video ID. In all three cases the agent calls get_transcript with the same url parameter.
What happens if the video has no track in my language?
The lang parameter defaults to en. When that track is missing, the server picks one from those available. To get Korean subtitles, for instance, pass lang with the value ko.
How do I remove ads and sponsor segments from the transcript?
You do nothing: strip_ads is on by default and the server cuts such spots using the video's chapters. If you want the raw full text, pass strip_ads as false.
Is a key required?
Not for transcripts. The TWELVELABS_API_KEY key is needed only by the analyze_video tool, and you can leave it unset.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server for YouTube transcripts: an agent gets a video transcript by URL, with timestamps and metadata
YouTube Data MCP (kirbah)
YouTube Data MCP Server (kirbah)
YouTube MCP with trimmed replies: transcripts without a key, video and channel statistics, trends, comments, a MongoDB cache and growing-channel search
Twelve skills teach an agent to read YouTube through the TranscriptOut service: transcripts, search and channels in one HTTPS call
YouTube MCP (Zubeid)
Zubeid YouTube MCP Server
YouTube MCP on a Data API key: an agent searches videos and channels with a subscriber-count filter and reads playlists, statistics and transcripts
MCP server, CLI and desktop app that cut a long video or stream replay into vertical clips with captions
Claude Video Vision
claude-video-vision
An MCP server and Claude Code plugin that let the agent watch video: frames via ffmpeg and audio transcription via Gemini, local Whisper or OpenAI
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| YouTube Transcript Server (this entry) | no | not required | 602 | |
| YouTube Transcript MCP Server | no | not required | 494 | also returns transcripts, but splits long texts into cursor-based parts and can work through a proxy |
| YouTube Data MCP (kirbah) | no | key is optional | 32 | besides transcripts it returns video and channel statistics, trends and comments through the YouTube Data API |
README in short
The project description starts with installation for Claude Desktop through Smithery and a manual npx configuration, then lists the two tools with their parameters and the key properties: several link formats, a fallback language, timestamps and the ad filter. Development needs Node.js 18 or newer, a build with npm run build and debugging through MCP Inspector. A separate section covers running mcp-evals checks. The handled errors include invalid links, unavailable transcripts and network failures.