KuraDB
[!NOTE] This README was generated by SKILL, get the ZH version from here.
DROP FILES IN, LET YOUR AGENT SEARCH THEM OUT
A Go read-only RAG database with drop-in auto-indexing, parallel keyword and semantic search, and MCP tools
Table of Contents
Features
git clone https://github.com/pardnchiu/KuraDB.git && cd KuraDB && make app· Documentation
- Drop-In Indexing — Drop files into
~/Kura_{name}and the watcher parses PDF, DOCX, PPTX, CSV, XLSX, and plain text, queues them for embedding, and soft-deletes removed files. - Parallel Keyword + Semantic Search — Each request runs gse-tokenized keyword matching and OpenAI embedding search concurrently, returning results grouped by source file.
- Two-Stage Vector Retrieval — Source-level mean vectors shortlist candidate files, then candidate chunks are scored with parallel cosine and filtered by a similarity floor.
- One-Way Write Boundary — The API exposes queries only; the sole write path is watcher → parser → SQLite, and changed content invalidates stale embeddings automatically.
- Native MCP Tools —
kura mcpserveslist_ragandsearch_ragover stdio, andkura remote enableexposes the same tools over HTTP at/mcp.
Architecture
graph TB
Inbox[~/Kura_name folder] --> Watcher[File Watcher]
Watcher --> SQLite[(Per-DB SQLite)]
SQLite --> Embedder[Embedding Scheduler]
Embedder --> OpenAI[OpenAI Embedding]
Embedder --> Vector[Vector Cache]
HTTP[HTTP API] --> Search[Shared Search Core]
MCP[MCP stdio / HTTP] --> Search
Search --> Vector
Search --> SQLite
License
This project is licensed under the MIT LICENSE.
Author
Just open an issue to share an idea.
©️ 2026 邱敬幃 Pardn Chiu