KuraDB RAG
KuraDB is an independent RAG (Retrieval-Augmented Generation) daemon. It is a separate binary (kura) that Agenvoy neither spawns nor owns — Agenvoy reaches it the same way it reaches any other external capability: as an MCP server. Registering it writes one entry into mcp.json; from then on KuraDB's tools appear in the registry under the mcp__ prefix like any other MCP tool, and disappear when the server is not registered or not connected.
What it is
KuraDB (pardnchiu/KuraDB) is a self-developed local document index that:
- Indexes user files (notes, inbox, code, ...) into multiple named databases
- Provides keyword search via
gsetokenization (Chinese-aware) - Provides semantic search via embeddings
- Runs entirely on the user's machine — no external service
Integration model
There is no Agenvoy-side KuraDB package any more. The integration became a plain MCP registration in v0.32.1, and internal/runtime/kuradb/ plus the /kuradb TUI wizard were removed in v0.35.0 — install, update and reconnect are no longer Agenvoy's job. What remains is the ordinary MCP client path:
| Step | Where |
|---|---|
| Install the binary | curl -fsSL https://agenvoy.com/scripts/kuradb.sh | bash, run yourself in a real terminal (it needs a TTY for sudo and package-manager prompts) |
| Register the server | /mcp → add, or one entry in ~/.config/agenvoy/mcp.json |
| Reconnect after a change | /mcp → kura → reconnect, or POST /v1/mcp/reconnect (all servers) |
{
"kura": { "command": "kura", "args": ["mcp"] }
}
There is no HTTP client, no endpoint file, no health-check goroutine, and no key syncing on the Agenvoy side. Agenvoy's own updater (public/scripts/update.sh) no longer touches kura either — update it with the same install script.
Tools
KuraDB's own MCP server decides what it exposes; Agenvoy does not define these tools:
| Tool | Description |
|---|---|
mcp__kura__list_rag |
List available KuraDB databases (e.g. notes, inbox, code) |
mcp__kura__search_rag |
Search a database — keyword matching and semantic vector similarity run in parallel, results grouped by source file |
Because they arrive through the MCP client, they are absent from the registry entirely when the server is unregistered or fails to connect — the LLM never sees a stub it cannot call.
RAG + live-web pairing
reasoning_guide(topic=rag_web) carries the rule. A RAG tool in the list means an operator curated a collection there, and its contents cannot be read off its name — so the model judges whether the question could plausibly land in it (house rules, conventions, internal docs, the operator's own domain material) and searches it when it could. A non-smalltalk information query always runs the live-web half (search_web); live figures come from the web half only. When both could hold the answer they are issued as parallel calls in the same response, never web-first-then-maybe-RAG. With no RAG tool registered, the web half runs alone — a missing collection never promotes training knowledge into a substitute.
Files & paths
| Path | Purpose |
|---|---|
kura on PATH |
KuraDB binary, installed by kuradb.sh |
~/.config/agenvoy/mcp.json |
Where the kura server entry is written |
~/.config/kuradb/ |
KuraDB-side config / data dir, managed entirely by KuraDB |