MCP Server for YouTube API, enabling video management, Shorts creation, and advanced analytics
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"zubeid-youtube-mcp-server": {
"env": {
"YOUTUBE_API_KEY": "your_primary_youtube_api_key",
"YOUTUBE_API_KEY2": "your_secondary_youtube_api_key",
"YOUTUBE_API_KEY3": "your_tertiary_youtube_api_key"
},
"command": "zubeid-youtube-mcp-server"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@smithery/cli' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @smithery/cli against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in entertainment / marketing
MCP Security Weekly
Get CVE alerts and security updates for Youtube Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server implementation for YouTube, enabling AI language models to interact with YouTube content through a standardized interface.
The server currently exposes 10 MCP tools.
| Tool | Description | Required Parameters | Optional Parameters |
|---|---|---|---|
videos_getVideo | Get detailed information about a YouTube video | videoId | parts |
videos_searchVideos | Search for videos on YouTube | query | maxResults, order, publishedAfter, publishedBefore, channelId, uniqueChannels, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy |
transcripts_getTranscript | Get the transcript of a YouTube video | videoId | language |
channels_getChannel | Get information about a YouTube channel | channelId | None |
channels_getChannels | Get information about multiple YouTube channels | channelIds | parts, includeLatestUpload |
channels_searchChannels | Search for YouTube channels by handle, name, or query | query | maxResults, order, channelType, minSubscribers, maxSubscribers, lastUploadAfter, lastUploadBefore, creatorOnly, sortBy |
channels_findCreators | Find creator channels from video mentions with channel-size and activity filters | query | maxResults, order, videoPublishedAfter, videoPublishedBefore, channelMinSubscribers, channelMaxSubscribers, channelLastUploadAfter, channelLastUploadBefore, creatorOnly, sortBy, sampleVideosPerChannel |
channels_listVideos | Get videos from a specific channel | channelId | maxResults |
playlists_getPlaylist | Get information about a YouTube playlist | playlistId | None |
playlists_getPlaylistItems | Get videos in a YouTube playlist | playlistId | maxResults |
videos_getVideovideoId (string): The YouTube video ID.parts (string[], optional): Specific video resource parts to retrieve.videos_searchVideosquery (string): Search query.maxResults (number, optional): Maximum number of results to return.order (string, optional): Result ordering such as relevance or date.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, optional): Restrict results to a specific channel.uniqueChannels (boolean, optional): Return only one video per unique channel.channelMinSubscribers / channelMaxSubscribers (number, optional): Filter matched videos by the subscriber band of their channel.channelLastUploadAfter / channelLastUploadBefore (string, optional): Filter matched videos by the latest upload activity of their 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.transcripts_getTranscriptvideoId (string): The YouTube video ID.language (string, optional): Transcript language code. Falls back to YOUTUBE_TRANSCRIPT_LANG or en.channels_getChannelchannelId (string): The YouTube channel ID.Responses now include:
latestVideoPublishedAtnormalizedMetadata
country, defaultLanguage, joinedAt, customUrl, emailsFound, contactLinks, and creator-vs-brand heuristic fieldschannels_getChannelschannelIds (string[]): A list of YouTube channel IDs.includeLatestUpload (boolean, optional): Whether to include latestVideoPublishedAt. Defaults to