Skip to main content
Glama
jindratilk

YouTube Research MCP

by jindratilk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YT_DLPNoEnable or disable the yt-dlp helperon
YT_DEBUGNoLog every YouTube request (status, queue wait, latency) to stderroff
YT_PROXYNoHTTP(S) proxy for all YouTube requests, yt-dlp and ffmpegnone
FFMPEG_PATHNoPath to the ffmpeg binaryffmpeg
YT_DLP_PATHNoPath to the yt-dlp binaryyt-dlp
YT_MCP_TOOLSNoComma-separated tools to exposeall
YT_MIN_GAP_MSNoMinimum gap between API requests (ms) for the API request queue120
YT_TIMEOUT_MSNoPer-request timeout (ms)15000
YT_CACHE_TTL_MSNoIn-memory cache lifetime (ms)900000
YT_CAPTION_GAP_MSNoMinimum gap between caption downloads (ms)350
YT_MAX_CONCURRENCYNoAPI request queue concurrency4
YT_FRAME_MAX_HEIGHTNoStream quality height used for frames720
YT_FRAME_CONCURRENCYNoNumber of parallel ffmpeg processes for frames3
YT_IOS_CLIENT_VERSIONNoOverride the Innertube iOS client version if YouTube starts rejecting itbuilt in
YT_WEB_CLIENT_VERSIONNoOverride the Innertube web client version if YouTube starts rejecting itbuilt in
YT_CAPTION_CONCURRENCYNoCaption download queue concurrency2
YT_CAPTION_COOLDOWN_MSNoFirst pause after a caption 429 (doubles per repeat, max 15 min)60000
YT_ANDROID_CLIENT_VERSIONNoOverride the Innertube Android client version if YouTube starts rejecting itbuilt in

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_searchA

Search YouTube videos and get back ready-to-use results with transcript highlights: the passages where each video actually talks about your topic, with timestamped links.

Best for: finding videos on a topic, finding what creators say about something, collecting examples (hooks, claims, tutorials) across many videos. Returns: one merged, de-duplicated list across all queries. Each video has metadata (channel, views, date, duration, views/day), YouTube's matched snippet and key moments, plus transcript highlights for the top results.

Query tips:

  • Send several queries in ONE call to cover the topic: synonyms, angles and languages, e.g. ["AI productivity workflow", "how I use AI to save time at work", {"query": "productividad con IA", "hl": "es", "gl": "ES"}].

  • Write queries the way a creator would title the video, not as keyword soup.

  • Use filters (uploaded, publishedAfter, minViews, duration, shorts) instead of asking for more results.

  • If highlights are not enough, call youtube_fetch on the best videos (it can return only a time range, e.g. the first 30 s for a hook, or only passages matching a query).

youtube_fetchA

Read YouTube videos: transcript (whole, a time range, a chapter, or only passages matching a query), real video frames, details, chapters, comments and thumbnail. Batch many videos in one call.

Best for: reading what was said after youtube_search, pulling the same slice from many videos (e.g. the first 30 s of each video to study hooks), quoting with exact timestamps. Returns: per video a header (title, channel, exact publish date, views, likes, duration) and the requested parts. Transcript lines carry [m:ss] stamps; links with ?t= jump to the moment. Per-video failures are reported inline, never dropped.

Tips:

  • Hooks / intros: start=0, end=30 (plus parts ["details","transcript","thumbnail","frames"] if the visual hook matters).

  • Frames are real decoded video frames (up to 1280 px): evenly spaced over start–end / the chapter / the whole video (frames=N), or at exact moments (frameAt). The first frames of a video take ~10–20 s (stream lookup); keep frame-heavy calls to a few videos.

  • Finding a topic inside long videos: pass query instead of reading whole transcripts.

  • Long transcript cut off? Call again with start = the second where it stopped.

youtube_channelA

List a channel's videos with an outlier score: how many times more views a video got than the channel's median.

Best for: finding a creator's breakout videos (the ones whose hooks/titles/topics worked), reviewing recent uploads, building a list of videos to fetch. Returns: channel stats (subscribers, video count) and videos with views, outlier ×median, date, duration. The median is computed over the videos listed, so list enough (30+) for a fair baseline.

youtube_doctorA

Check that every YouTube path this server uses works from this machine right now (search, video details, transcripts, watch page, channels, yt-dlp and ffmpeg for frames), with timings. Run it when other youtube_* tools fail.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct role: search discovers videos, fetch reads specific videos, channel lists a single channel's videos with outlier scoring, and doctor diagnoses connectivity. The only mild overlap is that search and channel both return video lists, but their query-based vs. per-channel framing is spelled out clearly.

Naming Consistency4/5

All tools share the youtube_ prefix and snake_case, giving a strong predictable pattern. There is a minor deviation in that search/fetch are verbs while channel/doctor are nouns, but the convention is still readable and consistent.

Tool Count5/5

Four tools is well-scoped for a focused research server, and each earns its place: discovery, deep reading, channel analysis, and diagnostics. No tool feels redundant or tacked on.

Completeness4/5

The surface covers the core research lifecycle: find videos, read transcripts/frames/comments, analyze channels, and self-diagnose failures. Minor gaps remain, such as no dedicated playlist handling or channel/creator search, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues