Built in the open. Shipped in production.

These are the four Rust crates that let Sery read your private PDFs, contracts, spreadsheets, and folders in-process — without sending the bytes anywhere. They power the desktop agent, they ship to crates.io, and they're yours under MIT or Apache 2.0.

Published to crates.ioPure Rust, no FFI surprisesUsed by Sery Link in production

scankit

Walk + watch + filter directory trees.

The shared scanner Tauri / Iced / native desktop apps reach for when they need to enumerate user files. walkdir + globset + size cap + (optional) notify, with the edge cases (symlink loops, permission denials, mid-walk deletes) handled in one place.

cargo add scankit
v0.3·API stability candidate (1.0 prep)
0·1mo ago

tabkit

Tabular files → schema + sample rows + row count.

One in-process Reader trait for Parquet, CSV, XLSX, XLS, XLSB, XLSM, ODS. No external query-engine roundtrip, no Arrow conversion — schema and samples come back in one call. Built for desktop apps that need to inspect spreadsheets without spawning a sidecar.

cargo add tabkit
v0.4·Production
0·1mo ago

mdkit

Documents → markdown. One trait, every format.

PDF (libpdfium), DOCX / PPTX / EPUB / RTF / ODT (pandoc subprocess), HTML (html2md), IPYNB (serde_json), with Apple Vision and Windows.Media.Ocr fallbacks for scanned pages. Replaces the markitdown Python sidecar with in-process Rust.

cargo add mdkit --features "pandoc,ocr-platform"
v0.7·Production
5·9d ago

sery-mcp

Folder → MCP server. One binary, any LLM client.

Standalone stdio MCP server you point at any folder. Wraps scankit + tabkit + mdkit behind nine read-only tools (list_folder, search_files, get_schema, sample_rows, read_document, query_sql, …) so Claude Desktop, Warp, Cursor, or Continue can browse your files without uploading them. No account, no cloud round-trip — install with cargo and it runs on the user's machine.

cargo install sery-mcp
v0.4·Production
0·1mo ago

Why we open-source these

Every desktop app reinvents this wheel

Every “index files on the user's machine” project — RAG tools, search apps, backup utilities, document assistants — rebuilds the same five hundred lines of walkdir-with-excludes-and-size-cap glue. Every project gets it slightly wrong. We shipped it once, with the edge cases handled in one place.

Audit > promise

Sery Link claims your raw files never leave your machine. The kits are how that claim is enforced. Open-sourcing them means anyone can verify what scankit walks, what mdkit reads, what tabkit returns — and what they don't.

Community > maintenance burden

Document parsing has thousands of edge cases (encrypted PDFs, exotic CSV delimiters, malformed XLSX, IPYNB cell variants). A single team can't cover them all. Sharing the code means the bug fixes benefit everyone — including us.

Reuseable > re-implemented

If you're building a Tauri / Iced / native Rust desktop app and need to enumerate or extract from user files, install three crates and you're done. We did the work; we'd rather more people built privacy-respecting local-first software than less.

Used in production

The kits power Sery Link — every CSV / Parquet / XLSX read goes through tabkit, every PDF / DOCX / HTML through mdkit, every folder walk through scankit, and Sery Link's built-in --mcp-stdio mode wraps sery-mcp. They're not toys; they're the production extraction layer of a desktop app shipping to consumer machines.

Each kit's public API is committed to via #[non_exhaustive] forward-compatibility and SemVer. 1.0 cuts once each kit has been exercised by at least one downstream production user besides Sery Link itself — bug reports + feature requests land via GitHub Issues on the respective repo.

What's open, what's not

Open source

The kit family (this page) under MIT / Apache 2.0. Plus the entire Sery Link desktop app itself under AGPL-3.0 — every line of code that touches your files lives at github.com/seryai/sery-link.

Closed source (the business)

The cloud coordination layer that lets your machines share a workspace, sync metadata, and route plain-English queries across them. The network is the product; the desktop app and the kits are the means by which the network stays honest.

Use them, contribute to them.

Bug reports, format-coverage PRs, and downstream-production stories all welcome. Drop a star if you find them useful — it helps other developers find them.

Built and maintained by the Sery team.