YouTube Knowledge Base
Search educational YouTube content directly from Claude Code. Access insights from top creators on marketing, engineering, growth, strategy, and more.
Overview
YouTube KB is a public, open-source MCP (Model Context Protocol) server that provides semantic search across thousands of indexed YouTube educational videos. It's designed to work seamlessly with Claude Code through a lightweight plugin.
Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Supabase │◄───►│ Vercel │◄───►│ Claude Code │
│ (pgvector) │ │ (MCP Server) │ │ (Plugin) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Packages
- packages/server - MCP server (TypeScript, deployed to Vercel)
- packages/plugin - Claude Code plugin for easy installation
Available Domains
| Domain | Topics |
|---|---|
growth | Marketing, acquisition, retention |
strategy | Business models, pricing, positioning |
engineering | Architecture, patterns, best practices |
product | PM skills, roadmaps, prioritization |
startup | Fundraising, founder advice |
sales | Sales techniques, closing, pipelines |
design | UI/UX, visual design |
ai-tools | AI products, prompting |
ai-builder | Building with AI, LLMs |
Quick Start
For Users
# Install the Claude Code plugin
claude plugin install youtube-kb
For Developers
# Clone the repository
git clone https://github.com/unisone/youtube-kb.git
cd youtube-kb
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your credentials
# Run locally
pnpm dev
Documentation
- Product Requirements
- Architecture Overview
- Database Schema
- API Specification
- Plugin Specification
- Implementation Roadmap
Tech Stack
- Database: Supabase (PostgreSQL + pgvector)
- Server: Vercel (Edge Functions)
- Embeddings: OpenAI text-embedding-3-small
- Protocol: MCP with StreamableHTTP transport
- Language: TypeScript
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE for details.
Author
Alex Zaytsev (@unisone)
