Skip to main content
Glama

Knowledge is announced on video. vidtheque puts it on tap.

You don't have time to watch everything — your agent does. Follow the builders whose talks, streams and deep-dives matter: vidtheque turns them into solid, timestamped knowledge — every sentence spoken, every line that crossed the screen, every frame — and every answer comes with its receipt: the sentence, the slide, and the second it happened (https://youtu.be/ID?t=123).

See it live: vidtheque.dev · the demo — the first shelf: every talk AI Engineer published in 2026, all 310, on tap.

Quickstart

Releases ship as published images — ghcr.io/t0msilver/vidtheque-{mcp,worker}:

mkdir vidtheque && cd vidtheque
REL=https://raw.githubusercontent.com/T0mSIlver/vidtheque/v0.0.6/deploy
curl -fsSLO "$REL/docker-compose.yml" -O "$REL/compose.release.example.yml"
curl -fsSL -o .env "$REL/.env.example"   # the document of record for every knob
echo "IMAGE_TAG=0.0.6" >> .env
docker compose -f docker-compose.yml -f compose.release.example.yml up -d
curl localhost:8080/healthz

The worker image is amd64 + CUDA (~28 GB — what GPU torch genuinely weighs); the mcp image is CPU-only, multi-arch, and runs on a Pi. No GPU? Drop the worker: a hosted OpenAI-compatible provider covers the transcript leg, and YouTube captions are the zero-GPU indexing path. deploy/vidtheque-update.sh makes upgrades one command; pin exact tags — v0.0.x schemas can still change. To build from source instead: clone this repo, cp deploy/.env.example deploy/.env, then docker compose -f deploy/docker-compose.yml up -d.

Related MCP server: klaket-mcp

Follow the builders

Point it at a video, a channel, or a playlist. It transcribes with word-level timestamps, reads what is on screen, embeds keyframes, and keeps it all in a local index you own — the channels you chose, growing by subscription. The demo is the first shelf, not the library.

Your agent watched it

Agents plug in over MCP and consume the corpus mid-task: ask for the SOTA, get what was said on stage three weeks ago — search across transcript, on-screen text and frames, then drill into any moment. A web demo and a management dashboard ride in the same process: / is the landing, /demo searches and answers for visitors, /dashboard is the operator's instrument.

Receipts, always

What separates injected knowledge from a hallucinated summary: the verbatim quote, the real slide with its OCR box, and the youtu.be/…?t= link that lands on the second.

Architecture

Two services, one repo, HTTP between them — never a shared Python import.

flowchart LR
    client["MCP client<br/>(Claude, …)"] -->|MCP| MCP
    browser["Browser"] -->|"landing · demo · dashboard"| MCP
    subgraph MCP ["mcp/ — CPU, multi-arch (runs on a Pi)"]
        surface["MCP tools · OAuth (CIMD)<br/>landing · demo · dashboard"] ---
        pipeline["yt-dlp fetch · scene detection<br/>job queue"] ---
        store[("SQLite + sqlite-vec + FTS5<br/>keyframe JPEGs")]
    end
    MCP -->|"HTTP — OpenAI shapes where they fit<br/>/v1/audio/transcriptions · /v1/ocr<br/>/v1/embeddings(/image · /frame-query)"| Worker
    subgraph Worker ["worker/ — GPU, single box, stateless"]
        lm["LifecycleManager — load-on-demand,<br/>idle-TTL unload, VRAM check, lease hooks"] ---
        backends["STT: whisperX · OCR: RapidOCR<br/>Embeddings: Qwen3-VL-Embedding-2B<br/>(one model, one slot, both legs)"]
    end

The worker is a stateless inference API — the endpoints are the contract. One model embeds everything: Qwen3-VL-Embedding-2B reads a slide as a document, not a picture — where CLIP-style dual encoders do 1.3–3.6× worse.

Development

uv sync && make test    # CPU-only, no model downloads; GPU extras: --extra gpu

AGENTS.md is how to work in this repo; docs/README.md maps every surface to its contract. Security: SECURITY.md + docs/security.md. MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Builds a searchable knowledge base from YouTube video transcripts with hybrid semantic and keyword search. Allows LLM assistants to search, organize, and retrieve timestamped information from videos you've watched.
    3
    -
  • A
    license
    A
    quality
    B
    maintenance
    Let AI agents watch videos: local transcripts, speaker labels, scenes, chapters and exact-moment search from any video URL or file. Fully local, no API keys.
    4
    2
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, engagement analytics, chapters, SponsorBlock clean transcripts, and most-replayed heatmaps.
    35 npm
    -