Document Agent-Readiness Checker
Paste a contract, an invoice, or the email it arrived in. See what an AI intake agent would extract, where it would stall, and what it would have to ask a human — plus the JSON it would hand to the next step. Free, no signup, and the text never leaves your browser.
✅ Extracted with confidence
⚠️ Where the agent stalls
❓ What it would ask you
What the agent hands to the next step — the extract_document result
09/03/2026 is flagged as ambiguous rather than silently read as September. Like every page here, analytics counts the visit and the score band — never the text.
Built and maintained by Alec Zakhary. If it misreads a clause you'd expect any agent to get, that's a bug worth reporting.
What the agent just did — and what it does at scale
An AI intake agent for documents runs five steps on everything that lands in a shared mailbox, and the checker above is a small, transparent version of the third one. The full walkthrough, with what breaks at each step, is here →
- Capture. Pull the attachment out of the email, the email out of the thread, the text layer out of the PDF. Scans go to OCR first — an agent cannot read pixels.
- Classify. Contract, invoice, order form, amendment, or noise. Nothing downstream works if this is wrong, so a good agent reports a confidence, not just a label.
- Extract. Parties, amounts, dates, the term, the renewal mechanics, the notice period, references to other documents. This is what the score above measures.
- Link. Attach the invoice to its contract, the amendment to its original, the order form to the MSA it hangs off. A document with no links is a filing, not a record.
- Route. Decide what happens next — register and watch a deadline, send for approval, ask a human — and hand it a structured payload rather than a PDF.
How the score is built
Five dimensions, weighted by how often their absence stops an agent cold. A document can be perfectly legible to a person and still score badly: the score measures whether the facts an agent needs to act are present and unambiguous, not whether the writing is good.
| Dimension | Weight | What earns points |
|---|---|---|
| Identity | 20 | A recognisable document type, a unique reference number, a document date, a version or revision marker. |
| Parties | 20 | Both counterparties named as legal entities with their roles (provider/customer, vendor/bill-to), not just a first name in an email. |
| Money | 20 | An amount with an explicit currency, a cadence (per month / per year / one-off), and payment terms. |
| Dates & terms | 25 | Effective date, term length, an expiry or renewal date, and — if it auto-renews — a notice period with its counting rule and when notice takes effect. |
| Routing | 15 | Signature status, an internal owner or cost centre, a purchase order or reference that ties it to something already in the system. |
Penalties on top: a date without a year, a day/month order that can be read two ways, an amount with no currency, a DRAFT watermark, a reference to an exhibit that isn't attached, and text so short it was probably a scan. 80 and above is agent-ready; 55–79 needs cleanup; below 55 the agent stalls and a person has to finish the job.
The agent-readiness checklist for a business document
If you control the template — your own order forms, your own invoices, the MSA you send out — these ten items are the difference between a document an agent files in seconds and one it escalates.
- A unique reference number on the first page, in a labelled field (
Agreement No.,Invoice #). - Every date written with a four-digit year, and month names rather than numbers where the audience is international.
- Every amount with an ISO currency code (
USD 24,000, not$24,000). - Both parties' full legal names and roles in the opening paragraph or header block.
- The term stated as a length and as a date (twelve months, ending 28 February 2027).
- The renewal mechanics in one clause: does it renew, for how long, and how much notice — in calendar or business days.
- When notice counts as given: on sending or on receipt. This one decides the deadline.
- Payment terms as a number of days (
net 30), and the purchase order it bills against. - Signature status visible in the text, not only in a scanned signature block.
- Exhibits and schedules attached to the same file, or at least referenced by number so an agent can ask for the right one.
What the agent needs from the DMS — not the document
Half of what makes a document "agent-friendly" isn't in the document at all. It's in the system that holds it. A PDF in a shared drive gives an agent a blob. A document management system built for agents gives it an object: an ID, a version history, a status, links to related records, and an owner. In practice that means the DMS exposes a small, predictable toolset — over MCP or an equivalent — and the agent composes its work from these calls.
| Tool | What it answers | Why a file share can't |
|---|---|---|
list_documents | What arrived since I last looked, filtered by type, status, party, or deadline window. | Folders have no "since" and no status. |
get_document | The full record: text, fields, version, status, links, owner. | A file has a name and bytes. |
extract_document | Structured fields with per-field confidence — the JSON shown above. | There is nothing to extract into. |
find_related | The MSA behind this order form, the invoices under this contract, the amendment that changed clause 3. | Relationships live in someone's head. |
request_approval | Route to the right approver by amount, category, or cost centre; return a ticket, not a hope. | Approval is an email thread. |
get_approval_status | Approved, rejected, waiting on whom, since when. | See above. |
file_document | Commit to the registry with fields, links, and a watched deadline; get back an ID the agent can cite. | Saving a file creates no obligation. |
The extract_document payload the checker prints is the contract between steps three and five: whatever runs the routing never sees the PDF, only this. That is what makes the pipeline testable, and what lets a human correct one field instead of re-reading forty pages.
Frequently asked questions
What data can an AI agent extract from a contract?
Reliably: the parties, the effective date, the term, the fees and their cadence, the renewal and notice clause, the governing law, and references to other documents. Less reliably, and worth a human check: anything that depends on a definition elsewhere in the document, anything in an exhibit, and any clause written in deliberately open language ("reasonable notice", "mutually agreed"). A good agent reports which is which rather than flattening both into the same confidence.
How does an AI agent read a PDF?
It reads the text layer. A PDF exported from Word has one; a scan does not, and needs OCR first, which introduces its own errors — 0 for O, a dropped decimal point. Agents that work on documents at scale run OCR as a separate step with its own confidence, and treat a scanned contract as a lower-trust source until a person has checked the numbers.
Can an AI agent approve an invoice?
It can decide that an invoice matches — the vendor is known, the amount is within the contract, the PO exists, the period hasn't been billed before — and route it straight through when your policy allows that. Whether the agent itself is the approver is a policy choice, not a technical one. Most teams let the agent approve below a threshold and route everything above it to a named person, with the agent's reasoning attached.
What is an MCP server for document management?
A small service that exposes a document system to AI agents as callable tools — list, get, extract, link, route, file — using the Model Context Protocol, so any MCP-capable agent can work with your documents without a bespoke integration. The seven tools in the table above are a reference shape; the important property is that every call returns structured records with IDs, not files.
Does this tool send my document anywhere?
No. The analysis runs entirely in your browser; there is no upload, no API call, and no signup. The site runs analytics that records the page visit and the score band, so the visit isn't invisible — but the text you paste is never part of it.
Why did a perfectly good contract score 70?
Usually one of three things: the dates are written 03/01/2026, so the agent cannot tell March from January; the amounts use a bare $, which is five currencies; or the renewal clause says it auto-renews but the notice period is defined somewhere else. None of these confuse a lawyer. All of them stop an agent, and each is a one-line fix in the template.
One document is a checker. A mailbox is an agent.
This tool shows what intake looks like for one document, and it will keep doing that for free. The real version connects your contracts@ or invoices@ mailbox, runs these steps on everything that arrives, files each document into a registry with its dates and amounts already extracted, and routes the ones that need a decision to the person who makes it — with the questions above already answered or already asked.
Private beta, rolling invites. We'll email you about access — this tool stays free either way, and we won't send you anything else.