@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; text is always null and text_extracted is always false — 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’s court filter is therefore applied CLIENT-SIDE while paging the listing, not passed to the upstream as a query param — combine it with year to 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’s truncated/pages_scanned fields say so rather than reading as “no more decisions exist”).

    query_decisions is 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.xml on 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 (checked mcps/*, 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_extracted left false rather than guessed or silently empty. get_ni_decision always returns text: null, text_extracted: false and says so in its own description and in a note field — 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, called niqb before 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 — deriveCourt returns null for those rather than guessing, and a court filter 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, ju
  • 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

Regenerated from source · build September 18, 2026