Let your AI assistant buy the audits
Everything on this site is also an MCP server, so an assistant such as Claude can quote an audit, pay for it and read the findings back to you. It works inside limits you set with PayPal: it never holds a PayPal login or key, and only you can approve a payment.
Read the whole session: what the person asked, every tool Claude called, every reply
Open a $20 Preflight budget for checking my drafts, at most $6 a purchase.
→ open_budget(amount_usd=20, max_per_purchase_usd=6)
← amount: 20.00 USD · approve_url: (a PayPal link for the person)
You approve the $20 on PayPal (sandbox, test money).
I've approved it on PayPal. Audit the Saltmarsh demo series and pay from the budget.
→ confirm_budget(budget_id="VOqtzofzSOLxr-GK")
→ quote_demo_series()
← status: active
← price: 5.05
→ pay_with_budget(job_id="nzkckRojZ8g", budget_key="pfk_…")
← paid: True · budget_left: 14.95 · amount: 5.05 USD
→ audit_status(job_id="nzkckRojZ8g")
← status: done · contradictions: 5
→ get_findings(job_id="nzkckRojZ8g")
← 5 findings
The Oswin Reed one is wrong: he only faked his death in The Wreck. Mark it.
→ mark_finding_wrong(job_id="nzkckRojZ8g", finding_index=2, note="Oswin Reed only faked his death in The Wreck, so appearing in The Return is not a contradiction.")
← a link for the person to confirm it: nothing marked, no money moved yet
You confirm it on your job page: $0.50 back to the budget.
Now check the demo series' next draft against it, from the budget, and tell me what you found.
→ get_demo_draft()
← ok
→ check_draft(job_id="nzkckRojZ8g", name="draft-04-the-ledger.txt")
← price: 2.01
→ pay_with_budget(job_id="gXUfp9ca9hM", budget_key="pfk_…")
← paid: True · budget_left: 13.44 · amount: 2.01 USD
→ audit_status(job_id="gXUfp9ca9hM")
← status: done · contradictions: 2
→ get_findings(job_id="gXUfp9ca9hM")
← 2 findings
Thanks. Close the budget.
→ close_budget(budget_id="VOqtzofzSOLxr-GK")
← Error executing tool close_budget: 1 validation error for close_budgetArguments budget_key Field required [t
→ close_budget(budget_id="VOqtzofzSOLxr-GK", budget_key="pfk_…")
← status: closed · refunded to PayPal: 13.44
Recorded 2026-10-27 21:40 with scripts/video/agent_session.py: PayPal sandbox, on a local copy of Preflight answering the demo series with real Gemini answers recorded for the demo series (gemini-3.5-flash-lite reading, gemini-3.6-flash judging), replayed offline. The spending key is masked.
1. Connect it
- Claude (web or desktop): add a custom connector and paste the address above.
- Claude Code:
claude mcp add --transport http preflight https://preflight-kq1o.onrender.com/mcp - Any other MCP client that speaks streamable HTTP: the same address.
2. Ask for what you want
- “Open a $20 Preflight budget, at most $6 a purchase, for 30 days.” It replies with a PayPal link. You approve it; the assistant cannot. The limits are optional, and you can tighten them later on the budget page.
- “Audit the Saltmarsh demo series and pay from the budget.” It quotes, pays and waits for the report.
- “Check the demo draft against the series.” It reads back each contradiction with both passages.
- “Close the budget.” What is left goes back to your PayPal account.
For your own books, ask it for an upload link: you upload the files on this site and see the price before anything is bought. This site runs on a free AI tier that may use submitted text for training, so public-domain books only.
3. What it can and cannot do
| The assistant can | It cannot |
|---|---|
| open a budget or a single-audit order | approve a payment: only you can, on PayPal |
| pay for audits and draft checks from a budget | spend past the balance, your limit per purchase or your end date |
| ask you to mark a finding wrong, or to take a failed audit's refund (you confirm either on your job page) | hold your PayPal login, a key or a card, or move money back or forth without you |
| close the budget | send money anywhere but back to your PayPal account |
Nothing is sent to a model before PayPal has captured the payment. Every spend, credit and refund is listed on the budget's page, which the PayPal approval takes you to. A failed audit is credited back to the budget; a single order is refunded through PayPal with one button.
Step by step: who does what, and where PayPal comes in
The 19 tools it gets
Each tool tells the assistant what it does to the world (MCP annotations), so an assistant that asks before acting knows which ones spend money or cannot be undone.
request_upload_linkGet a link where the person uploads their books (one file per book) and sees the price.upload_statusWhether the person has uploaded the books yet; the job id and price once they have. reads onlyopen_budgetAsk the person to fund a budget (5 to 200 USD) you may spend on audits and draft checks without asking each time. talks to PayPalconfirm_budgetAfter the person approved the budget's payment: capture it and make the budget spendable. talks to PayPalmark_finding_wrongWhen the person says a reported contradiction is wrong: returns a link where THEY confirm it; it is then noted on the report and part of the price comes back to them (0.50 each, at most half the price). reads onlyrule_on_findingRecord the author's ruling on an item the audit left to them ('needs your judgement': get_findings with include_cleared, verdict 'ambiguous').budget_statusA budget's balance and every spend, credit and refund, by the budget_key (pfk_…) open_budget returned. reads onlypay_with_budgetPay a quoted job (an audit or a draft check) from the budget and start it. cannot be undoneclose_budgetClose the budget: no more spending; the unused balance is refunded to the person's PayPal. cannot be undone talks to PayPalquote_demo_seriesQuote an audit of the Saltmarsh Chronicles, an invented three-book demo series with five planted continuity errors and one item for the author to judge, to try the whole flow (pay, findings, draft check) without a series of the person's own.get_demo_draftThe demo series' next book, a draft with planted slips: pass its name and text to check_draft with the finished demo audit's job_id. reads onlyquote_seriesPrice an audit from the book texts.order_auditCreate the PayPal order for a quoted job. talks to PayPalconfirm_paymentAfter the person approved on PayPal, capture the payment and start the audit. talks to PayPalaudit_statusCurrent status of a job (quoted/ordered/paid/running/done/failed) and report links when done. reads onlyget_findingsThe audit's findings as data: each contradiction with its quotes, explanation and suggested fix. reads onlycheck_draftQuote a check of the author's next draft against a finished series audit (job_id): only the places where the draft disagrees with the published books, each with a fix to the draft.delete_jobDelete the job's manuscripts, bible, reports and cached model responses, keeping only a receipt. cannot be undonerefund_failed_auditWhen an audit failed (status 'failed') and the person wants their money back instead of a free retry: returns a link where THEY confirm the full refund (to their PayPal, or into the budget that paid). reads only