Home · Guides

One 40-page scan, eleven documents

A batch scanner produces one file. The documents inside it need to go to different places. Here is the sequence that takes it apart without opening anything.

1. Find out what is in there

How many pages is scan-2026-09.pdf, and pull the text off each page.

Paste this into Claude with the server connected.

pdf_count then pdf_text, both free and unmetered. The text layer is what tells you where one invoice ends and the next begins, because every first page carries a document number and a date and the continuation pages do not.

If pdf_text comes back empty, stop. The scan is images and there is no OCR in this repository. The honest options are rescanning with text recognition on, or splitting by page number after looking at the file yourself.

2. Pull out the ranges

Extract pages 1 to 3 of scan-2026-09.pdf as acme-invoice-0912.pdf.

Paste this into Claude with the server connected.

pdf_pages for a range you name, pdf_split to break the file apart wholesale. Free covers edits on files up to 30 pages, so a 40-page scan needs Pro, or a first split into halves using page ranges, which is itself an edit and subject to the same limit. That is a real friction and it is better said than discovered.

3. Fix the ones that came in sideways

Rotate page 4 of acme-invoice-0912.pdf 90 degrees clockwise.

Paste this into Claude with the server connected.

pdf_rotate. Free. Page reordering is Pro.

4. File them

Once each document is its own file, the rest of the collection can take over. A supplier invoice becomes a purchase order receipt with purchase_order_receive on the billing-docs server. A receipt becomes an expense with receipt_attach, which stores the path and a sha256 of the file so an audit can prove the document has not changed since you attached it. That hash is worth knowing about: it is the difference between a receipt you filed and a receipt you can defend.

What this cannot do

It cannot tell you what a page says if the page is a photograph. It cannot find document boundaries by looking at the layout. It cannot rename files from their contents on its own, although the model reading pdf_text output can suggest names and you can accept them. Everything here works on the text layer or on page numbers, and being clear about that is more useful than a claim that would fail on the first sideways receipt.

Free and Pro figures from data/facts.json. Ten tools on the PDF server, from data/tools.json.

Questions

How do I know whether my scanner adds a text layer?

Run pdf_text on one page. Text comes back, or nothing does. That takes one call and settles it, and it is free on every tier.

Can it split on a keyword rather than a page number?

Not as one call. The model reads pdf_text, works out which pages start a new document, and then issues pdf_pages calls for each range. That is two steps rather than one and it works, provided there is a text layer.

Is the original modified?

No. Every operation writes a new file at the path you name. The source is left as it was, which matters when the source is the only copy of something a client sent.

What about password-protected PDFs?

A file that needs a password to open cannot be read, and the tool says so rather than returning empty pages. Remove the protection in whatever produced it first.

Related

All MCP servers and prices · All guides · Buy the bundle $39