Skip to main content
Glama
teobouancheau

YouTube Knowledge MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port. The Docker image sets 10000; Render and similar platforms inject their own3000
MCP_MODENohttp selects the HTTP transport when no --http flag is given
MCP_BIND_HOSTNoInterface to bind. The Docker image sets 0.0.0.0. A non-loopback bind refuses to start without MCP_AUTH_TOKEN unless MCP_ALLOW_UNAUTHENTICATED=true127.0.0.1
MCP_AUTH_TOKENNoRequire this bearer token on the HTTP transport. Set this if you expose the server beyond localhost.
MCP_PUBLIC_URLNoThe URL clients reach the server at; used in the OAuth metadata it publishes instead of the request's Host
MCP_RATE_LIMITNoRequests per window, per client60
MCP_TRUST_PROXYNotrue, false, or the number of reverse-proxy hops whose X-Forwarded-* headers to believe. Off, forwarded headers are ignored for rate limiting and URLsfalse
MCP_MAX_SESSIONSNoReject new sessions past this many1000
MCP_ALLOWED_HOSTSNoComma-separated Host allowlist; enables DNS-rebinding protection
YOUTUBE_MCP_PROXYNoAn http, https, socks4 or socks5 proxy URL for yt-dlp
MCP_MAX_BODY_BYTESNoLargest request body accepted1048576
MCP_RATE_WINDOW_MSNoRate-limit window60000
MCP_ALLOWED_ORIGINSNoComma-separated Origin allowlist
MCP_SESSION_IDLE_MSNoClose HTTP sessions idle this long1800000
YOUTUBE_MCP_COOKIES_FILENoA Netscape-format cookies file inside your home directory, as an alternative to a browser
MCP_ALLOW_UNAUTHENTICATEDNoExplicit consent to listen on a network interface with no tokenfalse
YOUTUBE_MCP_MAX_CONCURRENCYNoConcurrent yt-dlp processes3
YOUTUBE_MCP_SLEEP_REQUESTS_SNoSeconds yt-dlp sleeps between its own requests, to stay under YouTube's limits
YOUTUBE_MCP_TRANSCRIPT_TTL_MSNoTranscript cache lifetime30 days
YOUTUBE_MCP_COOKIES_FROM_BROWSERNoBrowser whose cookies yt-dlp should read: brave, chrome, chromium, edge, firefox, opera, safari, vivaldi or whale. See Signed-in content

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
search_videosA

Search YouTube for videos by keyword or phrase. Returns video IDs, titles, durations, channels, view counts, and URLs. Results sorted by relevance.

fetch_videosA

List videos from a YouTube playlist or channel. Returns video IDs, titles, durations, upload dates, and URLs. Sorted by playlist or channel order.

get_video_infoA

Get detailed metadata for a single YouTube video. Returns title, channel, duration, upload date, view count, like count, comment count, description, tags, and thumbnail URL.

get_transcriptA

Extract the full transcript from a YouTube video. Supports auto-generated and manual captions. Returns plain text with word count and detected language. Results are cached locally.

get_chaptersA

Extract chapter markers and timestamps from a YouTube video. Returns chapter titles with start and end times. Not all videos have chapters. Returns empty list if none found.

get_commentsA

Get top comments from a YouTube video sorted by popularity. Returns author, text, like count, and pinned status. Only top-level comments, no replies.

get_channel_infoA

Get metadata for a YouTube channel. Returns channel name, handle, subscriber count, description, and channel URL.

search_channelsA

Search YouTube for channels by keyword or phrase. Returns channel names, handles, subscriber counts, descriptions, and URLs.

get_playlist_infoA

Get metadata for a YouTube playlist. Returns title, channel, video count, last updated date, and description.

list_formatsA

List all available download formats for a YouTube video. Returns format IDs, extensions, resolutions, FPS, codecs, and file sizes. Grouped by video+audio, video-only, and audio-only.

save_to_libraryA

Save a summary or skill note to the local YouTube knowledge library. Overwrites existing content of the same type for the same video. Returns the saved file path.

list_libraryA

List all saved items in the local YouTube knowledge library. Returns titles, channels, content types, tags, and save dates. Optionally filter by tag. Sorted by most recently saved.

download_videoA

Download a YouTube video to local disk. Use the quality parameter for automatic format selection with smart fallbacks, or formatId for a specific format from list_formats. Returns the downloaded file path, title, and format details.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource/action combination: searching vs fetching videos, retrieving metadata, transcripts, chapters, comments, channel info, playlist info, formats, downloading, and library operations. No two tools appear to do the same thing.

Naming Consistency4/5

The vast majority use a consistent verb_noun pattern (get_video_info, search_channels, list_formats). The only deviation is 'save_to_library' which uses a preposition, but it's still clear and readable.

Tool Count5/5

13 tools is well within the ideal 3-15 range and each tool serves a necessary function for the server's purpose of YouTube knowledge management—no redundancy or bloat.

Completeness4/5

The surface covers search, retrieval, metadata, transcripts, chapters, comments, channels, playlists, download, and library save/list. Minor gap: no explicit delete or update for library items, though save_to_library does overwrite.

Maintenance

ActivityMaintained
ResponsivenessNo issues