Server data from the Official MCP Registry
AU GST/ABN receipt extraction — assigns entertainment/ITC tax codes per line, not just OCR.
About
AU GST/ABN receipt extraction — assigns entertainment/ITC tax codes per line, not just OCR.
Remote endpoints: streamable-http: https://receipt-extraction.acjlabs.com/mcp
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
1 tool verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"com-acjlabs-receipt-extraction": {
"url": "https://receipt-extraction.acjlabs.com/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Receipt Extraction
AU GST/ABN-aware receipt & invoice extraction — applies documented AU entertainment/ITC tax-code
rules per line item, returning a tax_code, a confidence, and a one-line rationale for each, not
just OCR text. You supply the document; get validated structured JSON: vendor, line items, tax, totals —
with Australian GST and ABN checksum validation built in from day one. One API call, no hand-rolled
vision-LLM prompts, no re-deriving ABN/GST rules from the ATO's own documentation.
What it does
- Accepts a receipt/invoice image or PDF (base64), returns a clean, versioned
ReceiptJSON object. - Validates the vendor's ABN (11-digit modulus-89 checksum) and cross-checks GST across line items and totals, excluding non-creditable GST on entertainment-coded expenses per the documented rule set.
- Each line item carries its
tax_codeplus aconfidence(0–1) and a one-linerationalenaming the actual rule applied (e.g. "entertainment ITC denied, no exception context", or the incidental-to-travel exception that flips a restaurant-style meal back to claimable) — so you can check the call, not just trust it. - Works as an MCP server (
extract_receipttool) or a plain HTTPS API — usable from Claude, Cursor, or any HTTP client.
GST handling reflects publicly documented Australian tax law and is provided as software output, not tax advice.
Example (MCP tool call)
{
"tool": "extract_receipt",
"input": { "document_base64": "<base64 image or PDF>", "mime_type": "image/jpeg" }
}
{
"vendor": { "name": "Acme Pty Ltd", "abn": "51824753556", "abn_valid": true },
"date": "2026-07-14",
"line_items": [
{
"description": "Widget",
"qty": 2,
"unit_price": 12.5,
"gst": 2.5,
"tax_code": "taxable",
"confidence": 0.95,
"rationale": "Standard-rated retail good; 10% GST applies."
}
],
"totals": { "subtotal": 25.0, "gst": 2.5, "total": 27.5 },
"schema_version": "1.0"
}
Pricing
The free tier is self-serve today; paid plans are opening soon.
- Free — 20 documents/month, no card required. Self-serve today.
- Pay-as-you-go (opening soon) — $0.02/document, no minimum.
- Pro (opening soon) — $19/month for 1,500 documents (~$0.013/doc effective), with priority support.
Want a paid plan now? Register your interest and we'll set you up first.
Getting a key
The MCP server is live at https://receipt-extraction.acjlabs.com/mcp (the alternate
https://acjlabs-receipt-extraction.acjlabs.workers.dev/mcp address reaches the same deployment and
keeps working, so existing configurations need no change). Free-tier keys
self-serve — POST /v1/signup with { "email": "you@example.com" } returns your key directly in the
response, good for 20 documents/month, no card required. Store it immediately — it is shown once and
cannot be recovered if lost (re-signup for a new one). Paid keys provision the same way via a
one-time claim link once Pro/pay-as-you-go billing is live. See
https://acjlabs-receipts.pages.dev for the same steps plus pricing and a comparison against
alternatives.
Connecting it to an MCP client
With Claude Code:
claude mcp add --transport http receipt-extraction \
https://receipt-extraction.acjlabs.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Any other MCP client that supports a remote HTTP server with a custom header (Cursor, Cline, VS Code,
etc.) works the same way: point it at the URL above with an Authorization: Bearer YOUR_API_KEY
header. A gateway or scanner that can only forward the raw key value (no Bearer prefix) also works —
both forms authenticate. Tool discovery (initialize/tools/list) doesn't require a key at all; only
calling extract_receipt does.
See docs/quickstart.md for a full copy-paste walkthrough (getting a key, per-client
configs, confirming the connection with curl) if you'd rather follow one linear guide.
How accurate is it?
Validated 4/4 against hand-built (but genuinely readable) test documents covering net-priced, GST-inclusive-only, checksum-invalid-ABN, and unreadable-document cases. Real production accuracy across more document formats will be tracked once live traffic exists.
npm client
Prefer a typed function over hand-rolling MCP JSON-RPC calls?
@acjlabs/receipt-extraction-client
(live on npm) wraps the extract_receipt tool call:
npm install @acjlabs/receipt-extraction-client
import { createReceiptExtractionClient } from "@acjlabs/receipt-extraction-client";
const client = createReceiptExtractionClient({
baseUrl: "https://receipt-extraction.acjlabs.com",
apiKey: "...",
});
const receipt = await client.extractReceipt(base64EncodedImageOrPdf, "image/png");
Why not just use generic OCR?
Generic OCR extraction APIs return raw fields. None of them apply the AU layer on top: that an Australian ABN carries an 11-digit modulus-89 checksum, or that GST apportionment differs for entertainment-coded expenses. You'd build and maintain that yourself, against someone else's schema that can change under you. See the full comparison, or read why AU GST rules break most receipt-extraction tools (the ABN checksum, the three real GST cases, and how to test any tool against them).
Source availability & support
This repository hosts the documentation for the hosted service. The service implementation is not open source. Bug reports and feature requests are welcome in this repo's Issues; you can also reach us at contact@acjlabs.com.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
