xavierBLOCK
Xavier — Rust vector memory & knowledge graph for AI agents (HTTP/CLI/MCP). Powers SWAL communal context
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.gnu.org/licenses/agpl-3.0.html) [](https://github.com/iberi22/xavier) [](https://github.com/iberi22/xavier/actions/workflows/ci.yml) [](https://www.rust-lang.org/)
Xavier is a high-performance, Rust-based vector memory runtime for AI agents with native HTTP REST, CLI, and Model Context Protocol (MCP) entry points. It manages vector embeddings, hierarchical context graphs, and semantic relationships using a robust SQLite-backed store (sqlite-vec), granting agents sub-millisecond contextual recall without external service dependencies.
🚀 Quick Start
1. Build & Installation
Ensure you have Rust (1.91+) installed.
# Clone repository git clone https://github.com/iberi22/xavier.git cd xavier # Build release binary cargo build --release # Or install binary locally to PATH cargo install --path . --locked
For platform-specific installation options (such as Windows Scheduled Tasks or Linux systemd setup), see Installer Guides.
2. Environment Setup
Configure master credentials and target workspace path:
export XAVIER_TOKEN=your-secure-token export XAVIER_WORKSPACE_DIR=.
3. Launching Services
Xavier provides unified daemons for HTTP REST and MCP interfaces:
# Start HTTP REST server on port 8006 and MCP HTTP+SSE on port 8100 xavier http # Start HTTP REST server only (disabling MCP HTTP port) xavier http --mcp-port 0 # Start MCP stdio server for Cursor, Claude Desktop, or CLI integration xavier mcp
4. Basic CLI Usage
# Add a memory fragment xavier add "Architectur
1d635eeb1870OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add ui --env GH_TOKEN=${GH_TOKEN} --env GITHUB_TOKEN=${GITHUB_TOKEN} --env PI_TOKEN_FILE=${PI_TOKEN_FILE} --env XAVIER_API_KEY=${XAVIER_API_KEY} -- npx -y @swal/[email protected]{
"mcpServers": {
"ui": {
"command": "npx",
"args": [
"-y",
"@swal/[email protected]"
],
"env": {
"GH_TOKEN": "${GH_TOKEN}",
"GITHUB_TOKEN": "${GITHUB_TOKEN}",
"PI_TOKEN_FILE": "${PI_TOKEN_FILE}",
"XAVIER_API_KEY": "${XAVIER_API_KEY}"
}
}
}
}Exposed tools (16)
12 read · 3 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
agent_heartbeat | write | Send heartbeat for an agent |
agent_list | read | List active agents |
agent_push_context | write | Push context document to an agent |
agent_register | read | Register a new AI agent |
agent_unregister | read | Unregister an agent |
code_context | read | Get surrounding context for a code symbol |
code_find | read | Find code symbols by name, kind, or file path |
code_scan | read | Scan a codebase and index symbols into the code graph |
code_stats | read | Get code graph statistics |
codegraph | read | Colby McHenry CodeGraph Engine — Fast Tree-sitter symbol graph & AST indexing |
memory_add | write | Add a new memory entry with metadata and zone tagging |
memory_delete | destructive | Delete a memory entry by path |
memory_export | read | Export all memories as JSON |
memory_search | read | Search memory with semantic + lexical hybrid search |
memory_stats | read | Get memory statistics and counts |
rtk-kernel | read | RTK Kernel Proxy plugin for real-time kernel acceleration and routing. |
Trust audit
BLOCKgrade F · trust 22/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (18 observation(s))
- Network
- declared (21 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
assert_eq!(mask_key("sk-ant-api03-abcdef1234567890"), "sk-a...7890");let secret1 = "sk-ant-api03-abcdef1234567890";
let secret = "sk-ant-api03-abcdef1234567890";
detect_secrets("ghp_abcdefghijklmnopqrstuvwxyz1234567890abcd", &mut result);let result = scanner.scan("github token: ghp_abcdefghijklmnopqrstuvwxyz1234567890");const data = yaml.load(content);
ap = argparse.ArgumentParser(description="Xavier brain eval (LoCoMo-style)")
if not eval(expression, {"__builtins__": {}}, {"payload": payload, "len": len, "bool": bool, "isinstance": isinstance, "list": list, "any": any}):let res = validate_no_personal_ssh_key(Some("~/.ssh/id_ed25519"));"id_rsa",
const DENIED_FILE_NAMES: &[&str] = &[".env", ".netrc", ".npmrc", ".pypirc"];
const DENIED_PREFIXES: &[&str] = &["id_rsa", "id_ed25519"];
"id_rsa",
'.env' ... urllib.request
".env" ... urllib.request
".env" ... urllib.request
"169.254.169.254", // IPv4 link-local
"169.254.169.254",
"metadata.google.internal",
assert!(validate_internal_url("http://169.254.169.254").is_err());assert!(validate_internal_url("http://metadata.google.internal").is_err());| Phrase Detection | Aho-Corasick | Injection commands, role switches, jailbreak |
# Security advisories to ignore
gradle-wrapper.jar
icon.icns
Gates applied: critical_finding, instruction_override, no_behavioural_pass.
1d635eeb1870full audit observations/trust-audit/mcp-server/iberi22__xavier.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 1d635eeb1870 | BLOCK | F | 22 | first audit |
Questions
What is the xavier MCP server?
Xavier — Rust vector memory & knowledge graph for AI agents (HTTP/CLI/MCP). Powers SWAL communal context
What tools does xavier expose?
16 in total: 12 read-only, 3 that write, and 1 that can delete or overwrite (memory_delete). Every one is listed on this page with its risk.
Is xavier safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (22/100) and found 23 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does xavier need?
It reads GH_TOKEN, GITHUB_TOKEN, PI_TOKEN_FILE, XAVIER_API_KEY, XAVIER_TOKEN and XAVIER_TOKEN_FILE from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (1d635eeb1870), read on 2026-10-11. The repository is watched and re-audited when it changes.