Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YTA_GLNoRegion sent to YouTube; affects track display names.US
YTA_HLNoInterface language sent to YouTube; affects track display names.en
YTA_YTDLPNoauto uses a local yt-dlp as fallback, always puts it first, never disables it.auto
YTA_COOKIESNoRaw Cookie header, for age-restricted or your own private videos.
YTA_RETRIESNoRetries for transport-level failures, with backoff.2
YTA_MAX_CHARSNoTranscript cap per call; truncation is reported, not hidden.200000
YTA_PROVIDERSNoOverride the provider order.innertube,watch-page,yt-dlp
YTA_TIMEOUT_MSNoTimeout per HTTP request.20000
YTA_USER_AGENTNoSent on every request.desktop Chrome UA
YTA_YTDLP_PATHNoPath to the yt-dlp binary.yt-dlp
YTA_CACHE_TTL_MSNoIn-memory transcript cache lifetime.300000
YTA_COOKIES_FILENoNetscape cookie file (the format browser extensions and yt-dlp emit); parsed for HTTP and passed to yt-dlp.

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
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
youtube_get_transcriptA

Return the transcript of a YouTube video, from any YouTube URL. Handles watch / youtu.be / shorts / live / embed / music / nocookie links and bare video ids. If the video has no captions it fails with code NO_TRANSCRIPT instead of inventing text; if the requested language is missing it fails with LANGUAGE_UNAVAILABLE plus the available list. Use output=segments for timestamped cues, or timestamps=true for [mm:ss] prefixed lines.

youtube_list_languagesA

List every caption track a video offers, marking which are auto-generated. Use it after LANGUAGE_UNAVAILABLE, or to decide what youtube_get_transcript can return. hasCaptions=false means the video has no transcript at all.

youtube_video_infoA

Cheap report for one video: title, author, duration, whether captions exist and in which languages. Call it before a batch of transcript requests, or to explain why a transcript is missing.

youtube_parse_urlA

Offline parse of a YouTube reference: video id, playlist id, start offset and how it was recognised. Makes no network requests. Useful for validating a link and explaining playlist, channel or clip links.

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

Disambiguation5/5

Each tool targets a distinct concern: parsing URLs, fetching transcripts, listing caption languages, and summarizing video info. Although list_languages and video_info both mention captions, their purposes are clearly separated (exploring vs. explaining/planning).

Naming Consistency5/5

All tool names follow the consistent pattern youtube_<verb>_<object>: parse_url, get_transcript, list_languages, video_info. The style is uniform and predictable across the set.

Tool Count5/5

Four tools is a well-scoped size for a focused YouTube transcript server. Each tool serves a clear function without redundancy or bloat, covering the primary workflow.

Completeness5/5

The surface covers the core transcript workflow completely: parse/validate references, fetch transcripts, list available languages, and get video-level metadata to explain missing captions. There are no dead ends for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues