YouTube MCP server for AI agents
Search YouTube, read videos, channels, playlists and comments, manage the user's playlists, update their video details, rate videos and post comments.
Runs with your users' own YouTube accounts. Credentials stay on prompt-tm.com.
19 tools · 0 triggers
- Auth
- OAuth 2.0 (sign in with the app) · API key
- Tools
- 19
- Triggers
- 0
- Category
- Media
Tools and triggers
Search YouTube
YOUTUBE_SEARCH
Searches YouTube for videos, channels or playlists and returns their IDs and snippets (title, description, channel, thumbnails). Get view counts and durations with List videos. Search has its own small daily quota (100 calls by default).read-only
List videos
YOUTUBE_LIST_VIDEOS
Returns videos by ID with their details and statistics, the most popular videos in a region (`chart`), or the videos the connected user liked (`myRating`). Give one of the three.read-only
List channels
YOUTUBE_LIST_CHANNELS
Returns channels by ID or @handle, or the connected user's own channel (`mine`), with subscriber and video counts and the ID of the uploads playlist (`contentDetails.relatedPlaylists.uploads`).read-only
List channel activity
YOUTUBE_LIST_ACTIVITIES
Lists a channel's recent activity: uploads, playlist additions, likes and other events.read-only
List playlists
YOUTUBE_LIST_PLAYLISTS
Lists a channel's playlists, the connected user's own (`mine`), or playlists by ID.read-only
List playlist items
YOUTUBE_LIST_PLAYLIST_ITEMS
Lists the videos in a playlist in playlist order. A channel's uploads are the playlist in its `contentDetails.relatedPlaylists.uploads`.read-only
Create a playlist
YOUTUBE_CREATE_PLAYLIST
Creates a playlist on the connected user's channel. Needs an OAuth connection.
Delete a playlist
YOUTUBE_DELETE_PLAYLIST
Deletes one of the connected user's playlists. The videos in it aren't deleted. Needs an OAuth connection.destructive
Add a video to a playlist
YOUTUBE_ADD_PLAYLIST_ITEM
Adds a video to one of the connected user's playlists, at the end or at a position. Needs an OAuth connection.
Remove a video from a playlist
YOUTUBE_DELETE_PLAYLIST_ITEM
Removes an item from a playlist. Needs an OAuth connection.destructive
Update video details
YOUTUBE_UPDATE_VIDEO
Changes the title, description, tags and category of one of the connected user's videos. YouTube replaces the whole snippet: tags or a description left out are removed, so read the video first and send every field you want to keep. Needs an OAuth connection.destructive
Like or dislike a video
YOUTUBE_RATE_VIDEO
Likes or dislikes a video as the connected user, or removes their rating (`none`). Needs an OAuth connection.
Get my ratings
YOUTUBE_GET_VIDEO_RATING
Returns how the connected user rated each video: like, dislike or none. Needs an OAuth connection.read-only
List comments
YOUTUBE_LIST_COMMENT_THREADS
Lists the top-level comments on a video, or on all of a channel's videos, with their replies. Pass `searchTerms` to filter.read-only
Post a comment
YOUTUBE_POST_COMMENT
Posts a public top-level comment on a video as the connected user. Needs an OAuth connection.destructive
Reply to a comment
YOUTUBE_REPLY_TO_COMMENT
Posts a public reply to a top-level comment as the connected user. Needs an OAuth connection.destructive
List subscriptions
YOUTUBE_LIST_SUBSCRIPTIONS
Lists the channels the connected user (`mine`) or a channel with public subscriptions is subscribed to.read-only
List caption tracks
YOUTUBE_LIST_CAPTIONS
Lists a video's caption tracks with their languages and kinds (standard or auto-generated). Costs 50 quota units. Needs an OAuth connection.read-only
List video categories
YOUTUBE_LIST_VIDEO_CATEGORIES
Lists the video categories available in a region, with the IDs that Update video details and List videos use.read-only
Try YouTube now
Sign in, connect your account and run any of these in the playground, or ask your agent through the router.
Try it freeConnect via MCP
Create an MCP server for YouTube in the dashboard, then add its URL to your client. This is the Claude Code command; the client guide has the others.
claude mcp add --transport http youtube \
"https://www.prompt-tm.com/mcp/<server id>?user_id=<your user>" \
--header "x-api-key: ptm_…"Connect via REST
Run a tool with one request. The response is { data, error, successful, log_id } for every tool.
curl -X POST https://www.prompt-tm.com/api/v3/tools/execute/YOUTUBE_SEARCH \
-H "x-api-key: $PROMPT_TM_KEY" -H "content-type: application/json" \
-d '{ "user_id": "alice", "arguments": {} }'