@pipeworx/ni-caselaw
Connect: https://gateway.pipeworx.io/ni-caselaw/mcp · Install: one-click buttons
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 2
Northern Ireland court and tribunal judicial decisions, read live from judiciaryni.uk — the Court of Appeal, Crown Court, King’s Bench Division, Family Division, Coroner’s Court, Master’s decisions, the Valuation Tribunal and others.
Tools
search_ni_decisions(query?, court?, year?, limit?)— search decisions by keyword, court code (e.g."nica") and/or year. Returns title, neutral citation, court, date, judge and a link to the decision’s PDF for each match.get_ni_decision(slug)— one decision by its judiciaryni.uk slug (e.g."2026-nica-36"). Returns full metadata +pdf_url;textis alwaysnullandtext_extractedis alwaysfalse— see below.
Auth
Keyless. No operator key needed.
Data sources
-
https://www.judiciaryni.uk/judicial-decisions — a Drupal Views listing. Probed live 2026-09-18. Three real server-side facets exist:
/judicial-decisions/date/<year>(also<year>-<month>),/judicial-decisions/type/<slug-id>and/judicial-decisions/judiciary/<id>, plus a keyword box (?query_decisions=<text>). There is no court facet. The court a decision belongs to is only ever visible inside its neutral citation and, for most modern decisions, inside its own URL slug (/judicial-decisions/2026-nica-36).search_ni_decisions’scourtfilter is therefore applied CLIENT-SIDE while paging the listing, not passed to the upstream as a query param — combine it withyearto narrow a rare court quickly, since the per-call page budget is bounded (20 pages) and a rare court with no year given may need more pages than that to surface enough matches (the response’struncated/pages_scannedfields say so rather than reading as “no more decisions exist”).query_decisionsis a genuine full-text search across the WHOLE corpus, not a court filter — searching"NICA"returns 2,822 hits, because that literal string also appears inside other courts’ citations of NICA cases. It is offered here only for keyword search, same as the site’s own search box.rss.xmlon this site returns 0 items — checked live, not assumed, and not used.User-Agent matters here in an unusual way. A UA string containing the word “Bot” (tested:
"...PipeworxBot/1.0...") gets a flat 405 from this site’s edge (Varnish), while a plain identifying UA (pipeworx-mcp-ni-caselaw/1.0 (+https://pipeworx.io), matching the monorepo’s usual pattern) gets a normal 200. Not a robots.txt matter — this is public data with no restriction, and the ruling on robots is settled — just a WAF quirk worth knowing before assuming the site is blocking bots. -
TEXT IS PDF-ONLY. Every decision’s full text is a PDF under
/files/judiciaryni/<yyyy-mm>/<name>.pdf; the site’s HTML never carries extracted text. This pack does not parse PDFs — no PDF-text-extraction helper exists anywhere in this monorepo (checkedmcps/*,shared/src), and every other pack here that hits a PDF-only judicial source (gao-protests,recap) ships the same way: metadata + a direct link,text_extractedleftfalserather than guessed or silently empty.get_ni_decisionalways returnstext: null, text_extracted: falseand says so in its own description and in anotefield — per the silent-zero policy, a caller has to be TOLD the text isn’t there, never left to notice an empty field on its own. -
Court codes are not a controlled vocabulary on the site — they are whatever the neutral citation says. The common ones observed live:
nica(Court of Appeal),nicc(Crown Court),nikb(King’s Bench Division, calledniqbbefore the 2022 accession — older decisions may use either),nifam(Family Division),nicoroner(Coroner’s Court),nimaster(Master’s decisions),nivt(Valuation Tribunal, whose slugs don’t carry a year prefix, e.g.nivt-325). Older Social Security/Child Support Commissioner decisions (e.g."C12/25-26(PIP)") don’t reduce to a clean court code at all —deriveCourtreturnsnullfor those rather than guessing, and acourtfilter simply won’t match them (correct behaviour, not a bug).
Tools
- search_ni_decisions — Search Northern Ireland judicial decisions from judiciaryni.uk — judgments, sentencing remarks and directions from the NI Court of Appeal (nica), Crown Court (nicc), King’s Bench Division (nikb), Fami
- get_ni_decision — Get one Northern Ireland judicial decision by its judiciaryni.uk slug (e.g. “2026-nica-36”, from search_ni_decisions or a judiciaryni.uk URL). Returns title, neutral citation, court, delivered date, j
Tools
get_ni_decision— Get one Northern Ireland judicial decision by its judiciaryni.uk slug (e.g. 2026-nica-36 , from search_ni_decisions or a judiciaryni.uk URL). Returns title, neutral citation, court, delivered date, jusearch_ni_decisions— Search Northern Ireland judicial decisions from judiciaryni.uk — judgments, sentencing remarks and directions from the NI Court of Appeal (nica), Crown Court (nicc), King's Bench Division (nikb), Fami