YouTube MCP Server for Cloudflare Workers
54 tools available in the YouTube MCP server. Each tool can be called by AI assistants to perform specific actions.
youtube_unsubscribeUnsubscribe from a YouTube channel.
Requires OAuth authentication.
Args:
Returns: Confirmation of unsubscription.
{
"type": "object",
"required": [
"subscriptionId"
],
"properties": {
"subscriptionId": {
"type": "string",
"description": "Subscription ID"
}
}
}youtube_list_activitiesList channel activity events (uploads, likes, comments, etc.).
Args:
Returns: Paginated list of activity events.
{
"type": "object",
"properties": {
"mine": {
"type": "boolean",
"description": "Get my activities"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "Channel ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
},
"regionCode": {
"type": "string",
"description": "Region code"
},
"publishedAfter": {
"type": "string",
"description": "Filter after date (RFC 3339)"
},
"publishedBefore": {
"type": "string",
"description": "Filter before date (RFC 3339)"
}
}
}youtube_list_captionsList caption tracks for a video.
Requires OAuth authentication for videos you own, or API key for public videos.
Args:
Returns: List of caption tracks.
{
"type": "object",
"required": [
"videoId"
],
"properties": {
"parts": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"snippet"
],
"description": "Resource parts"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"videoId": {
"type": "string",
"description": "Video ID"
}
}
}youtube_download_captionDownload a caption track.
Requires OAuth authentication.
Args:
Returns: Caption track content.
{
"type": "object",
"required": [
"captionId"
],
"properties": {
"format": {
"enum": [
"sbv",
"scc",
"srt",
"ttml",
"vtt"
],
"type": "string",
"description": "Caption format"
},
"language": {
"type": "string",
"description": "Translate to language code"
},
"captionId": {
"type": "string",
"description": "Caption track ID"
}
}
}youtube_insert_captionUpload a caption track for a video.
Requires OAuth authentication. You can only add captions to your own videos.
Args:
Returns: Created caption track.
{
"type": "object",
"required": [
"videoId",
"language",
"name",
"captionData"
],
"properties": {
"name": {
"type": "string",
"description": "Track name"
},
"isDraft": {
"type": "boolean",
"default": false,
"description": "Is draft"
},
"videoId": {
"type": "string",
"description": "Video ID"
},
"language": {
"type": "string",
"description": "Language code"
},
"captionData": {
"type": "string",
"description": "Caption content"
}
}
}youtube_update_captionUpdate a caption track.
Requires OAuth authentication.
Args:
Returns: Updated caption track.
{
"type": "object",
"required": [
"captionId"
],
"properties": {
"isDraft": {
"type": "boolean",
"description": "Is draft"
},
"captionId": {
"type": "string",
"description": "Caption track ID"
},
"captionData": {
"type": "string",
"description": "New caption content"
}
}
}youtube_delete_captionDelete a caption track.
Requires OAuth authentication. You can only delete captions on your own videos.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"captionId"
],
"properties": {
"captionId": {
"type": "string",
"description": "Caption track ID"
}
}
}youtube_list_video_categoriesList video categories available for a region.
Args:
Returns: List of video categories with IDs and titles.
{
"type": "object",
"properties": {
"hl": {
"type": "string",
"description": "Language code for localization"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"regionCode": {
"type": "string",
"default": "US",
"description": "Region code"
}
}
}youtube_list_video_abuse_report_reasonsList reasons available for reporting abusive videos.
Args:
Returns: List of abuse report reasons with IDs and labels.
{
"type": "object",
"properties": {
"hl": {
"type": "string",
"description": "Language code for localization"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}youtube_list_channel_sectionsList channel sections (shelves) for a channel.
Args:
Returns: List of channel sections.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"parts": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"snippet",
"contentDetails"
],
"description": "Resource parts"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "Channel ID"
}
}
}youtube_insert_channel_sectionAdd a channel section (shelf) to your channel.
Requires OAuth authentication. Maximum 10 sections per channel.
Section types: allPlaylists, completedEvents, liveEvents, multipleChannels, multiplePlaylists, popularUploads, recentUploads, singlePlaylist, subscriptions, upcomingEvents
Args:
Returns: Created channel section.
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"allPlaylists",
"completedEvents",
"liveEvents",
"multipleChannels",
"multiplePlaylists",
"popularUploads",
"recentUploads",
"singlePlaylist",
"subscriptions",
"upcomingEvents",
""
],
"type": "string",
"description": "Section type"
},
"title": {
"type": "string",
"description": "Section title"
},
"position": {
"type": "integer",
"minimum": 0,
"description": "Position (0-indexed)"
},
"channelIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Channel IDs"
},
"playlistIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Playlist IDs"
}
}
}youtube_update_channel_sectionUpdate a channel section.
Requires OAuth authentication.
Args:
Returns: Updated channel section.
{
"type": "object",
"required": [
"sectionId",
"type"
],
"properties": {
"type": {
"type": "string",
"description": "Section type"
},
"title": {
"type": "string",
"description": "Section title"
},
"position": {
"type": "integer",
"minimum": 0,
"description": "Position"
},
"sectionId": {
"type": "string",
"description": "Section ID"
},
"channelIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Channel IDs"
},
"playlistIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Playlist IDs"
}
}
}youtube_delete_channel_sectionDelete a channel section.
Requires OAuth authentication.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"sectionId"
],
"properties": {
"sectionId": {
"type": "string",
"description": "Section ID"
}
}
}youtube_get_my_channelGet the authenticated user's YouTube channel.
Requires OAuth authentication.
Args:
Returns: Channel details for the authenticated user.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}youtube_get_channelGet a YouTube channel by ID.
Args:
Returns: Channel details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"default": [],
"description": "YouTube channel ID"
}
}
}youtube_list_channelsGet multiple YouTube channels by ID.
Args:
Returns: List of channel details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelIds": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Array of channel IDs"
}
}
}youtube_get_channel_by_usernameGet a YouTube channel by username.
Args:
Returns: Channel details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"username": {
"type": "string",
"default": [],
"description": "YouTube username"
}
}
}youtube_update_channelUpdate a YouTube channel's branding settings.
Requires OAuth authentication. You can only update your own channel.
Args:
Returns: Updated channel details.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"country": {
"type": "string",
"description": "Country code"
},
"keywords": {
"type": "string",
"description": "Keywords (space-separated)"
},
"channelId": {
"type": "string",
"description": "Channel ID to update"
},
"description": {
"type": "string",
"description": "New description"
},
"defaultLanguage": {
"type": "string",
"description": "Default language code"
},
"unsubscribedTrailer": {
"type": "string",
"description": "Unsubscribed trailer video ID"
}
}
}youtube_search_channelsSearch for YouTube channels.
Args:
Returns: Search results with channel snippets.
{
"type": "object",
"required": [
"query"
],
"properties": {
"order": {
"enum": [
"date",
"rating",
"relevance",
"title",
"videoCount",
"viewCount"
],
"type": "string"
},
"query": {
"type": "string",
"description": "Search query"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
},
"regionCode": {
"type": "string",
"description": "ISO country code"
}
}
}youtube_list_comment_threadsList comment threads (top-level comments with replies) for a video or channel.
Args:
Returns: Paginated list of comment threads.
{
"type": "object",
"properties": {
"order": {
"enum": [
"time",
"relevance"
],
"type": "string",
"description": "Sort order"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"videoId": {
"type": "string",
"description": "Video ID"
},
"channelId": {
"type": "string",
"description": "Channel ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"searchTerms": {
"type": "string",
"description": "Filter by search terms"
},
"moderationStatus": {
"enum": [
"heldForReview",
"likelySpam",
"published"
],
"type": "string",
"description": "Moderation status"
},
"allThreadsRelatedToChannelId": {
"type": "string",
"description": "Get all threads related to channel"
}
}
}youtube_get_comment_threadGet a specific comment thread by ID.
Args:
Returns: Comment thread with top-level comment and replies.
{
"type": "object",
"required": [
"commentThreadId"
],
"properties": {
"parts": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"snippet",
"replies"
],
"description": "Resource parts"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"commentThreadId": {
"type": "string",
"description": "Comment thread ID"
}
}
}youtube_post_commentPost a new top-level comment on a video or channel.
Requires OAuth authentication.
Args:
Returns: Created comment thread.
{
"type": "object",
"required": [
"channelId",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Comment text"
},
"videoId": {
"type": "string",
"description": "Video ID"
},
"channelId": {
"type": "string",
"description": "Channel ID"
}
}
}youtube_list_comment_repliesList replies to a comment.
Args:
Returns: Paginated list of reply comments.
{
"type": "object",
"required": [
"parentId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"parentId": {
"type": "string",
"description": "Parent comment ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_reply_to_commentReply to an existing comment.
Requires OAuth authentication.
Args:
Returns: Created reply comment.
{
"type": "object",
"required": [
"parentId",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Reply text"
},
"parentId": {
"type": "string",
"description": "Parent comment ID"
}
}
}youtube_update_commentUpdate an existing comment.
Requires OAuth authentication. You can only update your own comments.
Args:
Returns: Updated comment.
{
"type": "object",
"required": [
"commentId",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "New comment text"
},
"commentId": {
"type": "string",
"description": "Comment ID to update"
}
}
}youtube_delete_commentDelete a comment.
Requires OAuth authentication. You can only delete your own comments or comments on your videos.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"commentId"
],
"properties": {
"commentId": {
"type": "string",
"description": "Comment ID to delete"
}
}
}youtube_set_comment_moderation_statusSet the moderation status of comments.
Requires OAuth authentication. You can only moderate comments on your own videos.
Args:
Returns: Confirmation of moderation.
{
"type": "object",
"required": [
"commentIds",
"moderationStatus"
],
"properties": {
"banAuthor": {
"type": "boolean",
"default": false,
"description": "Ban the author"
},
"commentIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Comment IDs to moderate"
},
"moderationStatus": {
"enum": [
"heldForReview",
"published",
"rejected"
],
"type": "string",
"description": "Moderation status"
}
}
}youtube_list_languagesList application languages supported by YouTube.
Args:
Returns: List of supported languages with codes and names.
{
"type": "object",
"properties": {
"hl": {
"type": "string",
"description": "Language code for localization"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}youtube_list_regionsList content regions supported by YouTube.
Args:
Returns: List of supported regions with codes and names.
{
"type": "object",
"properties": {
"hl": {
"type": "string",
"description": "Language code for localization"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}youtube_list_membersList channel members (sponsors).
Requires OAuth authentication. Only available for channels with memberships enabled.
Args:
Returns: Paginated list of channel members.
{
"type": "object",
"properties": {
"mode": {
"enum": [
"all_current",
"updates"
],
"type": "string",
"default": "all_current",
"description": "List mode"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 1000,
"minimum": 1,
"description": "Maximum results"
},
"hasAccessToLevel": {
"type": "string",
"description": "Filter by membership level ID"
},
"filterByMemberChannelId": {
"type": "string",
"description": "Filter by member channel ID"
}
}
}youtube_list_membership_levelsList membership levels for the authenticated channel.
Requires OAuth authentication. Only available for channels with memberships enabled.
Args:
Returns: List of membership levels.
{
"type": "object",
"properties": {
"parts": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"snippet"
],
"description": "Resource parts"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}youtube_list_playlist_itemsList videos in a playlist.
Args:
Returns: Paginated list of playlist items (videos).
{
"type": "object",
"required": [
"playlistId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"default": [],
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
},
"playlistId": {
"type": "string",
"description": "Playlist ID"
}
}
}youtube_add_video_to_playlistAdd a video to a playlist.
Requires OAuth authentication. You can only add videos to your own playlists.
Args:
Returns: Created playlist item.
{
"type": "object",
"required": [
"playlistId",
"videoId"
],
"properties": {
"videoId": {
"type": "string",
"description": "Video ID to add"
},
"position": {
"type": "integer",
"minimum": 0,
"description": "Position in playlist (0-indexed)"
},
"playlistId": {
"type": "string",
"description": "Playlist ID"
}
}
}youtube_update_playlist_itemUpdate a playlist item's position.
Requires OAuth authentication.
Args:
Returns: Updated playlist item.
{
"type": "object",
"required": [
"playlistItemId",
"playlistId",
"videoId",
"position"
],
"properties": {
"videoId": {
"type": "string",
"description": "Video ID"
},
"position": {
"type": "integer",
"minimum": 0,
"description": "New position (0-indexed)"
},
"playlistId": {
"type": "string",
"description": "Playlist ID"
},
"playlistItemId": {
"type": "string",
"description": "Playlist item ID"
}
}
}youtube_remove_from_playlistRemove a video from a playlist.
Requires OAuth authentication. You can only remove videos from your own playlists.
Args:
Returns: Confirmation of removal.
{
"type": "object",
"required": [
"playlistItemId"
],
"properties": {
"playlistItemId": {
"type": "string",
"description": "Playlist item ID to remove"
}
}
}youtube_list_my_playlistsList the authenticated user's playlists.
Requires OAuth authentication.
Args:
Returns: Paginated list of playlists.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"default": [],
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_list_channel_playlistsList playlists for a specific channel.
Args:
Returns: Paginated list of playlists.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "Channel ID"
},
"pageToken": {
"type": "string",
"default": [],
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_get_playlistGet a playlist by ID.
Args:
Returns: Playlist details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"playlistId": {
"type": "string",
"default": [],
"description": "Playlist ID"
}
}
}youtube_create_playlistCreate a new playlist.
Requires OAuth authentication.
Args:
Returns: Created playlist details.
{
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string",
"description": "Playlist title"
},
"description": {
"type": "string",
"description": "Playlist description"
},
"privacyStatus": {
"enum": [
"private",
"public",
"unlisted"
],
"type": "string",
"default": "private",
"description": "Privacy status"
},
"defaultLanguage": {
"type": "string",
"description": "Default language code"
}
}
}youtube_update_playlistUpdate a playlist.
Requires OAuth authentication. You can only update your own playlists.
Args:
Returns: Updated playlist details.
{
"type": "object",
"required": [
"playlistId"
],
"properties": {
"title": {
"type": "string",
"description": "New title"
},
"playlistId": {
"type": "string",
"description": "Playlist ID to update"
},
"description": {
"type": "string",
"description": "New description"
},
"privacyStatus": {
"enum": [
"private",
"public",
"unlisted"
],
"type": "string",
"description": "Privacy status"
},
"defaultLanguage": {
"type": "string",
"description": "Default language"
}
}
}youtube_delete_playlistDelete a playlist.
Requires OAuth authentication. You can only delete your own playlists.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"playlistId"
],
"properties": {
"playlistId": {
"type": "string",
"description": "Playlist ID to delete"
}
}
}youtube_search_playlistsSearch for YouTube playlists.
Args:
Returns: Search results with playlist snippets.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Search query"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "Filter by channel ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_searchSearch YouTube for videos, channels, or playlists.
Args:
Returns: Search results with resource snippets.
{
"type": "object",
"required": [
"query"
],
"properties": {
"type": {
"enum": [
"video",
"channel",
"playlist"
],
"type": "string",
"description": "Resource type"
},
"order": {
"enum": [
"date",
"rating",
"relevance",
"title",
"videoCount",
"viewCount"
],
"type": "string"
},
"query": {
"type": "string",
"description": "Search query"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"topicId": {
"type": "string",
"description": "Freebase topic ID"
},
"location": {
"type": "string",
"description": "Geographic coordinates (lat,lng)"
},
"channelId": {
"type": "string",
"description": "Filter by channel ID"
},
"eventType": {
"enum": [
"completed",
"live",
"upcoming"
],
"type": "string",
"description": "Live event type"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"videoType": {
"enum": [
"any",
"episode",
"movie"
],
"type": "string"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
},
"regionCode": {
"type": "string",
"description": "ISO country code"
},
"safeSearch": {
"enum": [
"moderate",
"none",
"strict"
],
"type": "string",
"description": "Safe search"
},
"videoLicense": {
"enum": [
"any",
"creativeCommon",
"youtube"
],
"type": "string"
},
"videoDuration": {
"enum": [
"any",
"long",
"medium",
"short"
],
"type": "string"
},
"locationRadius": {
"type": "string",
"description": "Search radius"
},
"publishedAfter": {
"type": "string",
"description": "Published after (RFC 3339)"
},
"videoDimension": {
"enum": [
"2d",
"3d",
"any"
],
"type": "string"
},
"publishedBefore": {
"type": "string",
"description": "Published before (RFC 3339)"
},
"videoCategoryId": {
"type": "string",
"description": "Video category ID"
},
"videoDefinition": {
"enum": [
"any",
"high",
"standard"
],
"type": "string"
},
"videoEmbeddable": {
"enum": [
"any",
"true"
],
"type": "string"
},
"relevanceLanguage": {
"type": "string",
"description": "Relevance language code"
}
}
}youtube_list_my_subscriptionsList the authenticated user's subscriptions.
Requires OAuth authentication.
Args:
Returns: Paginated list of subscriptions.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"default": [],
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_list_my_subscribersList the authenticated user's subscribers.
Requires OAuth authentication.
Args:
Returns: Paginated list of subscribers.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageToken": {
"type": "string",
"default": [],
"description": "Pagination token"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
}
}
}youtube_subscribeSubscribe to a YouTube channel.
Requires OAuth authentication.
Args:
Returns: Created subscription.
{
"type": "object",
"required": [
"channelId"
],
"properties": {
"channelId": {
"type": "string",
"description": "Channel ID to subscribe to"
}
}
}youtube_get_videoGet details for a YouTube video by ID.
Args:
Returns: Video details including title, description, statistics, and more.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"videoId": {
"type": "string",
"default": [],
"description": "YouTube video ID"
}
}
}youtube_list_videosGet details for multiple YouTube videos by ID.
Args:
Returns: List of video details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"videoIds": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Array of YouTube video IDs"
}
}
}youtube_search_videosSearch for YouTube videos.
Args:
Returns: Search results with video snippets.
{
"type": "object",
"required": [
"query"
],
"properties": {
"order": {
"enum": [
"date",
"rating",
"relevance",
"title",
"viewCount"
],
"type": "string",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"channelId": {
"type": "string",
"description": "Filter by channel ID"
},
"eventType": {
"enum": [
"completed",
"live",
"upcoming"
],
"type": "string",
"description": "Filter live events"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"videoType": {
"enum": [
"any",
"episode",
"movie"
],
"type": "string",
"description": "Filter by type"
},
"maxResults": {
"type": "integer",
"default": 25,
"maximum": 50,
"minimum": 1,
"description": "Maximum results"
},
"regionCode": {
"type": "string",
"description": "ISO country code"
},
"safeSearch": {
"enum": [
"moderate",
"none",
"strict"
],
"type": "string",
"description": "Safe search setting"
},
"videoDuration": {
"enum": [
"any",
"long",
"medium",
"short"
],
"type": "string",
"description": "Filter by duration"
},
"publishedAfter": {
"type": "string",
"description": "Filter videos published after (RFC 3339)"
},
"publishedBefore": {
"type": "string",
"description": "Filter videos published before (RFC 3339)"
},
"videoDefinition": {
"enum": [
"any",
"high",
"standard"
],
"type": "string",
"description": "Filter by definition"
}
}
}youtube_update_videoUpdate a YouTube video's metadata.
Requires OAuth authentication. You can only update videos on your own channel.
Args:
Returns: Updated video details.
{
"type": "object",
"required": [
"videoId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "New tags"
},
"title": {
"type": "string",
"description": "New title"
},
"videoId": {
"type": "string",
"description": "Video ID to update"
},
"categoryId": {
"type": "string",
"description": "New category ID"
},
"embeddable": {
"type": "boolean",
"description": "Whether video can be embedded"
},
"description": {
"type": "string",
"description": "New description"
},
"madeForKids": {
"type": "boolean",
"description": "Made for kids designation"
},
"privacyStatus": {
"enum": [
"private",
"public",
"unlisted"
],
"type": "string",
"description": "Privacy status"
}
}
}youtube_delete_videoDelete a YouTube video.
Requires OAuth authentication. You can only delete videos on your own channel.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"videoId"
],
"properties": {
"videoId": {
"type": "string",
"description": "Video ID to delete"
}
}
}youtube_rate_videoRate a YouTube video (like, dislike, or remove rating).
Requires OAuth authentication.
Args:
Returns: Confirmation of rating.
{
"type": "object",
"required": [
"videoId",
"rating"
],
"properties": {
"rating": {
"enum": [
"like",
"dislike",
"none"
],
"type": "string",
"description": "Rating to apply"
},
"videoId": {
"type": "string",
"description": "Video ID to rate"
}
}
}youtube_get_video_ratingGet your rating for one or more videos.
Requires OAuth authentication.
Args:
Returns: Your rating for each video.
{
"type": "object",
"required": [
"videoIds"
],
"properties": {
"videoIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Video IDs to check"
}
}
}youtube_report_video_abuseReport a video for abusive content.
Requires OAuth authentication.
Args:
Returns: Confirmation of report.
{
"type": "object",
"required": [
"videoId",
"reasonId"
],
"properties": {
"videoId": {
"type": "string",
"description": "Video ID to report"
},
"comments": {
"type": "string",
"description": "Additional comments"
},
"reasonId": {
"type": "string",
"description": "Abuse reason ID"
},
"secondaryReasonId": {
"type": "string",
"description": "Secondary reason ID"
}
}
}