YouTube MCP Server Implementation
YouTube MCP Server Implementation
A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.
@smithery/cli on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Once Zubeid is connected, these are the calls the assistant has available:
videos_getVideo — Get detailed information about a YouTube videovideos_searchVideos — Search for videos on YouTubetranscripts_getTranscript — Get the transcript of a YouTube videochannels_getChannel — Get information about a YouTube channelchannels_getChannels — Get information about multiple YouTube channelschannels_searchChannels — Search for YouTube channels by handle, name, or querychannels_findCreators — Find creator channels from video mentions with channel-size and activity filterschannels_listVideos — Get videos from a specific channelplaylists_getPlaylist — Get information about a YouTube playlistplaylists_getPlaylistItems — Get videos in a YouTube playlistYou will need 3 environment variables: YOUTUBE_API_KEY, YOUTUBE_API_KEY2, YOUTUBE_API_KEY3. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Zubeid's toolset — videos_getVideo, videos_searchVideos, transcripts_getTranscript and 7 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.
videos_getVideo — Get detailed information about a YouTube videovideos_searchVideos — Search for videos on YouTubetranscripts_getTranscript — Get the transcript of a YouTube videochannels_getChannel — Get information about a YouTube channelchannels_getChannels — Get information about multiple YouTube channelschannels_searchChannels — Search for YouTube channels by handle, name, or querychannels_findCreators — Find creator channels from video mentions with channel-size and activity filterschannels_listVideos — Get videos from a specific channelplaylists_getPlaylist — Get information about a YouTube playlistplaylists_getPlaylistItems — Get videos in a YouTube playlistCompare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| videoId | string): The YouTube video ID. |
| parts | string[], optional): Specific video resource parts to retrieve. |
| query | string): Topic, game, or mention query to discover channels from matched videos. |
| maxResults | number, optional): Maximum number of playlist items to return. |
| order | string, optional): Result ordering such as relevance. |
| publishedAfter | string, optional): Only include videos published after this ISO 8601 date. |
| publishedBefore | string, optional): Only include videos published before this ISO 8601 date. |
| channelId | string): The YouTube channel ID. |
| uniqueChannels | boolean, optional): Return only one video per unique channel. |
| creatorOnly | boolean, optional): Restrict results to channels heuristically classified as creators. |
| sortBy | string, optional): Supports relevance, subscribers_asc, subscribers_desc, indie_priority, and recent_activity. |
| language | string, optional): Transcript language code. Falls back to YOUTUBE_TRANSCRIPT_LANG or en. |
| latestVideoPublishedAt | normalizedMetadata |
| channelIds | string[]): A list of YouTube channel IDs. |
| includeLatestUpload | boolean, optional): Whether to include latestVideoPublishedAt. Defaults to true. |
| channelType | string, optional): Restrict the search to a channel type. |
| sampleVideosPerChannel | number, optional): How many matched videos to include per returned channel. |
| playlistId | string): The YouTube playlist ID. |
| videos_getVideo | Get detailed information about a YouTube video |
| videos_searchVideos | Search for videos on YouTube |
| transcripts_getTranscript | Get the transcript of a YouTube video |
| channels_getChannel | Get information about a YouTube channel |
| channels_getChannels | Get information about multiple YouTube channels |
| channels_searchChannels | Search for YouTube channels by handle, name, or query |
| channels_findCreators | Find creator channels from video mentions with channel-size and activity filters |
| channels_listVideos | Get videos from a specific channel |
| playlists_getPlaylist | Get information about a YouTube playlist |
| playlists_getPlaylistItems | Get videos in a YouTube playlist |
{
"mcpServers": {
"zubeid-youtube-mcp-server": {
"command": "zubeid-youtube-mcp-server",
"env": {
"YOUTUBE_API_KEY": "YOUR_YOUTUBE_API_KEY",
"YOUTUBE_API_KEY2": "YOUR_YOUTUBE_API_KEY2",
"YOUTUBE_API_KEY3": "YOUR_YOUTUBE_API_KEY3"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| YOUTUBE_API_KEY | Declared in the maintainer’s client configuration. | Check documentation |
| YOUTUBE_API_KEY2 | Declared in the maintainer’s client configuration. | Check documentation |
| YOUTUBE_API_KEY3 | Declared in the maintainer’s client configuration. | Check documentation |
Enables AI assistants to control Spotify playback and manage playlists via the Model Context Protocol.
Allows AI assistants to query movie and TV show collections managed by Radarr and Sonarr.
This community Workers MCP demo exposes image generation, page screenshots and image extraction through a local client adapter and Cloudflare backend.
Analyzes YouTube videos by extracting transcripts, summarizing content, and answering questions using AI.
Retrieves YouTube video URLs from a specified Watch Later playlist within a given timeframe.
Provides QQ Music search functionality via the Modular Control Protocol (MCP).