vibe-hnindex
vibe-hnindex is a local Model Context Protocol (MCP) server that lets AI assistants search your codebase. Index a project once, then search it in every AI session — your code stays on your machine.
What It Does
vibe-hnindex builds a searchable index of your codebase using SQLite (for keyword and FTS5 full-text search) and Qdrant (for semantic vector search powered by Ollama embeddings).
Once indexed, AI tools can:
- Search your code by keyword, natural language, or hybrid (both combined)
- Find definitions of functions, classes, and symbols
- Use regex to find patterns across your entire codebase
- Get smart context for tasks, questions, or refactoring
- Benchmark search performance across different modes
Key Features
🔍 Multi-Mode Search
Keyword (FTS5+BM25), semantic (Qdrant vectors), hybrid (RRF fusion), regex, and symbol search.
⚡ Hyper-Speed Indexing
Single-pass indexing with parallel workers (~30-40% faster since v0.9.1).
📦 Incremental Updates
SHA-1 hashing — only re-index changed files.
🔒 100% Local
Code never leaves your machine. SQLite + Qdrant run locally.
🧠 Smart Context
Auto-detect task types and gather relevant context for AI agents.
🌐 Streaming Search
Parallel keyword + semantic search with progress updates.
How It Works
- Index: Point vibe-hnindex at a directory. It scans files, chunks them (~60 lines), embeds via Ollama, and stores in SQLite + Qdrant.
- Search: AI assistants call
search, which queries using keyword (FTS5), semantic (Qdrant), or hybrid (RRF fusion) modes. - Persist: Every search, smart_context, and code_session is auto-tracked to Chat Memory (SQLite + Qdrant vectors). AI restarts with full context.
- Results: Ranked code snippets with file paths and line ranges returned to the AI.
Supported Platforms
vibe-hnindex works with any MCP-compatible AI tool:
Requirements
- Node.js ≥ 20 (LTS recommended)
- Ollama — for embeddings (required for semantic/hybrid search)
- Qdrant — Docker or Qdrant Cloud (optional; keyword search works without it)