Home / Search

xerj

AI search engine and MCP server for bots and agents. One Rust binary indexes code, docs, logs, JSONL/CSV and PDFs for BM25 full-text, vector and hybrid search,

FreeShort listing
Visit website

Sign in to rate this tool.

Overview

xerj screenshot

XERJ is a local search engine built as a single Rust binary that lets AI agents retrieve information from codebases, documentation, logs, and other structured files. It offers BM25 full‑text, vector and hybrid search through an Elasticsearch‑compatible API, so existing clients can connect without changes. The tool is released under the Apache‑2.0 license and can be installed with one line of shell code.

The engine is aimed at developers who want their agents to work with project data without building a separate indexing pipeline. You can point XERJ at any folder, run the `autoindex` subcommand, and it will walk the directory tree, sniff file formats, infer field types, and create an index that includes JSONL, CSV (dialect‑sniffed), SQL dumps, SQLite files, PDFs, DOCX, HTML, XML, YAML and gzip archives. Junk files are recorded rather than causing a failure, and the process finishes with a catalog that the agent can query to discover what content is available. Once the index is running, agents can issue `search` or `def` commands: `search` combines phrase matching with AST‑based symbol queries, while `def` returns a definition location and signature for a given symbol in a single call.

Typical usage involves three steps. First, install the static binary on Linux, macOS or Windows (x86_64 or arm64) using the provided curl command. Second, run `xerj autoindex <folder>` to build the index; the command reports the number of files, datasets inferred and records created, and it streams data with idempotent IDs. Third, start the node (`xerj --insecure --data-dir ./.xerj-data &`) and query it via the Elasticsearch API or the built‑in CLI commands. The documentation includes a `llms.txt` guide that walks agents through these steps, and the system can be shared across a team by adding corpus definitions that pin commit SHAs and licences.

Key features

  • Single static Rust binary, no external dependencies
  • Supports thirteen format families, including JSONL, CSV, PDFs and SQLite
  • Elasticsearch‑compatible API for smooth client integration
  • `search` combines phrase and definition‑first queries for precise results
  • `def` returns file location and function signature in one request
  • Indexing records junk files instead of aborting, ensuring robustness

Details

Pricing
Free
Category
Search
Suggest an edit

Sign in to suggest an edit.

Pros and cons

Pros

  • One‑command installation and indexing simplify setup
  • Wide range of file formats covered without needing separate parsers
  • Compatibility with existing Elasticsearch clients avoids code changes
  • Reported token savings when agents use indexed data versus raw file reads
  • Open‑source license permits unrestricted use and modification

Cons

  • No pricing information is provided on the site
  • Benchmarks are described but raw numbers are not included in the listing
  • Requires agents to be able to issue Elasticsearch‑style queries
  • Limited to local execution; no hosted service is mentioned

Alternatives