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: You point vibe-hnindex at a directory. It scans files, chunks them (~60 lines), embeds chunks via Ollama, and stores everything in SQLite + Qdrant.
- Search: AI assistants call the
searchtool, which queries the index using keyword, semantic, or hybrid modes. - Results: Ranked code snippets with file paths and line ranges are returned to the AI for context.
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)