Youtube-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YOUTUBE_API_KEY | Yes | Your YouTube Data API v3 key. Required to access official YouTube endpoints. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_channel_overviewA | Returns a flat overview of a public YouTube channel. Includes subscriber count, total views, total videos, and creation date. Accepts a channel URL in @handle or /channel/UCxxxx format. |
| get_channel_videosA | Returns a list of recent public videos from a channel, with per-video stats: views, likes, comments, duration. Use this as your primary dataset tool for channel analysis. Uses the uploads playlist internally — no quota-expensive search.list. |
| get_video_detailsA | Returns full metadata for a single video, including tags. Use this to deep-dive into one video after identifying it via get_channel_videos. |
| get_video_commentsB | Returns top-level comments for a video, sorted by relevance. Includes author, comment text, like count, and publish date. Useful for audience sentiment and feedback analysis. |
| get_video_transcriptB | Fetches the full transcript (auto-generated or manual) of a video. Returns concatenated transcript text, word count, and segment count. Useful for content analysis, summarization, and keyword extraction. |
| analyze_thumbnailA | Returns basic image metadata for a video's thumbnail: URL, resolution (WIDTHxHEIGHT), and file size in bytes. In v1 this is metadata only — no vision model analysis. |
| get_trending_videosA | Returns currently popular YouTube videos for a given region and category. NOTE: As of July 2025, YouTube removed its global Trending page. Results now come from category-specific charts (Music, Movies, Gaming). Use category_id 10 for Music, 20 for Gaming, 43 for Movies. category_id 0 returns a mixed set across all categories. |
| compare_videosA | Side-by-side stats comparison for a list of video IDs (max 10). Returns per-video stats and declares winners by views, likes, comments, and engagement rate. Great for understanding why one video outperformed another. |
| get_channel_topicsA | Returns the topic categories YouTube has associated with a channel. Returns human-readable topic names extracted from Wikipedia category URLs. Raw Freebase topic IDs are excluded as they have been deprecated since 2017 and are not human-readable. |
| compare_channelsA | Side-by-side overview comparison for multiple channels (max 5). Returns subscriber count, total views, and video count for each, plus declares winners in each category. Good for competitor analysis. |
| get_top_videosA | Returns a channel's top performing videos sorted by a chosen metric. Scans up to 200 recent videos and returns the top N. metric options: views | likes | comments | engagement_rate |
| get_upload_scheduleA | Analyzes a channel's upload patterns. Returns posting frequency by day-of-week and hour-of-day, average days between uploads, consistency score, and best posting day/time. Useful for optimizing your own upload schedule. |
| get_tag_analysisA | Aggregates tags across a channel's videos and correlates them with view performance. Returns top tags by frequency and by average views. Useful for finding which tags drive the most traffic. |
| get_video_seo_scoreA | Checks a video's metadata against YouTube SEO best practices. Scores title length, description length/quality, tag count, and thumbnail presence. Returns an overall score (0–100) and per-dimension breakdown. |
| get_engagement_statsA | Computes per-video engagement metrics across a channel's recent videos. Returns average views, likes, comments, like rate %, comment rate %, overall engagement rate %, and the top engaging video. Great for benchmarking your channel's audience engagement health. |
| get_comment_keywordsA | Extracts the most frequent meaningful words from a video's comments. Deterministic word frequency analysis — no LLM or sentiment model. Useful for understanding what topics and themes resonate with your audience. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools have distinct purposes, such as get_channel_overview for channel metadata and get_video_transcript for transcripts, but some overlap exists. For example, get_channel_videos and get_top_videos both retrieve video lists, though they differ in sorting and scope, which could cause minor confusion for an agent.
All tool names follow a consistent verb_noun pattern, starting with verbs like 'get', 'analyze', or 'compare', followed by descriptive nouns. This uniformity makes the set predictable and easy to navigate, with no deviations in style or convention.
With 16 tools, the count is slightly high but reasonable for the YouTube analytics domain, covering diverse aspects like channel analysis, video stats, and SEO. It avoids being overwhelming, though a few tools could potentially be consolidated for tighter scoping.
The tool set comprehensively covers YouTube analysis, including channel overviews, video details, engagement metrics, comments, transcripts, and SEO. There are no obvious gaps; it supports full workflows from data retrieval to competitive analysis and optimization.