MCP server for the Federal Register of Legislation: search Australian Commonwealth law, read it as it stood on any date, and check citations against the official register
australian-law-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP server for the Federal Register of Legislation.
Ask what Australian law said on any date, and check citations against the
official register before you rely on them. No API key, nothing to sign up for.
Everything is served live from the Commonwealth's own legislation API:
130,000+ acts and legislative instruments, every compilation of each one, back
to 1901. That register is the authorised source of Commonwealth law, and it
publishes point-in-time versions natively — so get_law_as_at returns the
text that was actually in force on the date you name, not a reconstruction.
Quick start
Claude Code:
Claude Desktop, Cursor, or any other stdio MCP client:
Requires Node 20 or newer. Nothing else to install — npx fetches
the package on first run.
There is a Dockerfile if you would rather not have Node on the host. The
server speaks stdio, so the container needs -i:
Tools
| tool | what it does |
| --- | --- |
| search_law | Find acts and instruments by name. Returns the title ids the other tools take. |
| get_law_text | The current compilation: the table of provisions, one section, or the full text paginated. Schedules are addressable too (section="Schedule 7"), which is where rate tables and forms actually live. |
| get_law_as_at | The same, but as the law stood on any past date. |
| verify_citations | Pull statute citations out of text and check each against the register: does the act exist, is it in force, does the cited section exist. Upstream failures come back as UNVERIFIED, never as a missing law. |
| get_amendment_status | In force or repealed, what the latest compilation incorporates, whether commenced amendments are still unincorporated, and what has amended it. |
| compare_versions | What changed between two dates: sections added, removed, reworded — or a line diff of one section. |
| search_full_text | Relevance-ranked search over the body text of every title on the register. |
| check_frl_health | Ping the register API so failures elsewhere can be attributed. |
docs/tools.md has the parameters and a worked example of each,
including what every tool does when it cannot answer.
Why point-in-time matters
Tax disputes, visa decisions, contracts and court matters turn on the law as
it stood on a past day, and models reliably answer with today's law instead.
The register keeps every compilation with exact in-force windows:
And verify_citations is the guard rail for the other direction — models
inventing sections that were never enacted:
A real law reported missing is the worst failure a tool like this can have, so
network and API errors are always reported as UNVERIFIED rather than NOT FOUND,
and a section is only checked against an act when the citation actually binds
the two together.
The same rule governs the text itself. The register has published in three
different formats since 1901, and the oldest of them — as-made scans of acts