Semantic search for YouTube channels, built for MCP.
Index a channel once, then query it like a knowledge base. Find the right segment by meaning (not just keywords), and jump straight to the part you need.
Three steps to searchable video
From raw channel to semantic knowledge base in minutes.
Index a channel
Point the CLI at any YouTube channel or video. It downloads subtitles, chunks them into passages, and generates vector embeddings automatically.
Search by meaning
Ask natural-language questions via MCP or the CLI. Vector similarity finds the most relevant segments across every indexed video.
Jump to the moment
Each result links to the exact timestamp. Click through to YouTube or use the built-in player to watch the clip with full context.
Real query, real results
Here's what a search looks like end to end.
$ channel-chat search "how do vector embeddings work?" Searching across 142 indexed videos... Result 1 | score: 0.94 "Vector embeddings map words into a high-dimensional space where similar meanings cluster together. We use cosine similarity to measure how close two passages are..." ── https://youtube.com/watch?v=dQw4w9...&t=847 Embeddings Deep Dive · 14:07 Result 2 | score: 0.89 "The key insight is that embeddings capture semantic relationships. 'King minus man plus woman' gives you something close to 'queen' in embedding space..." ── https://youtube.com/watch?v=xK3r9...&t=312 ML Fundamentals #4 · 5:12
Built in the open
channel-chat is MIT-licensed and ready to self-host. Runs locally with SQLite or deploys to Cloudflare Workers for production.