NYC

youtube

SKILL.md

YouTube Research Pro

The most comprehensive YouTube skill for AI agents.

We analyzed 15+ YouTube MCP servers and found each does one thing well, but none does everything. So we built the skill we wished existed.

Why This Skill?

What Others Do What We Do
Transcripts OR search OR downloads All three, unified
Burn API quota on transcripts FREE transcripts (zero quota)
Single video at a time Batch operations (50 videos)
Basic search Filtered search (date, duration, order)
Text output only JSON export for pipelines

The Killer Feature: FREE Transcripts

Most tools use the YouTube Data API for transcripts = 100 quota units per request. Daily limit is 10,000 units = only ~100 transcripts/day.

We use youtube-transcript-api — extracts directly from YouTube's frontend. Zero API quota. Unlimited transcripts.

Quick Reference

Command Quota What it does
transcript VIDEO FREE Get video transcript
transcript-list VIDEO FREE List available languages
download VIDEO FREE Download video (yt-dlp)
download-audio VIDEO FREE Extract audio only
search QUERY 100 Search videos
video ID [ID...] 1/video Get details (batch!)
comments VIDEO 1 Get comments + replies
channel [ID] 1-3 Channel statistics

Setup (One Time)

# 1. Get credentials from Google Cloud Console
#    - Create OAuth 2.0 Client ID (Desktop app)
#    - Download JSON

# 2. Save credentials
mkdir -p ~/.config/youtube-skill
mv ~/Downloads/client_secret*.json ~/.config/youtube-skill/credentials.json

# 3. Authenticate
uv run {baseDir}/scripts/youtube.py auth

Transcripts (FREE!)

# Plain text transcript
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID

# With timestamps
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --timestamps

# Specific language (falls back to available)
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID -l es

# List what's available
uv run {baseDir}/scripts/youtube.py transcript-list VIDEO_ID

# JSON output
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --json

Works with URLs too:

uv run {baseDir}/scripts/youtube.py transcript "https://youtube.com/watch?v=dQw4w9WgXcQ"

Search

# Basic search
uv run {baseDir}/scripts/youtube.py search "AI news 2026"

# With filters
uv run {baseDir}/scripts/youtube.py search "tutorial" -l 20 --order date
uv run {baseDir}/scripts/youtube.py search "lecture" --duration long
uv run {baseDir}/scripts/youtube.py search "news" --published-after 2026-01-01T00:00:00Z

Video Details (Batch Supported)

# Single video
uv run {baseDir}/scripts/youtube.py video dQw4w9WgXcQ

# Multiple videos at once (up to 50)
uv run {baseDir}/scripts/youtube.py video id1 id2 id3 id4 id5

# JSON output for processing
uv run {baseDir}/scripts/youtube.py video id1 id2 --json

Comments

# Top comments
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID

# With replies
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --replies

# Recent comments
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --order time -l 50

Downloads (requires yt-dlp)

# Video (best quality)
uv run {baseDir}/scripts/youtube.py download VIDEO_ID

# Specific resolution
uv run {baseDir}/scripts/youtube.py download VIDEO_ID -r 720p

# With subtitles
uv run {baseDir}/scripts/youtube.py download VIDEO_ID -s en

# Audio only (MP3)
uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID

# Audio as M4A
uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID -f m4a

User Data

uv run {baseDir}/scripts/youtube.py subscriptions
uv run {baseDir}/scripts/youtube.py playlists
uv run {baseDir}/scripts/youtube.py playlist-items PLAYLIST_ID
uv run {baseDir}/scripts/youtube.py liked
uv run {baseDir}/scripts/youtube.py channel

Command Aliases

Full Alias
transcript tr
search s
video v
comments c
download dl
download-audio dla

Use Cases

Research: Fetch transcript → analyze with LLM → extract insights

Learning: Batch transcripts from playlist → create study notes

Monitoring: Search recent videos → extract transcripts → track trends

Podcasts: Download audio for offline listening

Analysis: Get channel stats → compare competitors

Multi-Account

uv run {baseDir}/scripts/youtube.py -a work subscriptions
uv run {baseDir}/scripts/youtube.py -a personal liked

Why We Built This

We surveyed the landscape:

  • kimtaeyoon83/mcp-server-youtube-transcript (463⭐) — Great transcripts, no search
  • kevinwatt/yt-dlp-mcp (211⭐) — Great downloads, no transcripts
  • dannySubsense/youtube-mcp-server (9⭐) — Most functions, but uses paid API for transcripts
  • kirbah/mcp-youtube (9⭐) — Batch ops, but no free transcripts

None combined free transcripts + search + downloads + batch ops.

Now one does.


Credits

Created by Oscar Serra with the help of Claude (Anthropic).

We analyzed 15+ YouTube tools and built the one that does everything.

Weekly Installs
3
Repository
smithery/ai
First Seen
7 days ago
Installed on
openclaw1
codex1
claude-code1