| name | jurisd-research |
|---|---|
| description | Expert Australian/NZ legal research and AGLC4 citation using the jurisd MCP server. Use when finding cases or legislation (AustLII), looking up a provision offline, formatting or resolving citations, building a pinpoint, tracing who-cites-what, or producing an AGLC4 bibliography. Triggers on case law, legislation, "AGLC4", "pinpoint", "citator", "cited by", "bibliography", neutral citations like "[1992] HCA 23", or jurisdiction codes (cth/vic/nsw/qld/sa/wa/tas/nt/act/nz). |
jurisd is an MCP server for AU/NZ legal research. It searches AustLII, fetches
full-text judgments, formats AGLC4 citations, manages a local citation cache +
bibliography, and serves offline recall from installed data modules. There are
12 tools; operation variants are picked via a mode/op/action/by
discriminator, not separate tools.
When data modules are installed (check with list_data_modules), prefer the offline
tools for deterministic, citable, no-network answers. Fall through to live tools when
the module misses or no module is installed. The local tools return a typed not-found
so you can tell a genuine miss from an error.
| Need | Local first (offline) | Live fallback |
|---|---|---|
Read a specific provision (s 18) |
get_provision |
search_legislation → fetch_document_text |
| Act outline / structure | get_act_structure |
search_legislation → fetch_document_text |
| Who cites this case | find_citing |
— (local module graph only) |
| Concept / natural-language recall | semantic_search_local |
search_cases / search_legislation |
Always check list_data_modules once at the start of a research session so you know
which layer to lead with. Every local answer carries metadata.source = "local_module"
with module name, version, and snapshot date; mind the staleness advisory.
search_cases— NL case-law search across all AU/NZ jurisdictions (AustLII, authority-ranked).method: auto/title/phrase/all/any/near/boolean;jurisdiction;sortByauto/relevance/date;offsetfor pagination.search_legislation— same controls for legislation (methodaddslegis).fetch_document_text— full text from an AustLII URL (HTML, PDF via pdf-parse). PassciteKeyto also save a local source copy + freshness headers.
resolve_citation— citation/case-name → authoritative source.mode:auto(validate neutral cite vs AustLII, else text search),validate(existence check only),search(text only).format_citation— AGLC4 formatter.mode:full(default),short,ibid,subsequent(needsfootnoteRef),pinpoint(fetches a judgment and locates a para).cite— write to the local cache.action:add(default; assigns a biblatex cite key, returns AGLC4 string) orrefresh_source(conditional-HEAD freshness check).bibliography— read the cache (no network).op:get,list(default),export(writes a.bib),cited_by(reads the local citation cache).
get_provision— deterministic single-provision lookup (no embedding/ranking).get_act_structure— containment tree (Act → Part → Division → section/sched/clause).find_citing— offline citator twin, with each citation's provenance span.kinds:cites/considers(considers = stronger substantive engagement).semantic_search_local— local vector recall (bge-small, offline, no key); optionalfilteron jurisdiction/type/segment_type;kresults.list_data_modules— introspect installed modules (coverage, counts, embedding descriptor, load status, snapshot, staleness).includeInvalidshows refused modules.
resolve_citationvssearch_cases: if you already have a citation or a precise case name, useresolve_citation(it validates the neutral cite and hands back the canonical URL). Usesearch_casesfor open-ended topic discovery.- Who cites this case: use
find_citingagainst an installed decisions module — it is offline, deterministic, and gives provenance spans. Coverage is bounded by the installed module; there is no live citing-cases source. get_provisionvssearch_legislation: a known provision (s 18,sch 2,reg 12,cl 4(1)) →get_provision. On a typed not-found, fall through tosearch_legislationthenfetch_document_text.semantic_search_localvssearch_cases/search_legislation: concept questions over installed corpora →semantic_search_local. Anything outside module coverage, or needing live/recent material → the live search tools.
format_citation modes:
- full (default) — combine
title+neutralCitation+reportedCitation+ optionalpinpoint.style:combined(default),neutral, orreported. e.g.Mabo v Queensland (No 2) [1992] HCA 23 (1992) 175 CLR 1. - short — short form using the abbreviated
titlechosen at first reference (e.g.Mabo); addpinpointParaorpinpointPage. - ibid — back-to-back same source (
Ibid), optionally with a new pinpoint. - subsequent —
title (n X)referring back to footnotefootnoteRef. - pinpoint — give a
url(AustLII) plus aparagraphNumberorphrase; jurisd fetches the judgment and returns the located paragraph pinpoint. AddcaseCitationto prepend the case citation to the pinpoint string.
Bibliography export: bibliography op=export writes a BibLaTeX .bib (defaults to
<cacheDir>/<projectName>.bib, override with outputPath) and returns the bib text.
Filter to one logical document with document. List/inspect with op=list / op=get.
- Orient —
list_data_modulesto see offline coverage. - Find authority —
search_cases(topic) orresolve_citation(known cite/name); for a provision,get_provisionfirst, elsesearch_legislation. - Verify —
resolve_citation mode=validate, or read withfetch_document_text. - Pinpoint —
format_citation mode=pinpoint(url + paragraphNumber/phrase). - Cache —
cite action=addto record the source and get a cite key + AGLC4 string; optionallyfind_citing(offline module graph) to pull who-cites-it. - Bibliography —
bibliography op=exportto emit the.bib.
-
Discover/inspect installed modules:
list_data_modules(refreshto rescan,includeInvalidto see refused ones and why). -
Install modules out-of-band via the CLI (kept off the tool surface so an LLM never triggers a large download mid-conversation):
jurisd fetch-module <name> [--modules-dir DIR] # download + sha256-verify + atomic install jurisd verify-module <name> [--modules-dir DIR] # re-verify installed files vs manifest jurisd list-modules [--modules-dir DIR] # list installed (incl. refused)
legislation-cthis published asworkingmem/legislation-cthon Hugging Face. It provides Commonwealth primary and secondary legislation, citation edges, unmatched citations, and local bge-small embeddings.fetch-moduledownloads the manifest and parquet files, verifies each file against the manifest sha256 values, and installs the module atomically.Advanced operators can pass
--manifest-url URLonly for an explicitly trusted manifest source. The sha256 checks prove files match that manifest; they do not prove the manifest's provenance.Install root defaults to
~/.jurisd/modules/(overrideJURISD_MODULES_DIR). Local tools need optional@duckdb/node-api;semantic_search_localalso needs@huggingface/transformers. Pin a specific module with themodulearg on any recall tool.
All env vars are optional — with none set, both the live AustLII layer and local
baseline recall work. semantic_search_local's baseline (pure local cosine, no
key, no network) is always present. A domain-specialised rerank / extractive-QA slot
activates only if a provider key is set and reachable (e.g. ISAACUS_API_KEY); it
refines the local top-k, never replaces it, and silently degrades to baseline when the
key is unset or unreachable (reported by the capability probe, never thrown in a result).
- Live tools hit the network and can be slow/flaky; prefer offline tools when a module covers the area.
find_citingcoverage is bounded by the installed decisions module — a miss means the module doesn't cover that area, not that nothing cites the case.- For short/ibid/subsequent forms,
titleis the abbreviated name picked at first reference, not the full case name. pinpointmode needs an AustLIIurlwith paragraph blocks; if none are found it returns an error rather than guessing.