Skip to main content
Glama
Miandari

YouTube Knowledge Base MCP

by Miandari

YouTube Knowledge Base MCP

An MCP server that builds a searchable knowledge base from video content.

Why

We consume more content than we can remember. Videos watched, podcasts heard, lectures attended—the information fades. This project builds a searchable knowledge base from that content. Start with YouTube, expand to other sources.

The key: it's an MCP server. Plug it into any LLM (Claude, GPT, local models) and your AI assistant can search everything you've ever watched. Your memory, augmented.

Features

  • Extract transcripts from YouTube videos

  • Hybrid search (semantic + keyword)

  • Timestamped links to exact video moments

  • Organize with tags and notes

  • Multiple embedding providers (Voyage, OpenAI, local)

Installation

Requirements

  • Python 3.10+

  • uv package manager

  • One of: Voyage API key, OpenAI API key, or local Ollama

Setup

git clone https://github.com/yourusername/youtube-knowledge-base-mcp.git cd youtube-knowledge-base-mcp uv sync

Environment

cp .env.example .env

Add your API key (at least one required):

VOYAGE_API_KEY=your_key_here # or OPENAI_API_KEY=your_key_here

Usage

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "youtube-kb": { "command": "uv", "args": ["--directory", "/path/to/youtube-knowledge-base-mcp", "run", "youtube-kb"] } } }

Then ask Claude: "Add this video to my knowledge base: [URL]"

With Python

See demo.ipynb for interactive examples.

from youtube_knowledgebase_mcp import process_video, search # Add a video result = await process_video("https://youtube.com/watch?v=...") # Search results = await search("What is context engineering?") for r in results.results: print(r.timestamp_link) # Jump to exact moment

MCP Tools

4 workflow-based tools designed for LLM efficiency:

Tool

Description

process_video

Add a video to the knowledge base (with optional tags/summary)

manage_source

Update tags and summary for a source

explore_library

Browse sources, list tags, or get statistics

search

Hybrid semantic + keyword search with reranking

Developer CLI

Administrative commands for database management (not exposed to LLMs):

uv run kb db stats # Show database statistics uv run kb db reset --confirm # Reset database (destructive) uv run kb db migrate <path> # Move database to new location uv run kb source list # List all sources uv run kb source delete <id> # Delete a source uv run kb health # System health check uv run kb import-urls <file> # Bulk import from file

Run uv run kb --help for all commands.

Configuration

Data Location

By default, data is stored in your OS's standard application data directory:

  • macOS: ~/Library/Application Support/youtube-kb/

  • Linux: ~/.local/share/youtube-kb/

  • Windows: %APPDATA%/youtube-kb/

Note: If you have existing data in ./data/ from a previous version, it will continue to be used automatically.

To use a custom location, set the YOUTUBE_KB_DATA_DIR environment variable:

export YOUTUBE_KB_DATA_DIR=/path/to/custom/location

Or in Claude Desktop config:

{ "mcpServers": { "youtube-kb": { "command": "uv", "args": ["--directory", "/path/to/repo", "run", "youtube-kb"], "env": { "YOUTUBE_KB_DATA_DIR": "/custom/data/path" } } } }

Moving Your Database

To move your database to a new location (e.g., Dropbox):

uv run kb db migrate ~/Dropbox/youtube-kb --confirm

Then follow the printed instructions to set the environment variable.

Architecture

youtube_knowledgebase_mcp/ ├── core/ # Config, models, database, embeddings ├── repositories/ # Data access layer (LanceDB) ├── services/ # Business logic (search, ingestion, organization) ├── mcp_tools.py # MCP tools (4 workflow-based tools) └── cli.py # Developer CLI for admin operations

Tech Stack

  • LanceDB - Vector database with hybrid search

  • yt-dlp - YouTube transcript extraction

  • Embeddings - Voyage (default), OpenAI, BGE, Ollama

  • FastMCP - MCP server framework

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Miandari/youtube-knowledge-base-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server