youtube-automation
Automate YouTube tasks via Rube MCP (Composio): upload videos, manage playlists, search content, get analytics, and handle comments. Always search tools first for current schemas.
YouTube Automation via Rube MCP
Automate YouTube operations through Composio's YouTube toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit youtubeRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit youtubeCore Workflows
1. Upload and Manage Videos
When to use: User wants to upload a video or update video metadata
Tool sequence:
YOUTUBE_UPLOAD_VIDEO - Upload a new video [Required]YOUTUBE_UPDATE_VIDEO - Update title, description, tags, privacy [Optional]YOUTUBE_UPDATE_THUMBNAIL - Set a custom thumbnail [Optional]Key parameters:
title: Video title (max 100 characters)description: Video description (max 5000 bytes)tags: Array of keyword tagscategoryId: YouTube category ID (e.g., '22' for People & Blogs)privacyStatus: 'public', 'private', or 'unlisted'videoFilePath: Object with {name, mimetype, s3key} for the video filePitfalls:
< > in tags are automatically stripped2. Search YouTube Content
When to use: User wants to find videos, channels, or playlists
Tool sequence:
YOUTUBE_SEARCH_YOU_TUBE - Search for content [Required]YOUTUBE_VIDEO_DETAILS - Get full details for a specific video [Optional]YOUTUBE_GET_VIDEO_DETAILS_BATCH - Get details for multiple videos [Optional]Key parameters:
q: Search query (supports exact phrases, exclusions, channel handles)type: 'video', 'channel', or 'playlist'maxResults: Results per page (1-50)pageToken: For paginationPitfalls:
3. Manage Playlists
When to use: User wants to create playlists or manage playlist contents
Tool sequence:
YOUTUBE_LIST_USER_PLAYLISTS - List user's existing playlists [Optional]YOUTUBE_CREATE_PLAYLIST - Create a new playlist [Optional]YOUTUBE_ADD_VIDEO_TO_PLAYLIST - Add a video to a playlist [Optional]YOUTUBE_LIST_PLAYLIST_ITEMS - List videos in a playlist [Optional]Key parameters:
playlistId: Playlist ID ('PL...' for user-created, 'UU...' for uploads)part: Resource parts to include (e.g., 'snippet,contentDetails')maxResults: Items per page (1-50)pageToken: Pagination token from previous responsePitfalls:
4. Get Channel and Video Analytics
When to use: User wants to analyze channel performance or video metrics
Tool sequence:
YOUTUBE_GET_CHANNEL_ID_BY_HANDLE - Resolve a handle to channel ID [Prerequisite]YOUTUBE_GET_CHANNEL_STATISTICS - Get channel subscriber/view/video counts [Required]YOUTUBE_LIST_CHANNEL_VIDEOS - List all videos from a channel [Optional]YOUTUBE_GET_VIDEO_DETAILS_BATCH - Get per-video statistics [Optional]YOUTUBE_GET_CHANNEL_ACTIVITIES - Get recent channel activities [Optional]Key parameters:
channelId: Channel ID ('UC...'), handle ('@handle'), or 'me'forHandle: Channel handle (e.g., '@Google')id: Comma-separated video IDs for batch detailsparts: Resource parts to include (e.g., 'snippet,statistics')Pitfalls:
data or data_preview; parse defensively5. Manage Subscriptions and Comments
When to use: User wants to subscribe to channels or view video comments
Tool sequence:
YOUTUBE_SUBSCRIBE_CHANNEL - Subscribe to a channel [Optional]YOUTUBE_UNSUBSCRIBE_CHANNEL - Unsubscribe from a channel [Optional]YOUTUBE_LIST_USER_SUBSCRIPTIONS - List subscriptions [Optional]YOUTUBE_LIST_COMMENT_THREADS - List comments on a video [Optional]Key parameters:
channelId: Channel to subscribe/unsubscribevideoId: Video ID for comment threadsmaxResults: Results per pagepageToken: Pagination tokenPitfalls:
Common Patterns
Channel ID Resolution
Handle to Channel ID:
1. Call YOUTUBE_GET_CHANNEL_ID_BY_HANDLE with '@handle'
Extract channelId from response
Use in subsequent channel operations Uploads Playlist:
1. Get channel ID (starts with 'UC')
Replace 'UC' prefix with 'UU' to get uploads playlist ID
Use with LIST_PLAYLIST_ITEMS to enumerate all videos Pagination
maxResults (max 50 per page)nextPageTokenpageToken in next requestnextPageToken is absentBatch Video Details
Known Pitfalls
Quota Management:
ID Formats:
Thumbnails:
Response Parsing:
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Upload video | YOUTUBE_UPLOAD_VIDEO | title, description, tags, categoryId, privacyStatus, videoFilePath |
| Update video | YOUTUBE_UPDATE_VIDEO | video_id, title, description, tags |
| Set thumbnail | YOUTUBE_UPDATE_THUMBNAIL | videoId, thumbnailUrl |
| Search YouTube | YOUTUBE_SEARCH_YOU_TUBE | q, type, maxResults |
| Video details | YOUTUBE_VIDEO_DETAILS | id, part |
| Batch video details | YOUTUBE_GET_VIDEO_DETAILS_BATCH | id, parts |
| List playlists | YOUTUBE_LIST_USER_PLAYLISTS | maxResults, pageToken |
| Create playlist | YOUTUBE_CREATE_PLAYLIST | (check schema) |
| Add to playlist | YOUTUBE_ADD_VIDEO_TO_PLAYLIST | (check schema) |
| List playlist items | YOUTUBE_LIST_PLAYLIST_ITEMS | playlistId, maxResults |
| Channel statistics | YOUTUBE_GET_CHANNEL_STATISTICS | id/forHandle/mine |
| List channel videos | YOUTUBE_LIST_CHANNEL_VIDEOS | channelId, maxResults |
| Channel ID by handle | YOUTUBE_GET_CHANNEL_ID_BY_HANDLE | channel_handle |
| Subscribe | YOUTUBE_SUBSCRIBE_CHANNEL | channelId |
| List subscriptions | YOUTUBE_LIST_USER_SUBSCRIPTIONS | (check schema) |
| List comments | YOUTUBE_LIST_COMMENT_THREADS | videoId |
| Channel activities | YOUTUBE_GET_CHANNEL_ACTIVITIES | (check schema) |