YouTube summaries,
on your terms

Self-hosted service that fetches transcripts, generates LLM summaries, and lets you search your video library with semantic search. Integrates with Karakeep and MCP.

vimmary video list view
vimmary video detail view
vimmary settings view
vimmary MCP integration with Claude
YouTube URL
Fetch Transcript
LLM Summary
Search & Browse

Features

LLM-Powered Summaries

Generate structured summaries with key points, topics, and action items using Claude or Mistral. Choose between medium and deep detail levels.

Hybrid Search

Find videos by meaning, not just keywords. Combines semantic vector search with full-text search using Reciprocal Rank Fusion.

Karakeep Integration

Bookmark a YouTube video in Karakeep, get a summary back automatically. Bidirectional sync with webhook support.

MCP Server

6 tools for AI assistants to search, browse, and manage your video summaries. Works with Claude and any MCP-compatible client.

Web UI

Clean React frontend embedded in a single Go binary. Browse videos, view summaries, manage settings, and submit URLs manually.

Tailscale Auth

Zero-config authentication via tsnet. Multi-user support with per-user video libraries and independent Karakeep configurations.

Tech Stack

Go Backend + single binary
React + Vite Embedded frontend
PostgreSQL + pgvector Storage + vector search
Claude / Mistral Summaries + embeddings
Tailscale Auth + networking
Docker Compose One-command deploy

Quick Start

Prerequisites:
  • Tailscale — must be installed and running. vimmary uses Tailscale for networking and authentication, there is no standalone mode.
  • Mistral API key — required for embeddings (mistral-embed).
  • Claude API key — optional, for higher-quality summaries. Falls back to Mistral if not set.
1

Download the config files

mkdir vimmary && cd vimmary
curl -LO https://raw.githubusercontent.com/meltforce/vimmary/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/meltforce/vimmary/main/config.example.yaml
cp config.example.yaml config.yaml
2

Configure

Edit config.yaml and fill in your API keys under the secrets section.

3

Start

docker compose up -d

Pulls the image from Docker Hub and starts the app with PostgreSQL + pgvector. Migrations run automatically.

MCP Tools

Expose your video library to AI assistants via the Model Context Protocol.

search_videos Hybrid keyword + semantic search
get_video Retrieve full video details
list_recent Browse recent videos
resummarize Regenerate with different detail
stats Aggregate statistics
delete_video Remove a video and its data