# XERJ review

> XERJ is a local-first search engine and MCP server for AI agents, packaged as one Rust binary with an Elasticsearch-compatible API.

Devtoolwatch Board, the week of Oct 25–31, 2026. Canonical page: https://index.devtoolwatch.com/tools/xerj-org-xerj/

## TL;DR

XERJ is a single Rust binary that indexes code, docs, logs, JSONL/CSV and PDFs for BM25, vector and hybrid search, code search and agent memory. It is for developers using coding agents such as Claude Code or Cursor. It focuses on reference coding: indexing related open-source repos so an agent retrieves exact passages instead of reading whole files.

## XERJ at a glance

- **Category:** [RAG, data and memory](https://index.devtoolwatch.com/categories/rag-data-and-memory/)
- **Maintained by:** xerj-org (individual, [@xerj-org](https://github.com/xerj-org) on GitHub)
- **License:** Apache 2.0
- **Language:** Rust, HTML, JavaScript
- **Repository:** [github.com/xerj-org/xerj](https://github.com/xerj-org/xerj)
- **Website:** [xerj.org](https://xerj.org)
- **Latest release:** [pack-rust-vulns-2026-11-01](https://github.com/xerj-org/xerj/releases/tag/pack-rust-vulns-2026-11-01) on GitHub, Nov 1, 2026
- **First published:** Jun 30, 2026

## What XERJ does

- XERJ indexes code, docs, logs, JSONL/CSV and PDFs for BM25 full-text, vector and hybrid search.
- XERJ parses source files with tree-sitter, so code is indexed with its symbols and line numbers instead of flat text.
- XERJ sniffs each file in a folder and creates one index per dataset, with no schema or pipeline to configure.
- XERJ answers go-to-definition queries with xerj def, returning file:line and the signature.
- XERJ stores agent long-term memory under /_memory/{namespace} and recalls it by meaning in later sessions.
- XERJ speaks the Elasticsearch API, so existing clients, dashboards and tooling work against it unchanged.
- XERJ pulls signed, pre-indexed Corpus Hub packs, checking sha256 and an ed25519 signature before extraction.

## How to install XERJ

**Linux and macOS**

```
curl -fsSL https://xerj.org/get | sh
```

**Windows PowerShell**

```
irm https://xerj.org/get.ps1 | iex
```

**With Nix**

```
nix run github:xerj-org/xerj -- --version
```

### Requirements

- Linux, macOS or Windows on x86-64 or arm64. x86-64 builds need x86-64-v2 (SSE4.2).
- Without --insecure, auth is on and autoindex needs --api-key or XERJ_API_KEY, read from <data_dir>/admin.key.
- Neural embedding mode needs three model files staged locally before the first semantic operation. The default lexical embedder works offline.

### First steps

1. Start a local dev node: xerj --insecure --data-dir ~/xerj-data &
2. Run xerj init to wire XERJ into Claude Code or Cursor through MCP and a skill.
3. Index a project with xerj autoindex ~/my-project.
4. Query it with xerj search followed by a plain-English question to get ranked passages with file:line.

## Who XERJ is for

- Developers whose coding agents work with private, internal, niche or post-cutoff code.
- Claude Code, Cursor or other MCP client users who want agents to retrieve passages instead of grepping files.
- Teams who want codebase Q&A, log analysis or security audits through an Elasticsearch-compatible API.
- Agent builders who need persistent long-term memory recalled by meaning.

### Limitations

- XERJ's reference-coding benefit is neutral to harmful on popular public libraries the model already knows, according to the README.
- XERJ's --insecure mode turns off TLS and API-key auth, making every caller that can reach the port a superuser.
- XERJ does not discover or migrate other data directories, and a data directory inside an indexed folder gets indexed itself.
- XERJ reads binary-serialized Unity assets only after Force Text is applied.

## Usage data (the week of Oct 25–31, 2026)

- Board rank: #6 overall, #1 in RAG, data and memory, momentum score 97
- New GitHub stars per week (last 12 weeks): Aug 9: 177; Aug 16: 234; Aug 23: 141; Aug 30: 143; Sep 6: 46; Sep 13: 73; Sep 20: 528; Sep 27: 151; Oct 4: 869; Oct 11: 4.3k; Oct 18: 7.5k; Oct 25: 2.8k

## XERJ alternatives

| Rank | Tool | Stars | Downloads/wk |
|---|---|---|---|
| #2 | [Memvid](https://index.devtoolwatch.com/tools/memvid-memvid/) | 17.3k | – |
| #3 | [LEANN](https://index.devtoolwatch.com/tools/startrail-org-leann/) | 13.7k | – |
| #4 | [Graphify](https://index.devtoolwatch.com/tools/graphify-labs-graphify/) | 140k | 480.7k |
| #5 | [MarkItDown](https://index.devtoolwatch.com/tools/markitdown/) | 193.2k | 4.7M |
| #6 | [Firecrawl](https://index.devtoolwatch.com/tools/firecrawl/) | 197.4k | 2.9M |
| #7 | [Mem0](https://index.devtoolwatch.com/tools/mem0/) | 68.2k | 884.1k |

## XERJ FAQ

### Is XERJ free and open source?

Yes. XERJ's source code is on GitHub (xerj-org/xerj) under the Apache 2.0 license, so you can use it for free. Its website also links to a pricing page (https://xerj.org/pricing/) for any paid plans.

### How do I install XERJ?

Run `curl -fsSL https://xerj.org/get | sh`. The install section above has the other options from the project's README.

### Is XERJ still maintained?

Yes. The xerj-org/xerj repository was last updated on Nov 1, 2026, and the latest release, pack-rust-vulns-2026-11-01 on GitHub, came out on Nov 1, 2026.

### How popular is XERJ?

XERJ has 17.9k GitHub stars as of Nov 1, 2026. It gained 2.8k new stars in the week of Oct 25–31, 2026, against a 12-week average of 1.4k a week. That made it #1 among RAG, data and memory tools on the Devtoolwatch Board.

### What are the best alternatives to XERJ?

Other RAG, data and memory tools on the Devtoolwatch Board in the week of Oct 25–31, 2026, by momentum: Memvid (#2), LEANN (#3), Graphify (#4), MarkItDown (#5), Firecrawl (#6). The alternatives table above has their numbers.

### Which file types can XERJ index?

XERJ indexes code, CSV, JSON, JSONL, XML, YAML, SQLite, PDF, DOCX, PowerPoint, Excel, EPUB, Jupyter notebooks, man pages, HTML, mail and common log formats. Unity projects get per-GameObject records.

### Does XERJ work with Claude Code and Cursor?

Yes. XERJ works with Claude Code, Cursor and any MCP client. The xerj init command wires it into Claude Code or Cursor with MCP and a skill in one step.

### Can I use existing Elasticsearch clients with XERJ?

Yes. XERJ speaks the Elasticsearch API, so existing clients, dashboards and tooling work against it unchanged.

### Is it safe to run XERJ with --insecure?

XERJ's --insecure mode is meant for one user on a dev machine. It disables TLS and auth. A fresh node binds 127.0.0.1 only and refuses a cleartext bind on other interfaces unless you explicitly allow it.

### Can XERJ run without internet access?

Yes. The README links an air-gapped deployment recipe. The default lexical embedder is offline. Neural mode needs three model files staged locally first.

### What is Corpus Hub in XERJ?

Corpus Hub serves pre-indexed, signed reference corpus packs. You pull one with a command such as xerj hub pull rust-vulns, and XERJ verifies the archive before extracting it.

## Sources

1. [xerj-org/xerj on GitHub](https://github.com/xerj-org/xerj)
2. [XERJ README](https://github.com/xerj-org/xerj/blob/main/README.md)
3. [XERJ website](https://xerj.org)
4. [Release pack-rust-vulns-2026-11-01 (Nov 1, 2026)](https://github.com/xerj-org/xerj/releases/tag/pack-rust-vulns-2026-11-01)
5. [Release pack-rust-vulns-d7236e78-r2 (Nov 1, 2026)](https://github.com/xerj-org/xerj/releases/tag/pack-rust-vulns-d7236e78-r2)
6. [Release pack-agent-session-trajectories-13d0fbe1-r13 (Nov 1, 2026)](https://github.com/xerj-org/xerj/releases/tag/pack-agent-session-trajectories-13d0fbe1-r13)
7. [Devtoolwatch Board, the week of Oct 25–31, 2026](https://index.devtoolwatch.com/)
