Skip to main content
Glama
fledgeling-co

YouTube Transcript MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YT_DLP_PATHNoWhere yt-dlp lives, if it isn't on PATHyt-dlp
GEMINI_API_KEYNoAI Studio key. `GOOGLE_API_KEY` works too
GOOGLE_API_KEYNoAI Studio key. Works as an alternative to GEMINI_API_KEY.
AI_GATEWAY_API_KEYNoVercel AI Gateway. Preferred, because `gemini-3.6-flash` resolves there
YT_TRANSCRIPT_FLEXNoVercel's flex tier. Off because it ignores the thinking budget; see abovefalse
YT_TRANSCRIPT_MODELNoWhich model transcribes. The gateway prefix is added for yougemini-3.6-flash
YT_TRANSCRIPT_REPAIRNoRepair auto-captions with a text call instead of re-transcribingtrue
YT_TRANSCRIPT_TIMEOUT_MSNoHow long to wait on a model call600000
YT_TRANSCRIPT_MAX_MINUTESNoLongest video the paid path will accept180
YT_TRANSCRIPT_MAX_PER_HOURNoTranscriptions per rolling hour. `0` removes the cap30

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
logging
{}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
youtube_transcriptA

Get a YouTube video's transcript. Tries the video's own captions first (free, and most videos have them), then Gemini reading the URL (billed), then yt-dlp if installed. Returns the transcript plus which source produced it, so you can tell a human-written caption track from a machine transcription. Accepts any YouTube URL shape or a bare video id.

youtube_transcript_doctorA

Check what this server can actually do right now: which caption clients answer, whether a transcription key is configured, and whether yt-dlp is installed. Free, and makes one unauthenticated request to YouTube.

youtube_searchA

Search YouTube and filter the results on view count, how recently they were posted, video length, and the channel's subscriber count. Filters combine: a video about X with over 50,000 views, posted in the last month, from a channel with over 80,000 subscribers. Free, no API key. Returns video ids you can pass to youtube_transcript.

youtube_transcriptsA

Get transcripts for several videos in one call. Each one goes through the same chain as youtube_transcript: captions first, then Gemini, then yt-dlp. Videos are fetched in parallel and a failure on one does not stop the rest. Set allowPaid false to keep the whole batch free.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

youtube_transcript and youtube_transcripts are potentially confusing due to their similar names, but their descriptions clearly distinguish single from batch operations. youtube_search and youtube_transcript_doctor are unambiguous.

Naming Consistency5/5

All tool names use snake_case and share the youtube_ prefix, creating a consistent and predictable pattern. The use of singular vs plural is a clear convention for single vs batch operations.

Tool Count5/5

With only 4 tools, the server is well-scoped and each tool serves a distinct purpose: single transcript, batch transcript, search, and diagnostics. The count feels appropriate for a focused transcript service.

Completeness5/5

The tool set covers the core workflow completely: search for videos, retrieve a single transcript, retrieve multiple transcripts, and check server capabilities. No obvious gaps exist for a transcript-focused server.

Maintenance

ActivitySlowing
ResponsivenessNo issues