deduction_discovery
Every plausibly-applicable deduction category for your taxpayer shape, cited and confidence-rated.
deduction_discovery({ activity: "bought a laptop" })Documentation
ato-mcp is an MCP server: it plugs into Claude Code, Cursor, Codex or any Model Context Protocol host and turns the Australian tax corpus into tools your agent can call. One line to install, sign in with your browser, done.
claude mcp add --transport http ato https://api.ato-mcp.com.au/mcpRun it, then authenticate from inside your client. Your browser opens to sign in. Every other client (Codex, Gemini CLI, Cursor, VS Code, …) is one line too: see the install picker.
Any MCP host
{"mcpServers":{"ato":{"url":"https://api.ato-mcp.com.au/mcp"}}}Then just ask: “What can I claim as a sole-trader carpenter?” The agent calls get_user_facts once, then deduction_discovery, and answers with citations.
Workflows
Every plausibly-applicable deduction category for your taxpayer shape, cited and confidence-rated.
deduction_discovery({ activity: "bought a laptop" })Prime-cost / diminishing-value / IAWO / pool / Div 43 schedules, computed deterministically.
depreciation_helper({ asset_cost: 4800, acquisition_date: "2025-09-01", effective_life_years: 3 })A tiered, cited BAS checklist for your reporting period — labels, evidence, gotchas.
bas_prep_checklist({ period_type: "quarterly", quarter: 2 })Heuristic ATO red-flags over a draft return, risk-banded with the guidance behind each.
audit_risk_check({ income: 90000, deductions: [...] })Retrieval
Hybrid BM25 + vector search over the whole corpus, rank-fused, point-in-time aware.
search({ query: "instant asset write-off eligibility", k: 5 })Resolve chunk_ids to full passages with optional neighbouring context.
get_chunks({ chunk_ids: ["legis:…/8-1#0"], neighbours: 1 })Fetch a whole document — metadata, full text in reading order, and its anchor list.
get_doc({ doc_id: "legis:c2004a05138/8-1" })The citation graph around a document: anchors, inbound and outbound references.
get_doc_anchors({ doc_id: "legis:c2004a05138/8-1" })Statutory definitions (ITAA 1997 Dictionary and friends), point-in-time selectable.
get_definition({ term: "depreciating asset" })Time-keyed scalar facts — IAWO limit, GST registration threshold, CGT discount, super caps.
get_threshold({ name: "instant_asset_write_off" })Live-fetch a page by URI scheme (ato:, ato-law:, legis:) when freshness matters.
fetch({ uri: "ato:tax-rates-and-codes/…" })Corpus snapshot: counts and schema version.
stats({})Personal context
Your onboarded profile — 25 facts the agent reads once per session instead of re-asking.
get_user_facts({})Full input/output schemas, examples and error behaviour live in the repo: docs/tools.md
GitHub ↗
The MCP client is open source (AGPL-3.0). Read the code you run.
Privacy
Generated from the database schema, so it shows exactly what's stored.