mcp-youtube
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_YOUTUBE_CLIENT_ID | Yes | OAuth client ID | |
| MCP_YOUTUBE_CLIENT_SECRET | Yes | OAuth client secret | |
| MCP_YOUTUBE_REFRESH_TOKEN | Yes | long-lived refresh token |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Search YouTube for videos, channels, or playlists. Costs 100 quota units per call — use sparingly. |
| list-playlistsA | List the authenticated user's playlists. Costs 1 quota unit per call. |
| get-playlistB | Read a playlist's items/contents. Costs 1 quota unit per call. |
| create-playlistB | Create a new playlist. Costs 50 quota units. |
| add-to-playlistA | Add one or more videos to a playlist. Costs 50 quota units per video. |
| remove-from-playlistA | Permanently remove specific items from a playlist by playlist-item ID. Costs 50 quota units per item. Requires confirm: true. |
| clean-playlistA | Scan a playlist (1 unit/page) and plan removal of [Deleted video]/[Private video] tombstones, duplicates, and/or videos from given channels. Defaults to dry-run (dryRun: true) — returns the plan without deleting. Pass dryRun: false to actually delete, at 50 quota units per item. |
| delete-playlistA | Permanently delete an entire playlist. Costs 50 quota units. Requires confirm: true. |
| update-playlistA | Rename, re-describe, or change the privacy of a playlist. Full-replace on the snippet/status parts — reads the current playlist first so omitted fields aren't blanked. Costs 50 quota units. |
| update-playlist-itemA | Move a playlist item to a new position (reorder). Costs 50 quota units. |
| list-videosA | Fetch metadata, status, and statistics for up to 50 videos by ID. Costs 1 quota unit per call. |
| update-videoA | Update a video's title, description, category, tags, privacy, and related status flags. Full-replace on the snippet/status parts — reads the current video first so omitted fields aren't blanked. Costs 50 quota units. |
| rate-videoA | Like, dislike, or clear your rating on a video. Costs 50 quota units. |
| get-video-ratingA | Get the authenticated user's rating (like/dislike/none) for up to 50 videos. Costs 1 quota unit per call. |
| delete-videoA | Permanently delete a video you own. Costs 50 quota units. Requires confirm: true. |
| upload-videoA | Upload a video from a local file path via resumable upload. This is the most expensive tool in the server — costs 1600 quota units, 16% of the default daily budget. |
| report-video-abuseA | Report a video to YouTube for abuse/policy violation. Costs 50 quota units. Irreversible outward action — requires confirm: true. |
| update-channelA | Update your channel's branding metadata (title, description, keywords, trailer, language, country). Full-replace on the brandingSettings part — reads the current settings first so omitted fields aren't blanked. Costs 50 quota units. |
| list-channelsA | List the authenticated user's own channel(s) with snippet, statistics, and status. Costs 1 quota unit per call. |
| list-channel-sectionsA | List channel sections (the shelves shown on a channel's homepage) for a channel, or your own if channelId is omitted. Costs 1 quota unit per call. |
| create-channel-sectionA | Create a new channel section (homepage shelf). Costs 50 quota units. |
| update-channel-sectionA | Update an existing channel section. Full-replace on the snippet/contentDetails parts — reads the current section first so omitted fields aren't blanked. Costs 50 quota units. |
| delete-channel-sectionA | Permanently delete a channel section. Costs 50 quota units. Requires confirm: true. |
| list-subscriptionsA | List the authenticated user's channel subscriptions. Costs 1 quota unit per call. |
| subscribeB | Subscribe to a channel. Costs 50 quota units. |
| unsubscribeA | Unsubscribe from a channel. Costs 50 quota units. Requires confirm: true. |
| list-commentsA | List replies under a top-level comment. Costs 1 quota unit per call. |
| reply-to-commentA | Reply to an existing top-level comment. Costs 50 quota units. |
| update-commentA | Edit the text of a comment you posted. Costs 50 quota units. |
| delete-commentA | Permanently delete a comment. Costs 50 quota units. Requires confirm: true. |
| set-comment-moderation-statusA | Set the moderation status of one or more comments on your videos — publish, hold for review, or reject (hide from public view; the current replacement for the removed markAsSpam method). Costs 50 quota units. Requires confirm: true. |
| list-comment-threadsA | List top-level comment threads for a video or channel. Costs 1 quota unit per call. |
| create-comment-threadA | Post a new top-level comment on a video or channel. Costs 50 quota units. |
| list-captionsA | List caption tracks for a video. Costs 50 quota units. |
| upload-captionA | Upload a new caption track from a local file (SRT/VTT/SBV/TTML). Costs 400 quota units. |
| update-captionA | Update a caption track's draft status, optionally re-uploading its file from a local path. Costs 450 quota units. |
| download-captionB | Download a caption track to a local file path. Costs 200 quota units. |
| delete-captionA | Permanently delete a caption track. Costs 50 quota units. Requires confirm: true. |
| set-thumbnailA | Upload and set a video's custom thumbnail from a local image file. Costs 50 quota units. |
| set-watermarkA | Upload and set a channel's video watermark from a local image file. Costs 50 quota units. |
| unset-watermarkA | Remove a channel's video watermark. Costs 50 quota units. Requires confirm: true. |
| list-activitiesA | List recent channel activity (uploads, likes, playlist additions, etc.) for a channel, or your own if channelId is omitted. Costs 1 quota unit per call. |
| list-playlist-imagesA | List cover images for a playlist. Costs 1 quota unit per call. |
| upload-playlist-imageA | Upload a cover image for a playlist from a local file. Costs 50 quota units. |
| update-playlist-imageA | Replace a playlist cover image's file. Costs 50 quota units. |
| delete-playlist-imageA | Permanently delete a playlist cover image. Costs 50 quota units. Requires confirm: true. |
| list-membersA | List members of your channel's memberships program. Costs 1 quota unit per call. MONETISATION-GATED: 403s unless the channel is an active YouTube Partner Program channel with memberships enabled. |
| list-membership-levelsA | List your channel's membership pricing levels. Costs 1 quota unit per call. MONETISATION-GATED: 403s unless the channel is an active YouTube Partner Program channel with memberships enabled. |
| list-video-categoriesA | List assignable video categories for a region. Costs 1 quota unit per call. |
| list-i18n-languagesA | List the application languages supported by YouTube. Costs 1 quota unit per call. |
| list-i18n-regionsA | List the content regions supported by YouTube. Costs 1 quota unit per call. |
| list-video-abuse-report-reasonsA | List the reason IDs accepted by report-video-abuse. Costs 1 quota unit per call. |
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/kud/mcp-youtube'
If you have feedback or need assistance with the MCP directory API, please join our Discord server