TubeScout ๐ญ
Turn YouTube into a research engine for your AI agent. An MCP server (no API key) plus a skill pack that make Claude Code, Codex, and OpenCode search YouTube like a database, read transcripts at scale, and mine videos for evidence โ claims, numbers, demand signals โ instead of vibes.
Idea-engine tools scan Reddit and forums. YouTube is where founders show receipts โ revenue dashboards, playbooks, real numbers on camera โ and nothing mines it. TubeScout does.
Quickstart (60 seconds)
Claude Code
claude mcp add --scope user tubescout -- npx -y tubescout
Codex
codex mcp add tubescout -- npx -y tubescout
OpenCode โ add to ~/.config/opencode/opencode.json under "mcp":
"tubescout": { "type": "local", "command": ["npx", "-y", "tubescout"], "enabled": true }
That's it โ no API key, no config. Then ask your agent things like:
"Find the 5 most-viewed videos about n8n from the last month and summarize what people are struggling with."
Easiest all-in-one (Claude Code): install as a plugin โ MCP server + all 6 skills in two commands:
/plugin marketplace add not0lucky/tubescout
/plugin install tubescout@tubescout
Or install the skill pack manually (works for Claude Code, Codex, and OpenCode):
git clone https://github.com/not0lucky/tubescout && cd tubescout
./scripts/install-skills.sh # installs into ~/.claude/skills, ~/.codex/skills, ~/.config/opencode/skills
Tools
| Tool | What it does |
|---|---|
search_videos |
Search with filters (upload window, duration, sort by views/date) |
get_video |
Full metadata + engagement (likesPer1kViews resonance signal) |
get_transcript |
Plain-text transcript via a resilient 3-strategy fallback chain |
get_transcripts |
Batch transcripts (up to 10 videos), per-video error tolerant |
get_channel_videos |
Channel positioning + recent uploads with view counts |
get_search_suggestions |
YouTube autocomplete = real search demand for keyword research |
Skills (the research methods)
| Skill | Use it to |
|---|---|
/yt-breakdown <urls> |
Skeptic's analysis of videos: extract every claim and number, stress-test for incentives, survivorship bias, verifiability |
/yt-idea-mine <niche> |
Mine a niche for product ideas backed by demand signals + pains real builders describe on camera |
/yt-validate <idea> |
Go/no-go verdict: demand, saturation, what competitors' numbers actually show |
/yt-channel-intel <channel> |
Read a channel's strategy: cadence, outliers, what performs vs what they publish |
/yt-playbook <tutorial url> |
Turn a tutorial into executable steps โ exact commands, settings, and the gotchas said in passing โ adapted to your stack |
/yt-gap <niche> |
Find demand-vs-supply gaps: heavily searched topics served by weak, old, or misfit videos โ for content plans or product angles |
All skills are context-aware: they read the conversation for what you're building, your stack, and videos already analyzed, and tailor verdicts to your actual leverage instead of giving generic advice.
See a real /yt-breakdown run on three "how I make $X/month" videos โ including what survived the skeptic pass and what didn't.
How it works (honestly)
There's no magic here, and that's the point:
- youtubei.js talks to YouTube's internal InnerTube API โ the same one the site uses. No key, no quota.
- Transcripts are YouTube's own captions, fetched through a fallback chain: the ANDROID-client timedtext track โ the InnerTube transcript endpoint (known to 400 intermittently โ retried with backoff) โ local
yt-dlpif you have it. Each response tells you whichsourceserved it. - All analysis happens in your agent. The server ships data; the skills ship method.
Limitations
- Run it locally. YouTube aggressively rate-limits datacenter IPs โ this is a local stdio server by design, not a hosted service.
- YouTube changes internals without notice; when it breaks, update (
npxalways pulls latest) and file an issue with the failing video ID. - Videos with captions disabled can't be transcribed (rare; the error says so explicitly).
- Caption scraping lives in YouTube ToS gray area โ fine for local research tooling, don't build a hosted paid product on it.
Development
npm install && npm run build
npm test # unit tests (offline)
npm run test:live # live smoke tests against real videos โ run before publishing
npm run inspect # MCP Inspector against the built server
MIT โ see LICENSE.
Built by Anir โ I automate things. More at agramprojects.com.