Private document search, for you and your agents

One binary watches your folders and serves cited passages from every document on your disk, to you and to any MCP agent. Nothing leaves your machine.

run this in your terminal, or download from GitHub

haypile

Give your agent your documents

Every agent session starts amnesiac, and reading 300 documents into context burns the tokens your task needed. One line gives Claude Code or Cursor an index instead: the top passages in a kilobyte, from your whole disk, fresh in every session.

claude mcp add --transport http haypile http://localhost:11500/mcp
Connect Claude Code
$ claude mcp add --transport http \
    haypile http://localhost:11500/mcp
Added HTTP MCP server haypile

$ claude
> what does the vendor deal say
  about payment?
⏺ search_documents("payment terms")
  Invoices are due net-45
  [vendor-deal.docx (chunk 3)]...

Everything on your disk, searchable

Grep matches strings and gets nothing from a PDF. Haypile extracts and embeds every document once, scanned pages included via your local vision model, then watches the folder: ask for agreement cancellation and the termination clause surfaces in milliseconds, page cited, nothing re-read.

Learn about search
$ hay add ~/contracts
Indexed 214 files (1,892 chunks).
Embedded 1,892 chunks for search.

$ hay search "agreement cancellation"
 1. vendor-deal.docx (chunk 2)
    Either party may terminate this
    Agreement with sixty days notice.
 2. vendor-agreement.pdf (page 1)
    This Agreement may be terminated
    by either party...

Answers with receipts

Your local LLM answers from the retrieved passages and cites the file and page for every claim, so a wrong answer has nowhere to hide. Fully offline: it works on a plane, and on documents that are not allowed near a cloud. Prefer a stronger model? Bring your own API key; only the retrieved passages for that one question are sent, and only because you asked.

Set up hay ask
$ hay ask "what notice period applies?"
Answering with llama3.2...

The vendor agreement requires a 60-day
written notice period for termination [1].

Sources:
  [1] vendor-deal.docx (chunk 2)
  [2] meridian-msa.pdf (page 4)

Your documents stay yours

Client files, medical records, anything under NDA: some documents must never leave your machine. The model ships inside the binary, the index is one SQLite file on your disk, and even OCR of scanned pages runs against a model on your machine, never a cloud. hay status proves the outbound count is zero.

How privacy is verified
$ hay status
Daemon:   running (up 3d 4h)
Index:    ~/.haypile/haypile.db
Indexed:  3 sources, 1,214 files
Model:    bundled/all-MiniLM-L6-v2
Outbound connections: 0

Get started with Haypile

then read the two minute tutorial