Skip to main content
Glama
ChristophLanganke

youtube-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YOUTUBE_API_KEYNoOptional YouTube Data API key to enable search and playlist tools without signing in.
GOOGLE_CLIENT_IDNoOAuth client ID for YouTube account access. Required for sign-in features, but the server can run without it for public transcript tools.
GOOGLE_CLIENT_SECRETNoOAuth client secret for YouTube account access. Required for sign-in features, but the server can run without it for public transcript tools.

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_transcriptA

Fetch the transcript/subtitles of a YouTube video for reading, summarizing or quoting. Works for any public video without sign-in. Accepts a video ID or any YouTube URL. Long transcripts are truncated at max_chars — request a later start_seconds to continue.

list_transcript_languagesA

List the caption tracks available for a video (language, human-written vs auto-generated, translatable) plus the languages YouTube can machine-translate into. Use before get_transcript when unsure.

get_video_infoA

Get metadata for a video: title, channel, duration, description, view count and whether captions exist. Needs no sign-in and no API quota.

list_channel_uploadsA

List a channel's most recent uploads, newest first. Prefer this over search_videos whenever you want "the latest videos from channel X" — it costs 1 quota unit instead of 100 and returns uploads completely, including videos whose title does not contain any particular word.

get_subscription_feedA

Merged newest-first feed of recent uploads across the signed-in account's subscriptions — the "what is new from the channels I follow" view. Requires sign-in. Results are cached, so repeated calls are nearly free. Combine with get_transcript to summarize what is new.

search_videosA

Full-text search across YouTube. Costs 100 quota units per call, so use list_channel_uploads instead when you just want a channel's recent videos. Requires sign-in or YOUTUBE_API_KEY. Passing channel_id without query is routed to the cheap uploads path automatically.

get_auth_statusA

Report whether the server is signed in to a Google account and which capabilities are available.

list_my_subscriptionsB

List the channels the signed-in account is subscribed to. Requires sign-in.

list_my_playlistsB

List the signed-in account's own playlists. Requires sign-in.

get_playlist_itemsA

List the videos in a playlist. Public playlists work with an API key; private ones need sign-in. Combine with get_transcript to summarize a whole playlist.

list_my_uploadsB

List videos uploaded by the signed-in account, newest first. Requires sign-in.

list_my_video_captionsA

List the official caption tracks of a video owned by the signed-in account, including drafts that are not publicly served. Requires sign-in and video ownership.

download_my_captionA

Download an official caption track as SRT or VTT. Only works for videos owned by the signed-in account — use get_transcript for anything else.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 13 tools

Disambiguation3/5

Most tools are distinct (get_transcript, get_video_info, search_videos, playlists, etc.), but overlap exists: get_transcript vs download_my_caption both fetch captions, though ownership differs; list_my_uploads and list_channel_uploads are similar but differ by account vs channel. The distinctions are clear enough but require careful reading.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern: get_*, list_*, search_*, download_*. The pattern is consistent, with only a minor deviation in 'download_my_caption' vs 'get_transcript' where 'get' and 'download' both imply fetching, but still readable.

Tool Count5/5

13 tools is well within the ideal range for a YouTube-focused server. Each tool serves a specific purpose (transcripts, video info, channel uploads, playlists, subscriptions, auth), and none seem redundant or unnecessary.

Completeness4/5

The server covers core YouTube interactions: searching, video metadata, transcripts, channel uploads, playlists, and subscriptions. Minor gaps include lack of tools for liking/disliking videos, commenting, or managing playlists (create/delete), but these are not essential for read-only and summarize use cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues