Skip to content

What your agent can actually do

The questions that come back every year

What can I claim, how does the laptop write off, what goes on the BAS, is anything risky. Four workflows that run the numbers deterministically, shaped to your taxpayer structure, with the ATO source on every line.

Deduction Discovery

Surfaces every plausibly-applicable deduction category for your taxpayer shape, cited and confidence-rated.

deduction_discovery({ activity: "bought a laptop" })

Depreciation Helper

Computes prime-cost, diminishing-value, IAWO, pool and Div 43 schedules deterministically.

depreciation_helper({ asset_cost: 4800, acquisition_date: "2025-09-01", effective_life_years: 3 })

BAS Prep Checklist

Builds a tiered, cited BAS checklist for your reporting period: labels, evidence, gotchas.

bas_prep_checklist({ period_type: "quarterly", quarter: 2 })

Audit Risk Check

Runs heuristic ATO red-flags over a draft return, risk-banded with the guidance behind each.

audit_risk_check({ income: 90000, deductions: [...] })

Straight from the source

Eight ways into 34,500+ ATO documents: hybrid search, whole documents in reading order, statutory definitions, point-in-time thresholds and the citation graph connecting them.

Search

Runs hybrid keyword and semantic retrieval over the whole corpus, rank-fused and point-in-time aware.

search({ query: "instant asset write-off eligibility", k: 5 })

Get Chunks

Resolves chunk_ids to full passages, with optional neighbouring context.

get_chunks({ chunk_ids: ["legis:…/8-1#0"], neighbours: 1 })

Get Doc

Fetches a whole document: metadata, full text in reading order, and its anchor list.

get_doc({ doc_id: "legis:c2004a05138/8-1" })

Get Doc Anchors

Returns the citation graph around a document: anchors, inbound and outbound references.

get_doc_anchors({ doc_id: "legis:c2004a05138/8-1" })

Get Definition

Returns statutory definitions (ITAA 1997 Dictionary and friends), point-in-time selectable.

get_definition({ term: "depreciating asset" })

Get Threshold

Returns time-keyed scalar facts: the IAWO limit, GST registration threshold, CGT discount and super caps.

get_threshold({ name: "instant_asset_write_off" })

Fetch

Live-fetches a page by URI scheme (ato:, ato-law:, legis:) when freshness matters.

fetch({ uri: "ato:tax-rates-and-codes/…" })

Stats

Returns a live corpus snapshot: document counts and the schema version.

stats({})

It knows your situation

One read of your saved tax profile replaces twenty clarifying questions. Sole trader or company, GST-registered or not: answers fit how you actually operate.

Get User Facts

Returns your onboarded profile: 25 facts the agent reads once per session instead of re-asking.

get_user_facts({})

Full reference documentation: github.com/william-laverty/ato-mcp/docs/tools.md

Get answers to all your tax questions