mcpField
A
australian-law-mcp

australian-law-mcp

本地服务
github.com/ChangkeunJ法律与政务42 天前更新

关于 australian-law-mcp

australian-law-mcp 是面向法律研究和引用核验的 MCP 服务,实时读取澳大利亚联邦立法登记册。可查询历史日期的法律原文,并检查法案、条文及修订状态。

主要功能

  1. 01按名称搜索法律
  2. 02查询现行及历史条文
  3. 03核验法律引用和条文
  4. 04查看修订及生效状态
  5. 05比较不同日期的版本
  6. 06全文检索联邦立法

适用场景

  1. 01核对过去某日适用的法律
  2. 02检查合同或诉讼材料中的条文引用
  3. 03追踪修正案是否生效
  4. 04搜索联邦立法全文

MCP 相关

作为 MCP 服务向客户端提供澳大利亚联邦立法搜索、文本查询、引用核验和版本比较等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"changkeunj-australian-law": {
"command": "npx",
"args": [
"-y",
"australian-law-mcp"
]
}
}
}
启动命令npx -y australian-law-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmaustralian-law-mcp0.1.5

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring是标题中的词语,例如 "income tax rates"

详细介绍

australian-law-mcp

适用于 Federal Register of Legislation 的 MCP 服务。 询问澳大利亚法律在任意日期的内容,并在依赖引文之前,先对照官方登记册进行核验。无需 API 密钥,也无需注册。

所有内容都通过联邦政府自己的立法 API 实时提供: 超过 130,000 部法律和立法文书,以及每部法律的所有汇编,时间可追溯至 1901 年。该登记册是联邦法律的权威来源,并原生发布特定时间点的版本, 因此 get_law_as_at 返回的是指定日期实际生效的文本,而非重构版本。

快速开始

Claude Code:

claude mcp add australian-law -- npx -y australian-law-mcp

Claude Desktop、Cursor 或其他任何 stdio MCP 客户端:

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

需要 Node 20 或更高版本。无需安装其他内容——npx 会在首次运行时获取 该软件包。

如果不想在主机上安装 Node,也可以使用 Dockerfile。该服务通过 stdio 通信, 因此容器需要 -i:

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

工具

工具功能
search_law按名称查找法律和文书。返回其他工具所需的标题 ID。
get_law_text当前汇编:条款目录、单个条文,或分页的全文。也可按附表查询(section="Schedule 7"),费率表和表格实际位于附表中。
get_law_as_at功能相同,但返回法律在过去任意日期的内容。
verify_citations从文本中提取法规引文,并逐一对照登记册核验:法规是否存在、是否生效、所引条文是否存在。上游故障会返回 UNVERIFIED,绝不会误报为法律不存在。
get_amendment_status查询法规是否生效或已废止、最新汇编纳入了哪些内容、已开始施行的修正是否尚未纳入,以及该法规被哪些法规修正。
compare_versions查看两个日期之间的变化:新增、删除或改写的条文,或单个条文的逐行差异。
search_full_text对登记册中所有标题的正文进行相关性排序搜索。
check_frl_healthPing 登记册 API,以便判断其他位置发生的故障是否由其引起。

docs/tools.md 列出了参数和每个工具的完整示例, 包括每个工具无法回答时的处理方式。

为什么特定时间点很重要

税务争议、签证决定、合同和法院案件都取决于法律在过去某一天的内容,而 模型却总是可靠地给出今天的法律。登记册保存了每个汇编及其精确的生效时间段:

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 ...

verify_citations 则是防止另一类错误的安全措施——模型编造从未颁布过的条文:

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

像这样的工具可能犯下的最严重错误,就是把真实法律报告为不存在。因此, 网络和 API 错误始终报告为 UNVERIFIED,而不是 NOT FOUND;只有在引文确实 将条文与法规关联起来时,才会对照该法规核验条文。

同一规则也适用于文本本身。自 1901 年以来,登记册发布过三种不同格式,而 最早的格式——联邦成立时期的法规原始扫描件——完全没有结构化标记,只有 正文中的编号。系统会根据其自身编号读取这些文件,并且只有在读取到的条文 编号从第 1 条开始连续递增时才接受结果。如果编号不连续,工具会说明无法读取 该汇编,而不会报告法规没有条文,也不会把某一条的内容归到另一条的编号下。

范围

本项目仅涵盖联邦立法。各州的登记册要么没有开放 API(Vic),要么设有机器人 验证(NSW),要么要求注册(Qld)。判例法数据库(AustLII、Jade)不允许自动 访问,因此没有判例法工具。ATO 裁定也无法通过机器访问。如果这些情况发生 变化,项目范围也可以扩大。

数据来源与许可

立法内容来自 Federal Register of Legislation API,由澳大利亚联邦政府根据 CC BY 4.0 授权;每份转载登记内容的响应均附有登记处要求的署名。本项目独立运营,与 Parliamentary Counsel 办公室或澳大利亚政府无关,也未获得其认可。输出内容属于法律信息,不构成法律建议——任何法律的权威版本均为登记处发布的版本。

代码采用 MIT 许可证。

开发

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。