discover_new_videos
Find new YouTube videos from tracked channels, skipping livestreams and short clips. Returns newest uploads since last check, with optional tag filtering.
Instructions
Discover new videos from YouTube channels since the last time this MCP saw them.
Two modes for selecting channels:
Pass
channel_idsexplicitly (legacy behavior).Omit
channel_idsand the MCP reads from its tracked-channel registry (managed by add_tracked_channel / remove_tracked_channel). Usetagto filter the registry — e.g. tag="macro" returns only channels tagged macro.
State is tracked per channel in a server-managed JSON file. On the FIRST call for a channel, the most recent video is returned (and state is seeded) so the caller has something to analyze without ingesting the entire backlog.
Filters applied:
Livestreams (duration == 0) are skipped
Videos shorter than min_duration_seconds are skipped (default 10 minutes)
Videos older than or equal to the last-seen video are skipped
Args: channel_ids: Optional list of YouTube channel IDs. If omitted, the registry is used. tag: Optional tag filter for registry-based mode (ignored if channel_ids given). max_per_channel: How many recent uploads to inspect per channel (default 5) min_duration_seconds: Minimum video length to include (default 600 = 10min)
Returns: DiscoverResult with new_videos (newest first), skipped, channels_processed, and first_run_channels (channels that had no prior state).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| channel_ids | No | ||
| tag | No | ||
| max_per_channel | No | ||
| min_duration_seconds | No |