youtube-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YT_DLP_PATH | No | Path to yt-dlp executable, if not on PATH. | |
| YOUTUBE_API_KEY | Yes | A restricted YouTube Data API key. | |
| YOUTUBE_CLIENT_ID | No | Google OAuth desktop client ID. | |
| YOUTUBE_SMOKE_URL | No | URL for smoke test (default public video if not set). | |
| YOUTUBE_REDIRECT_URI | No | Loopback redirect URI configured in Google OAuth client. | http://127.0.0.1:8787/callback |
| YOUTUBE_CLIENT_SECRET | No | Google OAuth client secret (optional). | |
| YOUTUBE_SMOKE_COMMENTS_URL | No | URL for comments smoke test. | |
| YOUTUBE_SMOKE_TRANSCRIPT_URL | No | URL for transcript smoke test. | |
| YOUTUBE_SMOKE_OWNED_PLAYLIST_URL | No | Private test playlist URL for ownership smoke check. |
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 |
|---|---|
| youtube_get_authenticated_channelA | Gets the YouTube channel attached to the local OAuth session. |
| youtube_list_owned_playlistsA | Gets one explicit page of playlists owned by the authenticated channel. |
| youtube_get_owned_playlist_itemsA | Gets one explicit item page from a playlist owned by the authenticated channel. |
| youtube_create_playlistB | Creates a playlist owned by the authenticated channel. New playlists default to private. |
| youtube_update_playlistB | Updates metadata on a playlist owned by the authenticated channel. |
| youtube_add_playlist_videoC | Adds a public video to a playlist owned by the authenticated channel. |
| youtube_remove_playlist_itemA | Removes one exact item from an owned playlist. Requires confirm: true. |
| youtube_reorder_playlist_itemA | Moves one exact item in an owned playlist. Requires confirm: true. |
| youtube_get_videoA | Gets normalized public metadata for a YouTube video URL. |
| youtube_search_videosA | Searches one explicit page of public YouTube videos and returns normalized metadata. |
| youtube_get_playlist_itemsA | Gets one explicit page of a public YouTube playlist, including item IDs and positions. |
| youtube_list_transcript_languagesB | Lists creator and automatic caption tracks exposed for a YouTube video. |
| youtube_get_transcriptB | Gets one explicit page of timestamped creator or automatic YouTube caption segments. |
| youtube_get_channelA | Gets normalized public metadata for a YouTube channel URL using /channel/CHANNEL_ID or /@handle. |
| youtube_get_channel_videosB | Gets one explicit page of recent public uploads from a YouTube channel URL. |
| youtube_find_commentsA | Finds literal terms across an explicit bounded number of comment pages. Results always describe retrieved pages only, never every comment on the video. |
| youtube_get_commentsC | Gets one explicit page of public YouTube comment threads. matchTerms only filters the retrieved page, not every comment on the video. |
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 17 tools
Each tool targets a distinct resource/action, but some potential confusion exists between get_owned_playlist_items and get_playlist_items, and between find_comments and get_comments. Descriptions clarify the differences, making misselection unlikely but possible.
All tool names follow a consistent youtube_verb_noun pattern, using clear verbs like get, list, create, update, add, remove, reorder, search, and find. No mixing of conventions or vague names.
With 17 tools, the set is slightly above the ideal 3-15 range, but the tools cover a broad yet focused set of YouTube features (playlists, videos, transcripts, comments). The count is reasonable for the apparent scope.
The tool set covers major lifecycle operations for playlists (create, update, add, remove, reorder) and provides video, channel, transcript, and comment retrieval. A notable gap is the lack of a delete playlist tool, which is a minor but real omission.