youtube-studio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YOUTUBE_CLIENT_ID | Yes | Google OAuth 2.0 Client ID from Google Cloud Console. | |
| YOUTUBE_CLIENT_SECRET | Yes | Google OAuth 2.0 Client Secret from Google Cloud Console. | |
| YOUTUBE_REFRESH_TOKEN | Yes | OAuth Refresh Token, written automatically by run_auth.py. |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_channel_overviewA | Fetches high-level metadata and lifetime statistics for your YouTube channel. Returns channel title, handle, subscriber count, total lifetime views, video count, creation date, topic categories, and channel description. |
| get_channel_analyticsA | Queries core YouTube Studio channel analytics for a specified timeframe. Args: time_period: Preset time period ('7d', '28d', '90d', '365d', 'last_month'). Defaults to '28d'. start_date: Explicit start date in YYYY-MM-DD format (overrides time_period if both start & end are provided). end_date: Explicit end date in YYYY-MM-DD format. dimensions: Dimension to group by, e.g. 'day' (default) or None for a single aggregate row. Returns: Summary metrics (total views, watch time hours, avg view duration, subscribers gained/lost, net growth, likes, shares, comments, impressions, CTR) and daily time-series data points. |
| get_analytics_by_dimensionA | Fetches channel analytics broken down by a specific dimension. Args: dimension: The dimension to analyze. Supported values: - 'trafficSource' (YouTube search, suggested videos, browse features, external, etc.) - 'deviceType' (mobile phone, computer, TV, tablet) - 'country' (top geographic viewer locations) - 'ageGroup' (demographics: 18-24, 25-34, 35-44, etc.) - 'gender' (viewer gender percentage) - 'operatingSystem' (Android, Windows, iOS, etc.) - 'day' or 'month' time_period: Preset time period ('7d', '28d', '90d', '365d', 'last_month'). Defaults to '28d'. start_date: Optional explicit start date (YYYY-MM-DD). end_date: Optional explicit end date (YYYY-MM-DD). max_results: Maximum number of rows to return (default: 20). Returns: A ranked list of metrics for each dimension value. |
| get_top_performing_videosA | Identifies and ranks your top-performing videos within a time period. Args: time_period: Preset time period ('7d', '28d', '90d', '365d', 'last_month'). Defaults to '28d'. start_date: Optional explicit start date (YYYY-MM-DD). end_date: Optional explicit end date (YYYY-MM-DD). order_by: Metric to rank by: 'views', 'estimatedMinutesWatched', 'subscribersGained', or 'likes'. max_results: Number of top videos to return (default: 10). Returns: Ranked list of videos with title, duration, period views, watch time, subscribers gained, and lifetime views. |
| get_video_analyticsA | Performs deep-dive analytics on a single specific video. Args: video_id: The 11-character YouTube video ID (e.g. 'dQw4w9WgXcQ'). time_period: Preset time period ('7d', '28d', '90d', '365d', 'last_month'). Defaults to '28d'. start_date: Optional explicit start date (YYYY-MM-DD). end_date: Optional explicit end date (YYYY-MM-DD). Returns: Video metadata, daily trajectory, total period views & watch time, and traffic source breakdown for this specific video. |
| list_channel_videosA | Lists your channel's uploaded videos in reverse chronological order. Args: max_results: Number of videos to retrieve (max 50 per page). page_token: Optional page token for pagination. Returns: List of videos with video ID, title, publish date, duration, views, likes, comments, and privacy status. |
| get_video_detailsA | Fetches full metadata, description, tags, and statistics for specified video IDs. Args: video_ids: Comma-separated list of YouTube video IDs (e.g. 'vid1,vid2'). Returns: Complete video details including title, description, tags, topic categories, view/like/comment counts, duration, and content settings. |
| get_video_commentsA | Fetches comment threads and audience discussions for a video or the whole channel. Args: video_id: Optional specific YouTube video ID. If omitted, retrieves recent comments across the channel. max_results: Number of comment threads to fetch (max 100). order: Sort order: 'relevance' (top comments) or 'time' (newest first). Returns: List of comments with author, comment text, likes, timestamp, and sample replies. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dhananjayrbiraris/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server