
Wraps the YouTube Data API v3 so your AI can search videos, pull channel info, fetch playlists, and work with YouTube metadata. You bring your own API key. Hosted by Pipeworx as a streamable HTTP endpoint, so there's nothing to install or run locally. You can call the YouTube tools directly or use their ask_pipeworx interface that takes plain English questions and routes them to the right API calls automatically. Solid option if you need YouTube integration without managing credentials locally or want access to their broader gateway with 250+ data sources.
Public tool metadata for what this MCP can expose to an agent.
YOUTUBE_GET_CHANNEL_ACTIVITIESGets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.6 paramsGets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.
channelIdstringmaxResultsintegerpageTokenstringpartstringpublishedAfterstringpublishedBeforestringYOUTUBE_GET_CHANNEL_ID_BY_HANDLERetrieves the YouTube Channel ID for a specific YouTube channel handle.1 paramsRetrieves the YouTube Channel ID for a specific YouTube channel handle.
channel_handlestringYOUTUBE_GET_CHANNEL_STATISTICSGets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.2 paramsGets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.
idstringpartstringYOUTUBE_GET_VIDEO_DETAILS_BATCHRetrieves multiple YouTube video resource parts in a single batch call. Use when you need cohort-level metrics for many videos to reduce quota usage and latency.3 paramsRetrieves multiple YouTube video resource parts in a single batch call. Use when you need cohort-level metrics for many videos to reduce quota usage and latency.
hlstringidarraypartsarrayYOUTUBE_LIST_CAPTION_TRACKRetrieves a list of caption tracks for a YouTube video, returning an empty list if no captions exist or failing if the video ID is invalid or not found.2 paramsRetrieves a list of caption tracks for a YouTube video, returning an empty list if no captions exist or failing if the video ID is invalid or not found.
partstringvideoIdstringYOUTUBE_LIST_CHANNEL_VIDEOSLists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.4 paramsLists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.
channelIdstringmaxResultsintegerpageTokenstringpartstringYOUTUBE_LIST_PLAYLIST_ITEMSTool to list videos in a playlist, with pagination support. Use when walking through a channel's uploads playlist to enumerate all videos.7 paramsTool to list videos in a playlist, with pagination support. Use when walking through a channel's uploads playlist to enumerate all videos.
fieldsstringmaxResultsintegeronBehalfOfContentOwnerstringpageTokenstringpartstringplaylistIdstringvideoIdstringYOUTUBE_LIST_USER_PLAYLISTSRetrieves playlists owned by the authenticated user, implicitly using mine=True.3 paramsRetrieves playlists owned by the authenticated user, implicitly using mine=True.
maxResultsintegerpageTokenstringpartstringYOUTUBE_LIST_USER_SUBSCRIPTIONSRetrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.3 paramsRetrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.
maxResultsintegerpageTokenstringpartstringYOUTUBE_LOAD_CAPTIONSDownloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. Note: This action requires you to own the video (YouTube Data API v3 restriction). Non-owned videos will return 403 Forbidden errors, including many auto...2 paramsDownloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. Note: This action requires you to own the video (YouTube Data API v3 restriction). Non-owned videos will return 403 Forbidden errors, including many auto...
idstringtfmtstringYOUTUBE_SEARCH_YOU_TUBESearches YouTube for videos, channels, or playlists using a query term, returning the raw API response.5 paramsSearches YouTube for videos, channels, or playlists using a query term, returning the raw API response.
maxResultsintegerpageTokenstringpartstringqstringtypestringYOUTUBE_SUBSCRIBE_CHANNELSubscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.1 paramsSubscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.
channelIdstringYOUTUBE_UPDATE_THUMBNAILSets the custom thumbnail for a YouTube video using an image from thumbnailUrl; the authenticated user must have permission to edit the video.2 paramsSets the custom thumbnail for a YouTube video using an image from thumbnailUrl; the authenticated user must have permission to edit the video.
thumbnailUrlstringvideoIdstringYOUTUBE_UPDATE_VIDEOUpdates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.6 paramsUpdates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.
categoryIdstringdescriptionstringprivacyStatusstringtagsarraytitlestringvideoIdstringYOUTUBE_UPLOAD_VIDEOUploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.6 paramsUploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.
categoryIdstringdescriptionstringprivacyStatusstringtagsarraytitlestringvideoFilePathstringYOUTUBE_VIDEO_DETAILSRetrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.2 paramsRetrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.
idstringpartstringYouTube MCP — wraps the YouTube Data API v3 (BYO API key)
Part of Pipeworx — an MCP gateway connecting AI agents to 1476+ live data sources.
| Tool | Description |
|---|---|
yt_search | Search YouTube for videos, channels, or playlists. Returns snippet info including title, description, channel, thumbnails, and publish date. |
yt_video_details | Get detailed information about one or more YouTube videos including title, description, channel, duration, view/like/comment counts, and tags. |
yt_channel_details | Get YouTube channel information and statistics including subscriber count, video count, view count, description, and custom URL. |
yt_channel_videos | List recent videos from a YouTube channel, ordered by date. Returns video ID, title, description, and publish date. |
yt_video_comments | Get top-level comment threads on a YouTube video. Returns author, text, like count, and publish date. |
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"youtube": {
"url": "https://gateway.pipeworx.io/youtube/mcp"
}
}
}
tools/list at https://gateway.pipeworx.io/youtube/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Both URLs reach the same gateway and the same 1476+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Youtube data" })
The gateway picks the right tool and fills the arguments automatically.
MIT