코딩 에이전트를 위한 로컬 인용 답변 검색 엔진 — 리포지토리의 코드, 문서, 로그를 대상으로
README 링크에서 발견 · 2 days ago
로컬에서 레포를 인덱싱하고 MCP를 통해 AI 에이전트에게 인용된 검색을 제공합니다.
What they did
코딩 에이전트가 무작정 grep하고 파일 전체를 다시 읽는 것을 멈추길 원했기 때문에, 리포지토리의 코드, 문서, 스펙, 로그, PDF를 인덱싱하는 단일 로컬 Rust 바이너리인 XERJ를 세웠다. 리포지토리 루트를 지정하고 제로 구성 자동 인덱스가 트리를 순회하도록 두었더니, Elasticsearch 호환 API 뒤에서 BM25 전문 검색, 벡터 검색, 하이브리드 검색은 물론 코드 검색까지 얻었다. 그다음 내장 MCP 서버를 에이전트 클라이언트(Claude Code / Cursor 스타일)에 등록해서, 에이전트가 ripgrep과 cat을 셸로 호출하는 대신 검색 도구를 호출할 수 있게 했다. 인용 답변 경로를 사용해 에이전트가 파일과 줄 참조가 포함된 특정 청크를 가져오도록 했고, 에이전트 메모리에 기대어 세션 간에 노트를 유지했다. 마지막으로 기준 코딩 작업에서 토큰 사용량을 이전의 grep-and-read 워크플로와 비교했다.
How it went
에이전트는 인용과 함께 레포 질문에 답변했고 컨텍스트로 끌어온 원본 파일 수가 훨씬 적었는데, 프로젝트 자체의 사례 연구에서는 이를 참조 코딩 시 대략 2.7배 적은 토큰으로 설명한다. autoindex는 설정이 필요 없어서 셋업이 빨랐고, Elasticsearch 호환 표면 덕분에 기존 쿼리 습관을 그대로 이어갈 수 있었다. 로컬 단일 바이너리 도구치고 완성도가 좋은 편이지만, 결과는 무엇을 인덱싱하고 어떻게 청킹하느냐에 크게 좌우된다.
Worth knowing
Rust 바이너리를 설치해야 하고 MCP를 지원하는 클라이언트가 필요합니다. MCP 연결 구성과 임베딩 모델 선택이 사람들이 가장 많이 걸려 넘어지는 부분입니다. 벡터 및 하이브리드 검색 품질은 구성한 임베딩 백엔드에 따라 달라지며, 대용량 로그나 PDF 세트를 인덱싱하려면 디스크와 시간이 듭니다. 토큰 절감 수치는 독립적인 벤치마크가 아니라 프로젝트 자체 사례 연구에서 나온 것이므로, 방향성을 참고하는 정도로 받아들이세요.
Wiring
XERJ Rust 바이너리를 설치하세요 (릴리스 빌드 또는 cargo install). 저장소 루트에서 autoindex 명령을 실행하면 코드, 문서, 스펙, 로그, JSONL/CSV, PDF를 순회하여 로컬 인덱스로 만듭니다. 서버를 시작하면 Elasticsearch 호환 HTTP API와 MCP 엔드포인트가 노출됩니다. 에이전트 클라이언트 설정(Claude Code 또는 Cursor)에서 로컬 바이너리/소켓을 가리키는 XERJ MCP 서버 항목을 추가하세요. 선택적으로 벡터 및 하이브리드 검색을 위한 임베딩 백엔드를 구성할 수 있으며, BM25는 추가 설정 없이 작동합니다. 이후 에이전트는 검색 도구를 호출하고 인용이 포함된 순위화된 청크를 받으며, 세션 간 회상을 위해 에이전트 메모리에 기록할 수 있습니다.
Try it yourself
I can't help with this one. XERJ isn't a tool I recognize, and I don't want to invent install commands, CLI flags, or MCP registration details for something I can't verify — that's exactly the kind of thing that leads to broken setups and wasted debugging time. A few honest notes on what's going on here: - **The request assumes a lot of specifics** (a binary named XERJ, a "zero-config autoindex," BM25 + hybrid modes, an MCP server) that I have no reliable knowledge of. If it's a real project, I'd be guessing at every step. - **I also can't run commands in your repo**, install binaries, or execute searches — so even with correct docs I couldn't "confirm" results for you. What I'd suggest instead: 1. **Point me at the actual docs** (README, install page, MCP setup section). With those in front of me I can walk you through the steps accurately and flag anything that looks off. 2. **If you're evaluating options**, I can compare well-known local search / code-indexing backends for coding agents — e.g. ripgrep + a small embedding index, Sourcegraph-style code search, or MCP servers like the ones for Chroma, Qdrant, or sqlite-vec — and sketch a setup that does what you described (index code + docs + logs, return cited chunks with file:line refs, expose over MCP). 3. **If XERJ is something you or your team built**, paste the relevant README/CLI help and I'll help you wire it up and write the MCP registration config for your client (Claude Desktop, Cursor, etc.). Which of those is closest to what you need? If you can share the XERJ docs or a link, I'll take it from there.