PlugWiki
XERJ logo

XERJ MCP Server: Setup for Claude, Cursor and Other Apps

OfficialLocal

Lets Claude, Cursor and other assistants search your local code, docs and notes and cite the file and line.

XERJ is a search engine that runs on your computer. Its MCP server is the same program, started with the mcp argument. It queries a XERJ node that must already be running, and it does not start one. The node listens on localhost, and a development node started with the README command has no password.

This server does more than search. It can store memories and delete indexed folders, and one tool sends a field report to the XERJ project by default.

Good for

  • Developers who want an assistant to search a large codebase without reading every file
  • Teams who keep specs, docs and logs locally and want cited answers
  • Agent builders who need local memory the assistant can store and recall

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install XERJ MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the XERJ MCP server to Claude Code. Run this command:
    
    claude mcp add xerj -- xerj mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires xerj binary installed, A running XERJ node.

Install xerj first with the installer in the README, then start a node with the README's xerj --insecure --data-dir ~/xerj-data & command. Replace /abs/path/to/xerj with the real path, shown by command -v xerj.

From the project README. Source.

Tools

  • Searches your indexed code and docs

    Keyword search over an index of your files. Plain words rank the file that defines a symbol above files that only mention it, and results give the file and line.

    Try: “Where do we rotate the WAL segment?”

    Read · xerj_search

  • Finds where a symbol is defined

    Looks up a symbol in your locally indexed data and returns the declaration with its file and line.

    Try: “Where is euler_to_rotationmatrix defined?”

    Read · xerj_def

  • Runs up to 50 searches at once

    Searches 1 to 50 identifiers or questions in one call and returns results in input order, with citations. It retrieves evidence and does not write answers.

    Try: “Look up these 20 function names and cite the files.”

    Read · xerj_batch_search

  • Shows how other projects solved a problem

    Searches a corpus of other codebases and returns the matching definition, the file and line to cite, and a licence warning for each hit.

    Try: “How did other projects implement a retry policy?”

    Read · xerj_code_search

  • Finds text by meaning

    Searches a semantic field by meaning. The server embeds your query itself, with no outside API key. The default embedder is lexical, not neural.

    Try: “Find notes about slow database queries.”

    Read · xerj_semantic_search

  • Finds near matches to a vector

    Runs a nearest-neighbour search on a vector field using a vector you supply.

    Try: “Find the 5 nearest items to this embedding.”

    Read · xerj_vector_search

  • Combines keyword and meaning search

    Fuses several sub-queries, such as keywords plus a vector, into one ranked list.

    Try: “Search for payment errors using keywords and meaning together.”

    Read · xerj_hybrid_search

  • Turns a plain request into a query

    Turns a plain-words filter into a validated search query you can send to the search tool. It is rule-based, not an AI model.

    Try: “Build a query for events deeper than 100 km.”

    Read · xerj_plan

  • Lists the fields of each indexed folder

    Reads the local index catalog and lists each index with its record count, time range and field names, so the assistant stops guessing field names.

    Try: “What fields can I query in my indexes?”

    Read · xerj_map

  • Checks that the XERJ node is up

    Reports whether the node is running, its health, the number of indexes and the first 20 index names.

    Try: “Is XERJ running, and what is indexed?”

    Read · xerj_status

  • Estimates an index before building it

    Counts the files and bytes in a folder by type and compares them with free disk space, before anything is indexed.

    Try: “How big would indexing ~/projects be?”

    Files · xerj_index_budget

  • Deletes one indexed folder

    Deletes the indexes and catalog rows for a folder you indexed. Without confirm set to true it returns the plan and deletes nothing.

    Try: “Remove the index of my old-notes folder.”

    Delete · xerj_autoindex_remove

From the official docs

Permissions

high risk · 4 things to watch

High risk

The assistant can search everything you index, store memories, and delete indexed folders. Run the node on localhost only and read the plan before confirming any delete.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It can delete indexed folders

    One tool deletes the indexes for a folder you indexed. It deletes nothing unless confirm is true, so read the plan it shows before the assistant confirms. github.com

  • One tool sends reports by default

    The field report tool posts to xerj.org or opens a GitHub pull request, and its description says it sends without asking. Set XERJ_DISABLE_FEEDBACK=true to turn this off, as the README mentions. github.com

  • The dev node has no password

    The README starts the node with --insecure, which turns off encryption and auth, so every caller can do everything. Keep the node on localhost or turn auth on. github.com

  • Hosted hub answers leave your machine

    Hub questions use local packs first and hosted ones second. Do not ask about private topics. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only switch is documented. Read, write and delete tools are all exposed.
Talks toYour XERJ node, default http://localhost:9200. xerj.org and GitHub (field reports). hub.xerj.org (corpus feedback and hosted hub answers)
Sign-in and keysNo account. The node address goes in XERJ_URL. If the node has auth on, put the key in XERJ_AUTH; the README says it is in the data folder's admin.key.
Scopes
  • XERJ node (XERJ_URL, optional XERJ_AUTH key)

Questions

Do I need to install anything besides the MCP config?

Yes. You install the xerj program and start a node first. The MCP command only connects to that node and does not start one.

Does it send my code anywhere?

Searches run against your own node. Two tools send data out by default: a field report to xerj.org or GitHub, and corpus feedback to hub.xerj.org. Hub questions may use hosted corpora.

Do I need an API key?

No for a local dev node. If your node has auth on, set XERJ_AUTH to the key from the data folder.

Can it delete my files?

It can delete the search indexes of a folder you indexed, with a confirm step. The source does not show it deleting the original files.

Can I run it read-only?

No read-only switch is documented. Pick the search tools you want in your app and leave the rest off if it lets you.

Which apps does it work with?

Any app that runs local stdio servers. The README lists 26 clients and marks only a few as tested, including Claude Code and Cline. Run xerj init to wire up Claude Code or Cursor.

How many tools does it have?

The source defines 23: 20 core tools and 3 hub tools. The README says all 23 are exposed when Hub tools are enabled, and its Claude Code test of one build listed 22. Your build may show fewer.

Information

updated Nov 2, 2026

Publisher
Official
Transport
stdio
Auth
token in env
Version
1.0.0-rc.99
License
Apache-2.0
Last commit
Oct 31, 2026
Open issues
74
Listed in
Official MCP registry

WebsiteGitHubOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 2
  1. github.com · github.com
  2. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.