Why you'd want it
XERJ is one Rust binary that indexes code, docs, logs, JSONL/CSV and PDFs and serves BM25, vector and hybrid search behind an Elasticsearch-compatible API. Running xerj autoindex <folder> sniffs each file and creates one index per dataset with no schema to write, and source files go through tree-sitter so code arrives with symbols and line numbers. xerj mcp is an MCP stdio server that proxies to the local node and exposes seventeen tools, including search, hybrid search, memory store and recall, and code search.
Best for
- Letting an agent search a local codebase by passage
- Agent memory recalled across sessions
- Querying logs and JSONL/CSV with Elasticsearch syntax
Use it when
You want a coding agent to query an index of your project, docs or logs through MCP instead of grepping and reading whole files, with the data indexed locally.
Skip it if
The quick start runs the node with --insecure, which the README says turns off TLS and API-key auth so every caller that can reach the port can read and delete every index; it is meant for one user on a dev machine, and a shared host needs the auth-on start with an API key. The installer is a curl | sh script. The optional rerank search stage sends result text to TypeSafe AI's servers once you set a key. The default embedder is lexical, and the neural embedder is opt-in with a download of about 90 MB. The README says passage search for coding is neutral to harmful on popular public libraries the model already knows, and the latest release is a release candidate (v1.0.0-rc.97).
Editor's note
Windows install uses PowerShell: irm https://xerj.org/get.ps1 | iex. After install, xerj mcp needs a running node; the README MCP config block shows the client setup.