obsidian-hybrid-search
View on GitHubHybrid search for Obsidian vaults via plugin, CLI, and MCP server
Local-first hybrid search engine for Obsidian vaults, combining BM25, fuzzy title/alias matching and sqlite-vec semantic embeddings fused with RRF. Ships a CLI, an Obsidian plugin, and an MCP server so agents can search, read and traverse notes as tool calls.
Use Cases
Search an Obsidian vault by idea, phrase, title, alias, tag or frontmatterExpose vault notes to AI agents as MCP tool callsFind semantically similar notes and related note graph traversalOffline semantic search with local embedding modelsRe-rank search results with a cross-encoder for precisionScript vault retrieval from the CLI with filters and JSON outputIncremental re-indexing with file watchingUse remote OpenAI-compatible embedding APIs (Ollama, OpenRouter, LM Studio)Bring cited personal notes into AI-assisted writing workflowsBenchmark retrieval quality on knowledge-vault datasets
Built With
- Language
- TypeScript
- Frameworks
- Model Context Protocol · Transformers.js (@huggingface/transformers) · sqlite-vec · SQLite FTS5 · ONNX Runtime · Vitest · TypeScript · Node.js
Tags
obsidian · hybrid-search · semantic-search · bm25 · vector-search · sqlite-vec · fts5 · embeddings · reranking · rrf · mcp · cli · local-first · knowledge-base · note-search · incremental-indexing