Skip to main content

Aus Accounting MCP

Ryan Duguid is not a registered tax agent or BAS agent. Project support is limited to software issues reproduced with fabricated data. Do not send taxpayer information or request advice, return preparation, tax-treatment confirmation, or lodgement.

tests PyPI License: MIT Python 3.10+

Local Australian accounting tools for AI assistants. Compare business figures with ATO benchmarks, review Payday Super timing and check limited Division 7A loan terms and repayments. Calculate 7 bounded tax worksheets, search a configured local Markdown library with file and line citations, and search a configured legislation corpus for provisions, rates and thresholds cited to their Act, section and compilation. Includes synthetic CTR/BAS fixtures for integration testing.

Not tax advice. Payday Super and Division 7A reviews are experimental and need human review before consequential accounting action. Fixtures are not a lodgement. See DISCLAIMER.md.

Install

For a local file handoff that retains separate engine outputs, see the group review example.

Requires Python 3.10+ and uv:

uvx aus-accounting-mcp

The server waits for an MCP client over stdio. No API key, account or sign-in is required. Installation downloads packages; tool calls then read bundled data and the folders you explicitly configure, locally, without contacting services or changing records. It does not fetch documents from the ATO or the Federal Register, and it does not lodge.

Client integration

For Claude Desktop, Cursor and other clients that support local stdio servers:

{
  "mcpServers": {
    "aus-accounting": {
      "command": "uvx",
      "args": ["aus-accounting-mcp"]
    }
  }
}

Add to Cursor or use the client setup guide.

For Codex:

codex mcp add aus-accounting -- uvx aus-accounting-mcp

For Claude Code:

claude mcp add aus-accounting -- uvx aus-accounting-mcp

For Gemini CLI:

gemini mcp add -s user aus-accounting uvx aus-accounting-mcp

For VS Code:

code --add-mcp "{\"name\":\"aus-accounting\",\"command\":\"uvx\",\"args\":[\"aus-accounting-mcp\"]}"

Windsurf reads the standard config from ~/.codeium/windsurf/mcp_config.json, and any other host that launches a local stdio server runs it the same way. ChatGPT connectors and the Claude.ai web app accept a remote URL rather than a local command, so they cannot run this server.

Tools

Tool Use
list_ato_benchmark_industries Find a business type in the bundled ATO dataset.
get_ato_benchmarks Compare supplied P&L figures with ATO benchmark ranges.
calc_payday_super_deadline Review timing for one super contribution.
review_payday_super_contributions Review related contributions together for one employer.
build_payday_super_evidence_pack Return 4 review files in memory using the pinned Payday Super checker.
calculate_tax_worksheet Calculate one of 7 worksheets with established scope and period.
search_accounting_library Search a configured local Markdown library.
read_accounting_library Read cited lines from that library.
search_tax_legislation Find in-force provisions in a configured local legislation corpus, cited to Act, section, compilation and register page; in_force_only=false includes superseded compilations.
read_tax_legislation_section Read one cited provision from that corpus in full, with up to 5 provisions either side when neighbours is set.
define_tax_term Find an expression's statutory definitions in that corpus's dictionary sections, exact matches first; no match is not proof the expression is undefined.
search_tax_rates Find legislated rate and threshold rows with the provision that sets them, optionally for one stated year.
get_div7a_benchmark_rate Get a reviewed Division 7A benchmark rate, or UNKNOWN.
review_div7a_loan Review s 109N terms and s 109E minimum yearly repayments for one supplied amalgamated loan.
refuse_div7a Explain unsupported Division 7A matters. Call without arguments.
generate_synthetic_sbr_fixture Generate fabricated CTR/BAS test data.

Missing figures remain unknown. Preserve UNKNOWN, REFUSED, not_supplied and null results; ok: true means the tool ran, not that a review passed.

The 7 worksheets cover bounded GST, resident basic tax, CGT, FBT, first-year depreciation, quarterly SG and Schedule 1 PAYG withholding cases. Read aus-accounting://scope before supplying scope confirmation. Most support 2025-26; see the reference for periods and exclusions.

With the development worksheet engine, aus-accounting://scope also includes engine-owned period dates, required inputs and units, methods, Library example references and fabricated example.facts that run the worksheet tool as a demonstration. The example's scope_confirmed: true is fabricated with the rest of it: for real facts, pass true only after a person has confirmed the scope conditions, because the engine treats that flag as the operator's confirmation. With the published pinned engine, the resource retains its existing scope, source and source-check date fields. The richer catalogue remains unreleased; published dependency pins have not changed. To enable library retrieval, set AUS_ACCOUNTING_LIBRARY_ROOT in the server's environment to an authorised Markdown folder. Returned excerpts enter the calling assistant's context. The package contains no reference library.

Legislation corpus

Set AUS_ACCOUNTING_CORPUS_ROOT to a legislation corpus you have built or obtained and authorise the assistant to read. The four corpus tools then cite every provision to its Act, section, compilation number, compilation date and register page, and carry the corpus licence and attribution with the text.

The package ships no corpus and downloads nothing, so the corpus stays yours: no account, no hosted index and no record of what you searched for. au-tax-legislation-corpus builds one from the Federal Register of Legislation in the expected layout.

A row is a point-in-time copy from one build, not a live lookup, and version_is_current records what was true when the corpus was built. Check the compilation date and the register page before relying on a provision, and treat a rate row as the text of one provision rather than a calculation or a confirmed current figure. Retrieval does not extend what the reviewed engines calculate. The reference covers the layout, fields, bounds and a worked example.

Payday Super needs an explicit assessment date and fund-receipt evidence, both the date and the amount received (received with matched_amount), before it should be read as ON_TIME. The pinned checker 0.1.7 leaves a timely receipt date without an amount UNKNOWN. A late receipt without an amount stays LATE, without reducing the shortfall. MCP 0.2.4 pins checker 0.1.6, which assumes full receipt in that case and says so in a caveat. Check the aus-accounting://payday-coverage resource for bundled rate and calendar coverage, and retain the result's caveats.

Division 7A covers the reviewed s 109N/s 109E scope only. It refuses matters such as forming amalgamated loans, s 109R repayment classification, unpaid present entitlements and distributable surplus. The reference covers all exclusions, input rules, prompts, resources and evaluation instructions.

Payday Super evidence pack

In v0.2.5, build_payday_super_evidence_pack accepts the same contributions and explicit as_at as grouped review. It delegates the assessment and all 4 artefacts to the checker. There are no path arguments, fixture-path lookups, filesystem writes or network calls.

The response includes files keyed by report.csv, practitioner-review.md, exceptions.json and decision-log.md. Save the strings as UTF-8 without changing newlines or removing the CSV's initial BOM; the Markdown and JSON bind to those exact report bytes. Source row numbers are one-based positions in the input list. review_exit_code is 2 for any non-ON_TIME row and 0 only when all rows are ON_TIME. An error remains an MCP error. No decision or sign-off is generated.

The default response_detail="full" includes the pack in both text and structured content for client compatibility. Hosts that read structuredContent.files can request response_detail="compact" to replace the duplicate text with a short summary, the disclaimer and caveats. Both modes retain every file byte, hash and review flag. Use full mode if the host only reads text results.

Record decisions and practitioner sign-off in decision-log.md; the included checklist links to that record.

Employee identifiers are omitted from the returned pack. The calling MCP host still receives the input references; use an approved environment and fabricated data for demonstrations. Amounts, dates and warnings remain private workpaper information. Missing receipt dates remain missing.

The 17-column evidence report is for the included checklist. It is not accepted by legacy review-pack or the accounting review pipeline's PaydaySuper.Report Excel importer. Use an ordinary 18-column checker report for that importer.

This documentation describes v0.2.7, which pins payday-super-checker==0.1.7 and div7a-loan-review==0.1.4 and includes the pack builder. Run uvx aus-accounting-mcp==0.2.7 for this version. Check the release and compatibility references below before treating a source version as published. An installation with checker v0.1.3 returns a feature-unavailable error for this tool; the existing tools continue to work. See the website guide for examples and scope.

30-second demonstration

From apps/aus-accounting-mcp/ in a repository checkout, run the fabricated example. It shows the tools running on synthetic data; it is not evidence that a review passed:

uv run --locked aus-accounting-mcp-demo

Static terminal demonstration of synthetic BAS output and Division 7A loan review

The checked text transcript and proof and provenance record the expected output, limitations and asset source.

Licence and releases

MIT License. Created by Ryan Duguid. Release notes, v0.2.7 release record, CITATION.cff.

Release files for aus-accounting-mcp 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aus-accounting-mcp 0.2.7
File Size Uploaded
aus_accounting_mcp-0.2.7.tar.gz 296.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aus-accounting-mcp 0.2.7
File Interpreter ABI Platform
aus_accounting_mcp-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 356.7 kB

Release files / aus_accounting_mcp-0.2.7.tar.gz

Download URL aus_accounting_mcp-0.2.7.tar.gz
Size 296.5 kB
Tags Source
SHA-256 checksum
How to use checksums
99df73b43013126209ade9ecf4b250a4277a9c9201722fdc731b87cb07166e66
BLAKE2b-256 checksum
How to use checksums
5fb4e9ee2d8c063f1c4d49741bcfd818dc6427b680f3abb53f1b56ad30690f91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / aus_accounting_mcp-0.2.7-py3-none-any.whl

Download URL aus_accounting_mcp-0.2.7-py3-none-any.whl
Size 60.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b623078103123f2fcccfbd0ef0aa745e56b25e65cb8e9f95c5eae1647c373bec
BLAKE2b-256 checksum
How to use checksums
196ec3b4186306930950e27524783f7aad8ef6ef8e6c1a8b2e96889a01dc83b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.9

2 release files

0.2.8

2 release files

This release

0.2.7 This release

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page