Australian Law

Lee la ley de la Commonwealth australiana tal como estaba vigente en cualquier fecha desde 1901, y verifica las citas de estatutos contra el Registro Federal oficial de Legislación. No se requiere clave de API.

Documentación

australian-law-mcp

Servidor MCP para el Registro Federal de Legislación. Pregunta qué decía la ley australiana en cualquier fecha y verifica las citas contra el registro oficial antes de confiar en ellas. Sin clave API, sin necesidad de registrarse.

Todo se sirve en vivo desde la propia API de legislación de la Commonwealth: más de 130.000 leyes e instrumentos legislativos, cada compilación de cada uno, desde 1901. Ese registro es la fuente autorizada de la ley de la Commonwealth y publica versiones puntuales de forma nativa — por lo que get_law_as_at devuelve el texto que realmente estaba en vigor en la fecha que indiques, no una reconstrucción.

Inicio rápido

Claude Code:

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

Claude Desktop, Cursor o cualquier otro cliente MCP stdio:

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

Requiere Node 20 o superior. Nada más que instalar — npx descarga el paquete en la primera ejecución.

Hay una Dockerfile si prefieres no tener Node en el host. El servidor habla stdio, por lo que el contenedor necesita -i:

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

Herramientas

herramientaqué hace
search_lawEncuentra leyes e instrumentos por nombre. Devuelve los ids de título que usan las demás herramientas.
get_law_textLa compilación actual: la tabla de disposiciones, una sección o el texto completo paginado. Los anexos también son direccionables (section="Schedule 7"), que es donde viven realmente las tablas de tarifas y los formularios.
get_law_as_atLo mismo, pero tal como estaba la ley en cualquier fecha pasada.
verify_citationsExtrae citas de estatutos del texto y verifica cada una contra el registro: si la ley existe, si está en vigor, si la sección citada existe. Los fallos ascendentes vuelven como UNVERIFIED, nunca como una ley inexistente.
get_amendment_statusEn vigor o derogada, qué incorpora la última compilación, si las enmiendas iniciadas siguen sin incorporarse y qué la ha enmendado.
compare_versionsQué cambió entre dos fechas: secciones añadidas, eliminadas, reformuladas — o un diff de líneas de una sección.
search_full_textBúsqueda clasificada por relevancia sobre el texto completo de cada título del registro.
check_frl_healthHace ping a la API del registro para poder atribuir fallos en otros lugares.

docs/tools.md tiene los parámetros y un ejemplo práctico de cada uno, incluido lo que hace cada herramienta cuando no puede responder.

Por qué importa la versión puntual

Las disputas fiscales, las decisiones de visado, los contratos y los asuntos judiciales dependen de la ley tal como estaba en un día pasado, y los modelos responden de forma fiable con la ley de hoy en su lugar. El registro conserva cada compilación con ventanas de vigencia exactas:

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

Y verify_citations es la salvaguarda para la dirección contraria — modelos que inventan secciones que nunca fueron promulgadas:

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

Una ley real reportada como inexistente es el peor fallo que puede tener una herramienta como esta, por lo que los errores de red y de API siempre se reportan como UNVERIFIED en lugar de NOT FOUND, y una sección solo se verifica contra una ley cuando la cita realmente vincula a ambas.

La misma regla rige el propio texto. El registro ha publicado en tres formatos diferentes desde 1901, y el más antiguo de ellos — escaneos originales de las leyes de la era de la federación — no lleva ningún marcado estructural, solo la numeración en la prosa. Esos se leen desde su propia numeración, y el resultado solo se acepta cuando los números de sección que recupera van en orden desde la sección 1. Cuando no es así, la herramienta dice que la compilación no pudo leerse en lugar de reportar una ley sin secciones o archivar las palabras de una sección bajo el número de otra.

Alcance

Solo legislación de la Commonwealth, por diseño. Los registros estatales o no tienen API abierta (Vic), están detrás de desafíos anti-bots (NSW) o requieren registro (Qld). Las bases de datos de jurisprudencia (AustLII, Jade) no permiten acceso automatizado, por lo que no hay herramienta de jurisprudencia. Las resoluciones de la ATO no son accesibles por máquina. Si algo de eso cambia, el alcance puede crecer.

Fuente de datos y licencia

El contenido legislativo proviene de la API del Registro Federal de Legislación y está licenciado CC BY 4.0 por la Commonwealth de Australia; cada respuesta que reproduce contenido del registro lleva la atribución requerida por el registro. Este proyecto es independiente: no está afiliado ni respaldado por la Oficina del Consejo Parlamentario ni por el Gobierno australiano. La salida es información legal, no asesoramiento legal — la versión autorizada de cualquier ley es la publicada en el registro.

El código es MIT.

Desarrollo

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