@hunterstrategy/sift
v0.3.1
Published
Token-efficient structured MCP retrieval over code, docs, and tabular data.
Readme
@hunterstrategy/sift
Token-efficient, structured retrieval over code, docs, and tabular data, exposed to AI agents via MCP. Instead of reading whole files, sift parses sources into addressable units — sections, symbols, rows — and serves back exactly the one unit requested. search returns lightweight headers and IDs; retrieve fetches the byte-exact unit, hash-verified. Models spend context on content, not navigation.
Install
Requires Node.js ≥ 22.13.
npm i -g @hunterstrategy/sift
sift-initsift-init writes a single global sift server entry into your AI client's MCP config (Claude Code, Claude Desktop, Cursor, …). Run it once, from anywhere. Your client then launches the server itself, and a project indexes itself the first time you reference it — no per-project setup.
sift keeps one personal index at ~/.sift that spans every project you've referenced.
Binaries
| Binary | Purpose |
|---|---|
| sift-all | MCP server — all three domains + cross-domain join |
| sift-docs | MCP server — docs domain only |
| sift-data | MCP server — data domain only |
| sift-code | MCP server — code domain only |
| sift-init | Write or merge sift into your AI client's MCP config |
| sift-index | Index (or refresh) a project directory on demand |
| sift-watch | Watch a root directory and re-index on change |
| sift-doctor | Report index health: drift, missing files, schema version, dead roots. --reindex clears stale indexes after a schema bump; --prune removes indexes for projects that no longer exist |
Server binaries accept an optional path argument (sift-all /path/to/project); omitting it defaults to the current directory.
Supported formats
| Domain | Formats |
|---|---|
| Docs | Markdown, HTML, MDX, RST, AsciiDoc, OpenAPI, JSON, XML, Jupyter Notebooks, PDF, Word (.docx) |
| Data | CSV, TSV, Excel (.xlsx), Parquet, JSONL/NDJSON |
| Code | TypeScript, JavaScript, Python, Go, Java, Rust, C#, Bash, HCL/Terraform |
For PDF and DOCX, retrieve returns extracted text rather than a raw byte slice; those units are marked contentMode: "derived-text". A scanned, image-only PDF yields a single unit flagged extractable: false rather than silent empty content.
MCP tools
discover, search, retrieve, describe, rows, join, semantic-search, index.
License
MIT © Hunter Strategy LLC
