1. Conduid
  2. Documentation
  3. Kvault
MCP server · Documentation

Kvault

Searchable knowledge corpus with BM25 ranking. Rust library, CLI, and MCP server.

Unclaimed last commit 8 months ago docs
34Low

Scored 6 months ago · breakdown

About Kvault

Kvault is an MCP server published by rabrooks in the Documentation category: searchable knowledge corpus with BM25 ranking. Rust library, CLI, and MCP server.

The repository has 2 stars and 0 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/rabrooks/kvault

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (4)

add_knowledgeAdd a new document to the corpus

Parameters not published.

get_documentGet full contents of a document by path

Parameters not published.

list_knowledgeList all documents, optionally filtered by category

Parameters not published.

search_knowledgeSearch the corpus for matching documents

Parameters not published.

Ask AI

✦

Ask AI about Kvault

Powered by Claude · Grounded in docs

I know everything about Kvault. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

kvault

Searchable knowledge corpus with BM25 ranking. Rust library, CLI, and MCP server.

Status

CLI, search, and MCP server are functional. Optional Tantivy (BM25) ranked search backend available via ranked feature.

What is kvault?

kvault is a fast, local-first knowledge base that lets you:

  • Store knowledge as Markdown, JSON, or plain text
  • Search with ripgrep (fast) or Tantivy BM25 ranking (optional)
  • Access via CLI, Rust library, or MCP server

No external AI services. No embeddings APIs. You control where your knowledge lives.

Installation

Requires ripgrep for search:

brew install ripgrep    # macOS
cargo install ripgrep   # any platform
apt install ripgrep     # Debian/Ubuntu

Install kvault:

cargo install kvault

Or build from source:

git clone https://github.com/aaronbrooks/kvault
cd kvault
cargo build --release

# With MCP server support
cargo build --release --features mcp

# With ranked search (BM25 + fuzzy matching)
cargo build --release --features ranked

# Full build with all features
cargo build --release --features "ranked,mcp"

Quick Start

Add a document:

echo "# Lambda Patterns

Use environment variables for configuration.
Keep functions small and focused.
" | kvault add --title "AWS Lambda Patterns" --category aws --tags "lambda,serverless"

Or from a file:

kvault add --title "AWS Lambda Patterns" --category aws --file ./notes.md

Then search and retrieve:

kvault list                           # List all documents
kvault search "environment"           # Search content
kvault get aws/aws-lambda-patterns.md # View full document

CLI Commands

kvault add --title "..." --category "..." [--tags "..."] [--file path]
                               # Add document (reads stdin if no --file)
kvault search <query>          # Search the corpus (case-insensitive)
kvault search <query> -l 5     # Limit results
kvault search <query> -c aws   # Filter by category
kvault search <query> -s       # Case-sensitive search
kvault search <query> -b ranked # Use BM25 ranked search (requires --features ranked)
kvault search <query> --fuzzy  # Fuzzy search with edit distance 1 (ranked backend)
kvault search <query> --fuzzy 2 # Fuzzy search with edit distance 2
kvault list                    # List all documents
kvault list --category aws     # Filter by category
kvault get <path>              # Print document contents
kvault index                   # Build search index (requires --features ranked)
kvault serve                   # Start MCP server (requires --features mcp)

Configuration

Config file: ~/.config/kvault/config.toml

[corpus]
paths = [
  "~/.kvault",              # default location
  "./.kvault",              # add project-specific paths as needed
  "~/work/shared-kb",       # or team/custom locations
]

Default: ~/.kvault is used if no config file exists.

Environment Variables

Variable Description
KVAULT_CONFIG Override config file location (useful for testing)

Storage Backends

Backend Use Case Status
Local filesystem CLI users, scripts, personal knowledge Available
S3 Team sharing, distributed corpus Planned

Search Backends

Backend Use Case Status
ripgrep Fast text search, no indexing needed Available (default)
Tantivy BM25 ranked results, fuzzy search, requires indexing Available (ranked feature)

Ranked Search (Tantivy)

Build with ranked search support:

cargo build --release --features ranked

Build the search index (required before using ranked search):

kvault index

Use ranked search:

# Explicit ranked backend
kvault search "lambda patterns" --backend ranked

# Auto-select (uses ranked if index exists, else ripgrep)
kvault search "lambda patterns" --backend auto

# Fuzzy search - finds "lambda" even if you type "lamda"
kvault search "lamda" --fuzzy        # 1 edit distance (default)
kvault search "lamda" --fuzzy 2      # 2 edit distance (more permissive)

Edit distance guide:

Distance Catches Example
1 Single typo, missing/extra char lamda matches lambda
2 Two typos, transpositions lambada matches lambda

MCP Server

kvault includes an MCP server for AI editor integration. Build with MCP support:

cargo build --release --features mcp

Add to your editor's MCP configuration:

{
  "mcpServers": {
    "kvault": {
      "command": "kvault",
      "args": ["serve"]
    }
  }
}

Supported Editors

  • Claude Code
  • Cursor
  • Windsurf
  • Any editor supporting the Model Context Protocol

MCP Tools

Tool Description
search_knowledge Search the corpus for matching documents
list_knowledge List all documents, optionally filtered by category
get_document Get full contents of a document by path
add_knowledge Add a new document to the corpus

Feature Flags

Flag Description
ranked Enable Tantivy BM25 ranked search with fuzzy matching
mcp Enable MCP server (kvault serve)

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Kvault

How do I install Kvault?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Kvault safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Kvault still maintained?

The last commit was 8 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.