ato-mcp
Health Warn
- License — License: AGPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in packages/mcp/package.json
- process.env — Environment variable access in packages/mcp/src/index.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Your AI agent, fluent in Australian tax.
Australian Tax MCP
The Australian tax knowledge base for AI agents.
Give your agent cited, current answers from 34,500+ ATO documents, plus a
personal-facts layer and four tax workflow tools that know your situation.
Ask your agent "can I claim my home office?" and it answers from the actual ATO guidance,
the actual ITAA 1997 section, and the actual ruling, with citations you can resolve and read,
instead of from training-data vibes. Tell it once that you're a GST-registered sole trader with
crypto, and every answer is shaped to your situation.
Quick start
Add the server to the client you already use.
Standard config works with most tools that run stdio servers:
{
"mcpServers": {
"ato": {
"command": "npx",
"args": ["-y", "ato-mcp"]
}
}
}
npm install -g ato-mcp # optional, npx works without installing
For hosts that natively support remote MCP servers, connect your client directly:
Claude Codeclaude mcp add --transport http ato https://api.ato-mcp.com.au/mcp
Then run /mcp inside Claude Code, select ato, and choose Authenticate.
Your browser opens to sign in.
codex mcp add ato --url https://api.ato-mcp.com.au/mcp
codex mcp login ato
codex mcp login opens your browser to sign in.
gemini mcp add --transport http ato https://api.ato-mcp.com.au/mcp
Gemini CLI detects the auth challenge on first use and opens your browser
automatically.
Or from the command line:
code --add-mcp '{"name":"ato","type":"http","url":"https://api.ato-mcp.com.au/mcp"}'
VS Code prompts to authenticate in your browser when the server first connects.
CursorOr add to ~/.cursor/mcp.json:
{
"mcpServers": {
"ato": {
"url": "https://api.ato-mcp.com.au/mcp"
}
}
}
Cursor shows a "Needs login" prompt on the server. Click it to sign in via your
browser.
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ato": {
"type": "streamable-http",
"serverUrl": "https://api.ato-mcp.com.au/mcp"
}
}
}
If Windsurf doesn't open a sign-in window, use the standard npm config at the top
of this section instead; it handles the browser sign-in itself.
- Open Settings → Connectors
- Add custom connector
- Paste
https://api.ato-mcp.com.au/mcp - Click Connect and sign in when the browser window appears
Available on paid Claude plans. Claude Desktop can alternatively use the standard
npm config at the top of this section in claude_desktop_config.json.
- Settings → Apps & Connectors → enable Developer Mode
- New connector → paste
https://api.ato-mcp.com.au/mcp - Choose OAuth and sign in when prompted
Requires a plan with connector support.
OpenCode, Zed & other stdio-only hostsUse the standard npm config at the top of this section. This package bridges any
stdio host to the hosted server with the same browser sign-in.
Full instructions available here.
What's in the corpus
| Source | Contents |
|---|---|
| ato.gov.au | 23,000+ guidance pages, forms & instructions, occupation guides, myTax help |
| Legislation | ITAA 1997, ITAA 1936 and the GST Act: 6,468 sections + 2,310 statutory definitions (point-in-time aware) |
| ATO public rulings | 4,900+ rulings across 10 types (TR, TD, GSTR, GSTD, PR, CR, LCR, PCG, MT, FTR), withdrawn rulings flagged |
| Citation graph | 64,217 cross-references between rulings and legislation |
| Thresholds | Time-keyed scalars (instant asset write-off, GST registration, CGT discount, super caps, …) |
34,500+ documents (286,000+ searchable passages), hybrid-indexed (BM25 + vector), refreshed monthly and served from
the hosted platform.
The 13 tools
Retrieval: search (hybrid BM25+vector), get_chunks, get_doc, get_doc_anchors
(citation graph), get_definition (statutory, point-in-time), get_threshold (time-keyed
scalars), fetch (live page fetch), stats.
Personal context: get_user_facts, 25 facts captured once at onboarding (business
structure, GST registration, investments, super type, residency, …) so the agent never re-asks.
Workflows are the reason this exists:
| Tool | What it does |
|---|---|
deduction_discovery |
Surfaces every deduction category that plausibly applies to your profile: a curated, cited taxonomy branched across sole traders, companies, trusts, partnerships, investors and SMSF members |
depreciation_helper |
Deterministic prime-cost / diminishing-value / instant-write-off / small-business-pool / Div 43 schedules for any asset, with the live IAWO threshold |
bas_prep_checklist |
A tiered, cited BAS checklist for your reporting period: which labels apply, what evidence to gather, the gotchas |
audit_risk_check |
Flags the patterns the ATO scrutinises in a draft return (WRE vs income, rental anomalies, unreported crypto, …) with risk bands and the guidance behind each flag |
Every workflow tool returns structured data and resolvable ATO citations, never advice in its
own voice. See the full tool reference.
Disclaimer
This service is provided as information infrastructure, not tax advice. It does not consider your full financial circumstances
and it is not a registered tax agent service. Confidence ratings and risk bands are heuristic
indicators, not professional judgement. Verify material decisions with a registered tax agent.
ATO content remains subject to ATO publication terms. ITAA 1997 text is reproduced from the
Federal Register of Legislation under its open licensing.
See the Terms of Service & Privacy Policy for more details.
License AGPL-3.0 © William Laverty
The hosted platform and corpus are proprietary. Commercial licensing available on request.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found