australian-law-mcp

australian-law-mcp

MCP server for the Federal Register of Legislation, enabling point-in-time searches, retrieval, and verification of Australian Commonwealth law, including citation checking.

Category
访问服务器

README

australian-law-mcp

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 mcp add australian-law -- npx -y australian-law-mcp

Claude Desktop, Cursor, or any other stdio MCP client:

{
  "mcpServers": {
    "australian-law": {
      "command": "npx",
      "args": ["-y", "australian-law-mcp"]
    }
  }
}

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:

docker build -t australian-law-mcp .
docker run -i --rm australian-law-mcp

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:

get_law_as_at titleId=C2004A03348 date=2017-01-05 section=3A
→ As at 2017-01-05: Income Tax Rates Act 1986, Compilation No. 48
  s 3A  Working holiday makers and working holiday taxable income ...

And verify_citations is the guard rail for the other direction — models inventing sections that were never enacted:

verify_citations text="See s 3A and s 999 of the Income Tax Rates Act 1986."
→ [OK] Income Tax Rates Act 1986 [C2004A03348] — in force.
    [OK] s 3A exists: "Working holiday makers and working holiday taxable income"
    [NOT FOUND] s 999 — Provision 999 was not found in this compilation. It has
      28 sections and 6 schedules. Closest by number: s 30, s 29, s 28

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 from the federation era — carries no structural markup at all, only the numbering in the prose. Those are read from their own numbering, and the result is accepted only when the section numbers it recovers run in order from section 1. When they do not, the tool says the compilation could not be read rather than reporting an act with no sections or filing one section's words under another's number.

Scope

Commonwealth legislation only, by design. State registers either have no open API (Vic), sit behind bot challenges (NSW), or require registration (Qld). Case law databases (AustLII, Jade) do not permit automated access, so there is no case-law tool. ATO rulings are not machine-accessible. If any of that changes, the scope can grow.

Data source and licence

Legislative content comes from the Federal Register of Legislation API and is licensed CC BY 4.0 by the Commonwealth of Australia; every response that reproduces register content carries the register's required attribution. This project is independent: not affiliated with or endorsed by the Office of Parliamentary Counsel or the Australian Government. Output is legal information, not legal advice — the authorised version of any law is the one published on the register.

Code is MIT.

Development

npm install
npm test                        # build + unit tests (offline)
node scripts/smoke.mjs          # live API smoke test
node scripts/protocol-test.mjs  # stdio round trip against the live API

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选