trendsmcp-ai avatar

YouTube Trends MCP

trendsmcp-ai/youtube-trends-mcp

Plugs YouTube search interest data from Google Trends directly into Claude or any MCP client. You get time series data for any keyword, growth metrics comparing periods, and normalized trend values without scraping. The free tier at trendsmcp.ai gives you 100 requests per month, which covers casual keyword research or weekly monitoring jobs. Same service also exposes Google Search, TikTok, and a few other trend sources through one API, so you can compare momentum across platforms. Useful when you're validating content ideas, checking if a topic is heating up, or need defensible numbers instead of screenshots in Slack threads.

GitHub stars
1
tools
16
auth
Secret needed
transport
HTTP
last updated
Oct 21, 2026

Tools

16 tools

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 params

Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.

Parameters* required
channelIdstring
The YouTube channel ID to retrieve activities for. Channel IDs typically start with 'UC'.
maxResultsinteger
Maximum number of activities to return.default: 25
pageTokenstring
Pagination token from a previous response to get the next page of results.
partstring
Comma-separated list of activity resource properties to include (e.g., 'snippet', 'contentDetails', 'id').default: snippet,contentDetails
publishedAfterstring
Return activities published after this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
publishedBeforestring
Return activities published before this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
YOUTUBE_GET_CHANNEL_ID_BY_HANDLERetrieves the YouTube Channel ID for a specific YouTube channel handle.1 params

Retrieves the YouTube Channel ID for a specific YouTube channel handle.

Parameters* required
channel_handlestring
The YouTube channel handle (e.g., @Google) for which to retrieve the corresponding channel ID. This handle must start with an '@' symbol.
YOUTUBE_GET_CHANNEL_STATISTICSGets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.2 params

Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.

Parameters* required
idstring
Comma-separated list of YouTube channel IDs. Channel IDs typically start with 'UC'. This is a required field and must be non-empty
partstring
Comma-separated list of channel resource properties to include. Use 'statistics' for subscriber count.default: statistics
YOUTUBE_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 params

Retrieves 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.

Parameters* required
hlstring
Language for localized metadata (snippet.localized); IETF language tag, e.g., 'en'.
idarray
List of YouTube video IDs to retrieve (comma-separated in request).
partsarray
Comma-separated list of video resource properties to include. Valid parts can be one or more of: snippet, contentDetails, statistics, status, player, topicDetails, recordingDetails, fileDetails, pr...
YOUTUBE_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 params

Retrieves 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.

Parameters* required
partstring
Specifies a comma-separated list of one or more caption resource parts that the API response will include. Valid parts are 'id' and 'snippet'.default: snippet
videoIdstring
The YouTube video ID for which the API should return caption tracks.
YOUTUBE_LIST_CHANNEL_VIDEOSLists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.4 params

Lists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.

Parameters* required
channelIdstring
The unique ID of the YouTube channel for which videos are to be retrieved.
maxResultsinteger
The maximum number of videos to return per page.default: 5
pageTokenstring
Token for pagination; use `nextPageToken` from a previous response for the next page, or `prevPageToken` for the previous page.
partstring
Specifies `search` resource properties to include; it must be `snippet` for this action. The `snippet` includes basic video details like ID, title, description, and thumbnails.default: snippet
YOUTUBE_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 params

Tool to list videos in a playlist, with pagination support. Use when walking through a channel's uploads playlist to enumerate all videos.

Parameters* required
fieldsstring
Selector specifying which fields to include in a partial response.
maxResultsinteger
The maximum number of items to return per page. Must be between 0 and 50.default: 50
onBehalfOfContentOwnerstring
Note: For YouTube content partners. Authorize using a properly scoped account.
pageTokenstring
The token for the page of results to retrieve. Obtained from a previous call's nextPageToken.
partstring
Comma-separated list of playlistItem resource parts to include in the response. Valid values: 'snippet', 'contentDetails', 'id', 'status'.default: snippet,contentDetails
playlistIdstring
The ID of the playlist for which to retrieve items. Typically a channel's uploads playlist ID.
videoIdstring
Filter results to only those containing the specified video ID.
YOUTUBE_LIST_USER_PLAYLISTSRetrieves playlists owned by the authenticated user, implicitly using mine=True.3 params

Retrieves playlists owned by the authenticated user, implicitly using mine=True.

Parameters* required
maxResultsinteger
Maximum number of playlists to return.default: 5
pageTokenstring
Token for pagination to retrieve a specific page of results.
partstring
Specifies a comma-separated list of one or more playlist resource properties to include in the response. Common values are 'snippet', 'id', and 'contentDetails'.default: snippet
YOUTUBE_LIST_USER_SUBSCRIPTIONSRetrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.3 params

Retrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.

Parameters* required
maxResultsinteger
Maximum number of subscription items to return per page.default: 5
pageTokenstring
Token for a specific page of results, obtained from a previous response. Omit for the first page.
partstring
Specifies the comma-separated subscription resource parts to include. Valid parts are `id`, `snippet`, `contentDetails`, and `subscriberSnippet`.default: snippet,contentDetails
YOUTUBE_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 params

Downloads 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...

Parameters* required
idstring
Unique YouTube-assigned ID of the caption track to download.
tfmtstring
Desired format for the caption track. Supported formats: 'srt' (SubRip), 'sbv' (SubViewer), 'vtt' (WebVTT).default: srt
YOUTUBE_SEARCH_YOU_TUBESearches YouTube for videos, channels, or playlists using a query term, returning the raw API response.5 params

Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response.

Parameters* required
maxResultsinteger
Maximum number of items to return per page.default: 5
pageTokenstring
Pagination token from a previous response's 'nextPageToken' or 'prevPageToken', used to retrieve a specific page of results.
partstring
Comma-separated list of search resource properties (e.g., 'id', 'snippet') to include in the API response.default: snippet
qstring
Search query term. Supports: - Basic text: 'machine learning' - Exact phrases: '"exact phrase"' - Exclusions: 'python -snake' - Multiple terms: 'AI OR ML' - Channel search: '@channelhandle' or chan...
typestring
Restricts search to 'video', 'channel', or 'playlist'; comma-separate for multiple types (e.g., 'video,channel').default: video
YOUTUBE_SUBSCRIBE_CHANNELSubscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.1 params

Subscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.

Parameters* required
channelIdstring
Unique identifier (ID) of the YouTube channel to subscribe to (typically starts with 'UC').
YOUTUBE_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 params

Sets the custom thumbnail for a YouTube video using an image from thumbnailUrl; the authenticated user must have permission to edit the video.

Parameters* required
thumbnailUrlstring
Publicly accessible URL of the new thumbnail image. Must be JPG, GIF, or PNG; under 2MB. Recommended: 16:9 aspect ratio, 1280x720 resolution (minimum 640px width).
videoIdstring
Identifier of the YouTube video for which to update the thumbnail.
YOUTUBE_UPDATE_VIDEOUpdates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.6 params

Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.

Parameters* required
categoryIdstring
New YouTube category ID. No change if omitted or `None`.
descriptionstring
New video description. No change if omitted or `None`.
privacyStatusstring
New privacy status ('public', 'private', or 'unlisted'). No change if omitted or `None`.
tagsarray
New tags, replacing all existing. An empty list removes all. No change if omitted or `None`.
titlestring
New video title. No change if omitted or `None`.
videoIdstring
The video's unique YouTube ID, typically found in its URL.
YOUTUBE_UPLOAD_VIDEOUploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.6 params

Uploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.

Parameters* required
categoryIdstring
YouTube category ID (e.g., '22' for People & Blogs). See YouTube Data API docs for a full list of category IDs.
descriptionstring
Detailed description of the video content, optionally including keywords and context.
privacyStatusstring
Privacy status: 'public', 'private' (uploader/specified users only), or 'unlisted' (link accessible, not publicly listed).
tagsarray
List of keyword tags (strings) for the video, used to improve discoverability.
titlestring
The title for the video.
videoFilePathstring
Video file to upload. Provide a FileUploadable object with valid s3key, mimetype, and name.
YOUTUBE_VIDEO_DETAILSRetrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.2 params

Retrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.

Parameters* required
idstring
The YouTube video ID (typically an 11-character string) for which details are to be retrieved.
partstring
Comma-separated list of video resource parts that the API response will include. Valid parts: 'snippet' (title, description, thumbnails), 'contentDetails' (duration, definition, dimension), 'statis...default: snippet,contentDetails,statistics

Sponsors

Readme

YouTube Trends MCP logo

YouTube Trends MCP

Live trend data for AI agents. Google, TikTok, YouTube, Amazon, Reddit, and 30+ other sources. One MCP connection, one API key.

PyPI License: MIT CI MCP Free tier Glama


View the full README on GitHub

Details

Repository
github.com/trendsmcp-ai/youtube-trends-mcp
Website
trendsmcp.ai
Categories
Search & Web Crawling, Data & Analytics, Media & Entertainment
Transport
HTTP
Auth
Required
Registry
MCP registry, active

More from trendsmcp-ai

Related Search & Web Crawling MCP servers

View all
1andrijdavid avatarVinted Mcpandrijdavid/vinted-mcpMCP Server for Vinted that allows to search items, compare prices, and analyze sellers.1stars
2ask-cyborg avatarAskCyborgask-cyborg/askcyborg-mcpAnalyst-debate research on every public and private company. 8 tools: search, score, compare, more.1stars
3cammac-creator avatarOpenSwissDatacammac-creator/openswissdataSwiss customs tariff (TARES), FINMA register, NOGA/NACE/ISIC codes. 4 free tools + search trial.1stars
4chrischall avatarOnehome Mcpchrischall/onehome-mcpOneHome (CoreLogic) real-estate access for Claude — search, property details, photos, saved homes1stars
5ecriswell7 avatarAward Flight Dailyecriswell7/award-flight-daily-mcpOfficial airline award MCP. Search 12.3M+ award flights across 48 loyalty programs.1stars
6cyanheads avatarBls Labor Mcp Servercyanheads/bls-labor-mcp-serverFetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.1stars