Provides tools for searching videos and retrieving metadata via the YouTube Data API v3, allowing for the discovery of trending content, video analysis, and channel information tracking.
Specializes in the discovery and analysis of viral YouTube Shorts, using metrics such as Views Per Hour (VPH) and engagement rates to identify high-potential content and niche trends.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Viral ShortsFind viral AI Shorts from the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Viral Shorts
MCP-powered YouTube Shorts discovery tool for finding viral videos using natural language in Claude Desktop
Features
🔥 Discover trending Shorts
📊 Analyze viral potential
🎯 Track trending topics
🔍 Find niche trends
📝 Summarize video stories
Tech Stack: YouTube Data API v3 • VPH (Views Per Hour) • Engagement Rate • MCP Protocol
Quick Start
Prerequisites
Python 3.11+ (optional,
uvxauto-manages)YouTube Data API Key
Claude Desktop or MCP client
1. Get YouTube API Key
Visit Google Cloud Console
Create a new project
Enable YouTube Data API v3
Create API Key
(Recommended) Restrict key to YouTube Data API v3 only
2. Configure Claude Desktop
Edit Claude Desktop config:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Add:
Note:
Replace
your-api-key-herewith your actual API keyuvxauto-downloads from PyPINo manual installation needed
3. Start Using
Restart Claude Desktop completely
Use natural language:
Usage Examples
Example 1: Discover Trends
Returns Markdown table with:
Title, Channel, Views, VPH, Engagement Rate, Viral Score, Age
Example 2: Analyze Video
Example 3: Find Topics
Example 4: Custom Parameters
Claude auto-extracts:
Keyword: "programming"
Time range: 12 hours
Min views: 500,000
Available Tools
1. get_youtube_shorts_trends
Discover trending YouTube Shorts.
Parameters:
keyword(string): Search keyword, empty for global trendshours_ago(int): Time range in hours, default 24max_results(int): Result count, default 10min_views(int): Min view threshold, default 100,000search_by_tag(boolean): Search by exact tag match, default false
2. analyze_video_potential
Deep analysis of a single video.
Parameters:
video_url(string): YouTube Shorts URL
3. get_trending_topics
Find trending topics.
Parameters:
category(string): tech/entertainment/education/gaming/allhours_ago(int): Time range, default 24
4. summarize_video_story
Extract video story and core content.
Parameters:
video_url(string): YouTube Shorts URL
5. discover_niche_trends
Find niche viral trends within a topic.
Parameters:
main_topic(string): Main keyword (e.g., "AI", "tutorial")hours_ago(int): Time range, default 24min_videos(int): Min videos per niche, default 3top_niches(int): Top N niches to return, default 10
Core Metrics
VPH (Views Per Hour)
Formula: Total Views ÷ Hours Since Published
Meaning: Growth velocity
Thresholds:
≥ 10,000: 🔥 Super viral
≥ 5,000: ⭐ High potential
≥ 1,000: ✨ Potential
Engagement Rate
Formula: (Likes + Comments) ÷ Views × 100
Meaning: Content quality
Thresholds:
10%: Excellent
5%: Good
2%: Average
Viral Score
Formula: VPH × Time Weight × (1 + Engagement Boost)
Meaning: Comprehensive ranking score
Features:
Newer videos weighted higher
High engagement significantly boosts score
API Quota Management
YouTube Data API v3 Quota
Default: 10,000 units/day
Reset: Daily at Pacific Time midnight
Cost Breakdown
Operation | Cost | Description |
| 100 units | Search videos |
| 1 unit | Get video details |
| 1 unit | Get channel info |
Best Practices
Keep
max_results ≤ 10per searchLimit to ~50 calls/day
Use
min_viewsto filter resultsUse view count for overall popularity
Use VPH for fast-growing new videos
Project Structure
FAQ
Q: "YOUTUBE_API_KEY not set" error
Check
claude_desktop_config.jsonhasenv.YOUTUBE_API_KEYsetEnsure no extra spaces or quotes in API key
Fully restart Claude Desktop
Q: "API quota exhausted" error
Wait for quota reset (Pacific Time midnight)
Request quota increase in Google Cloud Console
Reduce search frequency or lower
max_results
Q: Claude can't find tools
Verify
claude_desktop_config.jsonformat is correctFully restart Claude Desktop
Check Claude Desktop logs for errors
Q: No search results
Expand time range (e.g., 12h → 24h)
Use broader keywords
Lower
min_viewsthreshold
Tech Stack
Python: 3.11+
MCP: FastMCP 2.13.1+
API: google-api-python-client 2.187.0+
Validation: Pydantic 2.12.4+
License
MIT License - see LICENSE
Links
MCP Docs: https://modelcontextprotocol.io/
FastMCP: https://github.com/jlowin/fastmcp
Start discovering viral videos with natural language! 🚀