Xavier is a Rust-based memory runtime for AI agents with HTTP, CLI, and MCP entry points. It stores, retrieves, and manages vector embeddings, hierarchical memory, and semantic relationships over a SQLite-backed store, giving agents fast contextual recall without external dependencies.
# Option 1: Install from source
cargo install xavier
# Option 2: Run with Docker
docker run -p 8006:8006 -v xavier-data:/data ghcr.io/iberi22/xavier:latest
# Start the server
export XAVIER_TOKEN=your-secret-token
xavier http
# Add and search memory
xavier add "AI agents should always verify their sources" "agent-guidelines"
xavier search "agent guidelines"Xavier ships with an interactive TUI setup wizard that configures everything in 6 steps — no manual config editing needed.
Windows (PowerShell):
irm https://raw.githubusercontent.com/iberi22/xavier/main/install.ps1 | iexLinux/macOS:
curl -fsSL https://raw.githubusercontent.com/iberi22/xavier/main/install.sh | bash- Belief Graph & GraphRAG — Hierarchical memory with semantic relationship mapping for deep context.
- Native Security Scanner — Built-in multi-layer protection against prompt injection and sensitive data leaks.
- HTTP API — JSON REST endpoints for memory CRUD with token-based auth.
- CLI Client — High-performance
add,search, andstatscommands. - MCP Server — stdio-based Model Context Protocol server.
- TUI Setup Wizard — Interactive installer (6 steps) for Windows, Linux, and macOS.
- Service & Daemon Support — systemd (Linux) and Scheduled Tasks (Windows) for background execution.
- Chronicle Workflow — Automated harvesting of project activity to generate technical documentation.
- Plugin System — Extensible enterprise integrations (PgHeart).
┌─────────────┐ ┌──────────┐ ┌──────────┐
│ CLI │ │ HTTP │ │ MCP │
│ (add/search)│ │ Server │ │ (stdio) │
└──────┬──────┘ └────┬─────┘ └────┬─────┘
│ │ │
└──────────────┼──────────────┘
│
┌───────▼────────┐
│ Core Engine │
│ (add, search, │
│ stats, │
│ export) │
└───────┬────────┘
│
┌───────▼────────┐
│ SQLite Store │
│ + Vector │
│ Embeddings │
└────────────────┘
The three entry points (CLI, HTTP, MCP) share the same core engine, which handles memory operations over a SQLite-backed store. Each entry point is independent — you can run the HTTP server, use the CLI against it, or connect the MCP server to any MCP-compatible host.
Generate a public, read-optimized dataset for agent context without cloning or rebuilding:
xavier export --publicOutput lives in xavier-dataset/ at the repository root with NDJSON files for memories, entities, timeline events, git commits, code symbols, and more.
Example agent bootstrap from GitHub raw:
BASE="https://raw.githubusercontent.com/iberi22/xavier/main/xavier-dataset"
curl -fsSL "$BASE/dataset_manifest.json"
curl -fsSL "$BASE/memories.ndjson" | head -n 20
curl -fsSL "$BASE/code_symbols.ndjson" | jq -c 'select(.kind == "function")' | headFull export schema is documented at docs/FEATURE_STATUS.md.
curl http://localhost:8006/health
curl -X POST http://localhost:8006/memory/add \
-H "X-Xavier-Token: $XAVIER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content":"Design decision: use RRF","path":"decisions/001"}'
curl -X POST http://localhost:8006/memory/search \
-H "X-Xavier-Token: $XAVIER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"design decision","limit":5}'Full API reference: docs/site/src/content/docs/reference/api.md.
Start the MCP stdio server:
xavier mcpCurrent MCP tools: search, add, stats.
Xavier will expose a public export pipeline through:
xavier export --public \
--huggingface-repo iberi22/xavier-dataset \
--huggingface-token $HUGGINGFACE_TOKENThe export protocol splits lightweight public context from heavy analytical artifacts:
- Generate NDJSON manifests and JSON schemas, then commit them to GitHub in
iberi22/xavier-dataset. - Generate Parquet files for embeddings and metrics, a complete
.sqlite3snapshot, and vector indexes such as.lance/or.faiss. - Upload the heavy artifacts to the Hugging Face dataset
iberi22/xavier-dataset. - Include Hugging Face artifact URLs inside the NDJSON records committed to GitHub.
Use GitHub raw URLs for lightweight agent context and Hugging Face for larger downloads.
| Layer | Location | Contents | Typical size |
|---|---|---|---|
| Manifest + context | GitHub raw | NDJSONs, schemas | ~1-10 MB |
| Analytical data | Hugging Face | Parquet files for embeddings and metrics | ~50-500 MB |
| Database + vectors | Hugging Face | .sqlite3, .lance/, .faiss |
~100 MB-2 GB |
See the full public export reference in docs/site/src/content/docs/reference/export.md.
Runtime configuration lives in config/xavier.config.json. Secrets go in .env (see .env.example).
| Variable | Default | Description |
|---|---|---|
XAVIER_TOKEN |
required | Authentication token for HTTP API |
XAVIER_CONFIG_PATH |
auto-resolved | Path to xavier.toml. Defaults to XDG_CONFIG_HOME/xavier/xavier.toml or config/xavier.config.json. |
| Provider keys | unset | External API credentials (e.g. embedding providers) |
- Agent Rules — Canonical instructions for optimal agent memory integration
- Installer & Setup — TUI wizard screenshots and install guide
- Feature Status — Current verified surface and 1.0 gaps
- CLI Reference — Full command documentation
- API Reference — HTTP endpoint details
- Architecture — System design and hexagonal architecture
- Public Release Roadmap — Upcoming milestones
Current release: 0.6.1-beta (Development). All core systems (Security, Belief Graph, Hierarchical Memory) are stabilized and verified.
MIT — see LICENSE for details.