Aus Accounting MCP
+--------------------------------------------------------+
| Aus Accounting MCP |
+--------------------------------------------------------+
| MCP server for AU tax review engines |
+---------------------------+----------------------------+
| DR what it gives you | CR what it needs |
+---------------------------+----------------------------+
| AU tax review MCP tools | MCP-capable host client |
| uses reviewed engines | uv or uvx to install it |
| synthetic SBR fixtures | - |
+---------------------------+----------------------------+
30-second proof · Install · Client setup · Tool reference · Release notes
Aus Accounting MCP is a local MCP facade over reviewed Australian computational accounting engines. Compatible with Claude Desktop, Claude Code, Cursor, Codex and Antigravity.
Payday Super and Division 7A are experimental reviews, not compliance or tax determinations. SBR payloads are synthetic fixtures.
[!WARNING] Not tax advice. This server returns structured results, refusals, and citations. It does not lodge, and it does not replace a registered agent. See DISCLAIMER.md.
This is a computational MCP, not a hosted ATO document store. It applies defined tests to figures the operator supplies: Payday Super timing, ATO small-business benchmark ratios, and a limited Division 7A loan review. For looking up rulings, use a document-retrieval MCP. Comparison: Australian tax tools for AI agents.
This server does not reimplement tax law. Payday Super and ATO small-business benchmarks are delegated to:
- payday-super-checker (
payday-super-checker) - ato-benchmark-compare (
ato-benchmark-compare) - div7a-loan-review (
div7a-loan-review)
The Division 7A adapter covers reviewed s 109N loan terms and benchmark rates plus s 109E minimum yearly repayments for one operator-supplied amalgamated loan. It fails closed on unknown facts and refuses unsupported matters such as forming amalgamated loans, s 109R repayment classification, unpaid present entitlements, distributable surplus, interposed entities, debt forgiveness, and Commissioner discretion. SBR payloads are synthetic fixtures, not lodgments.
30-second proof
Release proof: from a repository checkout, run the fabricated demonstration without starting the stdio server:
uv run --locked aus-accounting-mcp-demo
The checked text transcript is the accessible source of truth for the image. Its registered MCP calls return a synthetic BAS fixture with synthetic: true and not_a_lodgment: true, then review fabricated Division 7A loan facts through the delegated engine.
Expected structured success:
synthetic: true
not_a_lodgment: true
form_type: BAS_AU_ACTIVITY_STATEMENT
summary.total_payable_to_ato: "42500.00"
Expected structured Division 7A review:
engine: div7a-loan-review
gate.verdict: COMPLYING
minimum_yearly_repayment.verdict: MYR_MET
minimum_yearly_repayment.myr_required: "108770.00"
minimum_yearly_repayment.shortfall: "0.00"
The example is fabricated, is not a lodgment or Division 7A determination, is not tax advice, and requires human review before any consequential accounting action. It does not model s 109R, distributable surplus, unpaid present entitlements or the other refused areas. It neither uses client data nor contacts external services.
Asset provenance
| Asset | Purpose | Source | Licence | Creation | SHA-256 | Refresh trigger |
|---|---|---|---|---|---|---|
docs/quick-proof.webp |
Static terminal summary of the two checked demonstration outcomes | docs/quick-proof.txt, emitted by aus-accounting-mcp-demo |
MIT | uv run --locked --extra dev python scripts/render_demo_image.py docs/quick-proof.txt docs/quick-proof.webp with Pillow 12.3.0 |
90f983a9b8f76455e9f473330c8b999f9929870731f0c9fbc70e87cd790a43df |
Regenerate when the transcript, demo output, render constants or pinned Pillow version changes |
Name mapping: public name Aus Accounting MCP; repository aus-accounting-mcp; Python distribution aus-accounting-mcp; stdio MCP executable aus-accounting-mcp; demonstration executable aus-accounting-mcp-demo; MCP Registry identity io.github.ryanduguid/aus-accounting.
Canonical published release and compatibility references: CI, v0.1.6 release, PyPI 0.1.6, MCP Registry 0.1.6, and compatibility.json. Treat a version as published only after its target resolves and matches the compatibility record. The record links engine maintained source and release; runtime law_content_date and source remain engine-owned.
Install
Python 3.10+ and uv. This server and its engines are published to PyPI; the server pins its reviewed engines to exact versions:
Use CITATION.cff for this source version. The latest published provenance is the v0.1.6 release record.
uvx aus-accounting-mcp
Clone and pip install -e . still works when you want a local editable tree.
Client integration
Standard config works with hosts that run a local stdio MCP server:
{
"mcpServers": {
"aus-accounting": {
"command": "uvx",
"args": [
"aus-accounting-mcp"
]
}
}
}
Ready-made copies live in clients/.
Cursor
Or drop the standard config into ~/.cursor/mcp.json.
Claude Desktop
Paste the standard config into claude_desktop_config.json (%APPDATA%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS).
Claude Code
claude mcp add aus-accounting -- uvx aus-accounting-mcp
Codex
codex mcp add aus-accounting -- uvx aus-accounting-mcp
Tools
| Tool | Job | Engine |
|---|---|---|
list_ato_benchmark_industries |
List or search the shipped ATO business types | ato-benchmark-compare |
get_ato_benchmarks |
Compare operator-supplied bucket totals to ATO ranges | ato-benchmark-compare |
calc_payday_super_deadline |
Review one contribution against Payday Super timing | payday-super-checker |
get_div7a_benchmark_rate |
Return the reviewed s 109N(2) rate for a year, or UNKNOWN |
div7a-loan-review |
review_div7a_loan |
Review s 109N terms and s 109E minimum yearly repayment for one operator-supplied amalgamated loan | div7a-loan-review |
refuse_div7a |
Refuse Division 7A matters outside the reviewed engine scope | MCP policy |
generate_synthetic_sbr_fixture |
Synthetic CTR/BAS for agent tests (synthetic: true) |
local fixture |
The Division 7A tools default to response_detail="summary", retaining outcomes,
amounts, caveats, versions and a verification link while reducing tool-result size.
Pass response_detail="full" when the complete provenance, statutory trace and
per-limb audit material are required.
calc_payday_super_deadline requires as_at. It does not invent clearing-house latency and cannot confirm LCR 2026/1 transition allocation. A remittance date alone cannot produce ON_TIME. Omitted ATO expense buckets are not_supplied, not zero. Every ATO ratio divides by turnover, which the ATO rule takes from sales or from total business income, so omitting other_income leaves every ratio not_supplied until you establish that figure; pass 0 where you have established there is none. Withholding covers the engine's prose as well as the structured fields: a notes or checks_to_make entry that states an amount resting on an omitted bucket is withheld with the fields it belongs to, and notes says so.
Amounts, including Division 7A loan balances and payments, are decimal strings, finite, at most two decimal places, and no greater than AUD 1,000,000,000,000.00. Dates are ISO-8601. Payday Super uses payday-super-checker's national SGAA 1992 s 6(1) calendar.
Ask the agent:
Compare these P&L buckets to the ATO small-business benchmarks for this industry. Omit buckets I have not supplied. Do not treat missing as zero.
Review this Payday Super contribution. QE day, remitted date, and fund-receipt date are in the CSV. as_at is today. Do not invent an SGC charge.
Review this operator-supplied Division 7A amalgamated loan for s 109N terms and the s 109E minimum yearly repayment. Leave unknown facts unknown and refuse questions outside the reviewed scope.
Licence
MIT License. Created by Ryan Duguid. Boundary statement: DISCLAIMER.md. Discovery copy: docs/DISCOVERY.md. Cite: CITATION.cff.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aus_accounting_mcp-0.1.6.tar.gz.
File metadata
- Download URL: aus_accounting_mcp-0.1.6.tar.gz
- Upload date:
- Size: 201.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8adb330515bb0ae8126e950ce741dff38ce0ada95eeedfd65b93833c586a387
|
|
| MD5 |
8ca3ef907847bcf4d0b3965f1bed89b0
|
|
| BLAKE2b-256 |
910a1d54feb055645321f06b0146dbad53deb96fa6050d220291abe1e7daa228
|
Provenance
The following attestation bundles were made for aus_accounting_mcp-0.1.6.tar.gz:
Publisher:
publish-pypi.yml on ryanduguid/aus-accounting-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aus_accounting_mcp-0.1.6.tar.gz -
Subject digest:
f8adb330515bb0ae8126e950ce741dff38ce0ada95eeedfd65b93833c586a387 - Sigstore transparency entry: 2663742873
- Sigstore integration time:
-
Permalink:
ryanduguid/aus-accounting-mcp@32c22c55c78d05d7f1e1ac2d37fbb5ed3db4ac93 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/ryanduguid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@32c22c55c78d05d7f1e1ac2d37fbb5ed3db4ac93 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file aus_accounting_mcp-0.1.6-py3-none-any.whl.
File metadata
- Download URL: aus_accounting_mcp-0.1.6-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
024b6907dd539a81dc43b4d009edcb501eacd88eaca1fbc2bdb72bf523ca55dd
|
|
| MD5 |
9dcd294e3103b32e104f6c64aa32d5a5
|
|
| BLAKE2b-256 |
c8e0be08e73b5717b83e1fb4e2d0e7011fa34ff761396382aab4cd8f603ab71a
|
Provenance
The following attestation bundles were made for aus_accounting_mcp-0.1.6-py3-none-any.whl:
Publisher:
publish-pypi.yml on ryanduguid/aus-accounting-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aus_accounting_mcp-0.1.6-py3-none-any.whl -
Subject digest:
024b6907dd539a81dc43b4d009edcb501eacd88eaca1fbc2bdb72bf523ca55dd - Sigstore transparency entry: 2663742935
- Sigstore integration time:
-
Permalink:
ryanduguid/aus-accounting-mcp@32c22c55c78d05d7f1e1ac2d37fbb5ed3db4ac93 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/ryanduguid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@32c22c55c78d05d7f1e1ac2d37fbb5ed3db4ac93 -
Trigger Event:
workflow_dispatch
-
Statement type: