YouTube MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_videosB | Search YouTube for videos. Args: query: Search query (e.g. "how to price a SaaS") limit: Maximum number of results (default 10, max 30) |
| get_video_infoB | Get detailed information about a YouTube video including title, description, stats, tags, and chapters. Args: video_url: YouTube video URL (e.g. "https://youtube.com/watch?v=xxx") |
| get_channel_infoB | Get information about a YouTube channel. Args: channel: Channel URL or @handle (e.g. "@mkbhd" or "https://youtube.com/@mkbhd") |
| get_channel_videosB | Get videos from a YouTube channel. Args: channel: Channel URL or @handle (e.g. "@mkbhd") limit: Maximum number of videos (default 20, max 100) sort: Sort order — "date" (newest first) or "popular" (most viewed) |
| get_transcriptA | Get the full transcript of a YouTube video with timestamps. Args: video_url: YouTube video URL language: Preferred language code (default "en", tries auto-generated fallback) |
| get_commentsB | Get comments from a YouTube video. Args: video_url: YouTube video URL limit: Maximum number of comments (default 20, max 100) |
| search_transcriptB | Search for specific content within a video's transcript. Returns matching passages with timestamps and direct links. Args: video_url: YouTube video URL query: Text to search for in the transcript language: Preferred language code (default "en") |
| search_channel_transcriptsA | Search for specific content across all videos of a YouTube channel. This is the power feature: find what a creator said about any topic. Args: channel: Channel URL or @handle (e.g. "@hormozi") query: Text to search for across all transcripts language: Preferred language code (default "en") max_videos: Maximum number of recent videos to search (default 10, max 50) |
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 8 tools
Each tool has a clearly distinct purpose: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, and search_videos. There is no overlap in functionality—tools target specific resources (channel, video, comments, transcripts) and actions (get, search), making misselection unlikely.
All tools follow a consistent verb_noun pattern using snake_case: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, search_videos. The naming is predictable and readable throughout.
With 8 tools, the count is well-scoped for a YouTube server, covering core functionalities like retrieving channel/video info, comments, transcripts, and searching. Each tool earns its place without being overwhelming or insufficient.
The toolset covers key YouTube operations: retrieving info (channel, video, comments, transcripts) and searching (videos, transcripts, channel transcripts). Minor gaps include no update/delete actions (e.g., posting comments or managing playlists), but these are less critical for a read/search-focused server, and agents can work around this.