xerj-org/xerj
A local Rust search engine and MCP server so coding agents retrieve cited passages instead of grepping whole files.
The problem
Coding agents still explore a repository the way a person with grep does: match a pattern, pull whole files into context, read around to find the answer. On large trees or unfamiliar dependencies that means a lot of input tokens spent on code the model never needed. XERJ indexes a folder once into a local search node — code, docs, logs, CSV/JSONL and PDFs — and exposes ranked passages with file:line citations over MCP, so the agent asks a question and gets the snippet rather than the file.
What's different
The usual alternatives are grep-based tooling, a hosted search service, or pasting context manually. XERJ's bet is packaging: one static binary with BM25, vector and hybrid search, an Elasticsearch-compatible API, and an MCP server in the same process, so there is no JVM or separate service to operate. The default embedder is lexical and offline, with the neural one opt-in. Its other distinct move is "reference coding" — cloning and indexing open-source repos near the task so the agent reuses prior solutions. That is an approach, not a feature, and it changes how you think about what belongs in the index. The README's 2.7x token-reduction study is self-published on 8 tasks, so treat it as a hypothesis to verify, not a benchmark.
Who it's for
Individual developers running Claude Code or Cursor on a laptop, and small teams who want search to stay local without standing up Elasticsearch. It fits best when there is a stable, sizable corpus: a monorepo, a docs set, or a log archive. Look elsewhere if you need multi-tenant, authenticated search serving many users — the quick-start --insecure mode disables TLS and API-key auth, and the hardening story is deferred to a docs page. Teams already invested in a managed vector database will not gain much.
Cost of adoption
The README's install path is a shell pipe from xerj.org:
curl -fsSL https://xerj.org/get | sh
Then a data dir, xerj init to wire MCP into the agent, and xerj autoindex. Apache-2.0, Rust, single binary, no JVM. Real costs are operational: keep the data directory out of any tree you index (the README warns the node will index its own storage), decide on the embedder (neural adds a ~90 MB download), and learn the security model before binding beyond localhost. The project also asks for a field-report PR as a kind of membership card, which is unusual and worth knowing before you commit.
Verdict
XERJ is young — created in June 2026, so roughly four months old at the time of these signals — yet it has already collected about 15.2k stars and is moving fast on HotRepo's Rust boards: #2 weekly at +7,783 and #8 monthly at +12,285. That pattern (rapid, recent, board-driven growth with no Hacker News discussion) reads as a spike riding the agent-tooling wave rather than a long-settled project. The architectural choices are coherent and the Elasticsearch-compatibility angle is a genuine differentiator, but the self-reported benchmarks and a security model that starts with --insecure argue for a trial on a scratch corpus before it becomes load-bearing in your workflow.
Written by AI from the project's README, updated October 24, 2026. The project's own docs are the source of truth.