# xerj [Health: Active]

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/xerj-org/xerj  
**GitHub Stars:** 10645  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/xerj

## Description
Local-first search engine and MCP server for AI agents. One Rust binary indexes code, docs, logs, JSONL/CSV and PDFs for BM25 full-text, vector and hybrid search, code search without grep, agent memory and RAG. Elasticsearch-compatible API; Corpus Hub serves hundreds of reference memory corpora.

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What xerj MCP server does

The xerj MCP server gives AI agents search access to locally indexed data. It can process source code, documentation, logs, JSONL, CSV, PDFs, and SQLite data, creating typed, queryable indices without requiring a user-defined schema. Code is parsed with tree-sitter so indexed results can include symbols and line numbers rather than treating every file as undifferentiated text.

Search supports BM25 full-text retrieval, vector retrieval, and hybrid queries. The project also supports code search and definition lookup, making it suitable for finding an implementation, tracing a mechanism, or locating a symbol in a codebase. Results can identify the relevant file and line, which helps an agent request focused context.

This places xerj in the 🔎 Search & Data Extraction category. It can support codebase question answering, retrieval-augmented generation, security audits, reference coding, and agent memory. The repository description also identifies an Elasticsearch-compatible API and Corpus Hub reference corpora.

## How it works

Start the local Rust binary and point its automatic indexing command at a folder. XERJ inspects files, determines their types, skips files it cannot use, and creates an index for each dataset it detects. Indexed records can then be searched through the MCP connection or the command-line interface.

The default embedding mode is lexical and offline. A neural embedder is available as an opt-in mode and downloads approximately 90 MB. The search model can therefore remain local without requiring an external embedding service, while still offering vector or hybrid retrieval when configured.

## Setup and configuration

The documented quick-start flow downloads the binary, starts it with a data directory, initializes MCP wiring, and indexes a project:

```sh
curl -fsSL https://xerj.org/get | sh
xerj --insecure --data-dir ./data &
xerj init
xerj autoindex ~/my-project
```

The `init` command is documented as wiring XERJ into Claude Code and Cursor with MCP and a skill. The `autoindex` command accepts a folder and handles dataset discovery. XERJ is distributed as a single static binary built with Rust, with no JVM requirement stated in the project documentation.

## Tools and capabilities

The xerj MCP server is relevant when an agent needs to:

- Search indexed passages with BM25, vector, or hybrid retrieval.
- Search source code without relying on grep alone.
- Find a definition and return its file, line, and signature.
- Query indexed project, document, log, or data-file content.
- Use indexed material for RAG, codebase Q&A, reference coding, or agent memory.

The command-line examples include `xerj search`, `xerj def`, and `xerj gain`. The repository also describes a `/_memory` namespace for agent memory.

## Limitations and notes

The `--insecure` option disables TLS and API-key authentication. In that mode, any caller able to reach the port is treated as a superuser and can read or delete every index, including memory namespaces. A new node binds to `127.0.0.1`; binding cleartext service to another interface requires an explicit allowance. This mode is intended for one user on a development machine, not an openly reachable service.

Reference-coding benefits depend on whether the model already knows the material. The project notes that retrieval is most useful for private, internal, niche, or post-cutoff code and may add little value for popular libraries already familiar to the model. Neural embeddings also require an optional download, while the default lexical mode remains offline.

_Full upstream README: https://allmcps.com/mcp/xerj/readme_

