Claude-tinderbox: Search your Claude.ai conversation history locally via MCP A developer created Tinderbox, a local search system for Claude.ai conversation archives that allows any Claude session to query past conversations via two MCP tools. The system ingests exported conversation ZIP files into a Supabase database with hybrid semantic and full-text retrieval, achieving 68.7% top-1 accuracy on a 150-query test set across 676 conversations and 10,653 messages. A personal claude.ai conversation archive — schema, ingest, embeddings, hybrid retrieval, and an MCP server that lets any Claude session search your own past conversations. Status:working end-to-end. Used daily by the author. Not packaged for general consumption — seeCaveatsbelow. You export your conversations from claude.ai, drop the ZIP into a watched directory, and within ~15 minutes your full archive is searchable from any Claude session via two MCP tools: tinderbox search query, limit=10 — hybrid semantic + full-text retrieval over every message and artifact tinderbox get conversation export id, max messages=50 — pull the full thread of any conversation surfaced by a search Everything is local-ish — you bring your own Supabase free-tier project, your own Ollama install for embeddings, and a Mac this is targeted at Apple Silicon . The current author's archive: 676 conversations, 10,653 messages, 172 artifacts, 10,731 mxbai-embed-large vectors. Hybrid retrieval hits 68.7% top-1 / 88.7% top-10 on a frozen 150-query QA set generated by Haiku from the corpus itself re-runs weekly via launchd . Tinderbox stores statements, not facts. Every retrieval response renders the provenance inline — never "X is true" , always "on date , in conversation , participant said content " . The corpus answerswhat was said when, by whom; neverwhat is true. That's design principle 1 from the schema doc /luckyrmp/tinderbox-archive/blob/main/docs/STAGE 1 SCHEMA PROPOSAL.md . Memorial archive, not extraction pipeline. Forward-linked when superseded, never backward-edited. For context-window reasons it's also genuinely useful: a Claude session can look up its own past reasoning instead of re-deriving it. Postgres Supabase holds 12 tables under a tinderbox schema — schema versioning, ingest runs, conversations, messages, artifacts, attachments, embeddings vector 1024 + hnsw , enrichment, named instances, query log, and a frozen QA test set. A Python parser stream-reads claude.ai export ZIPs and upserts everything idempotently. An embed worker batches messages and artifacts through Ollama mxbai-embed-large , 1024-dim and writes vectors back. A server-side Postgres function tinderbox.hybrid search ranks results by 1 - cosine distance + 0.5 ts rank cd . A small from-scratch JSON-RPC 2.0 MCP server exposes two tools over stdio. Three launchd daemons run the whole thing on a schedule: inbox watcher 15min , QA eval Sundays 03:00 , staleness alerter daily 09:00 with cooldown + debounce . macOS with Apple Silicon, Python 3.14 or 3.12+ probably — author runs 3.14.3 1 Supabase free-tier project — $0/month for this scale. Optional $4/mo IPv4 add-on https://supabase.com/pricing for proper RLS scoping stage 5b . Ollama running locally with mxbai-embed-large pulled ollama pull mxbai-embed-large - A claude.ai data export ZIP Settings → Account → Export Data 1. Clone git clone