@pipeworx/california-jury-instructions
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/california-jury-instructions’s. Install: one-click buttons
Connect to just the @pipeworx/california-jury-instructions pack
https://gateway.pipeworx.io/california-jury-instructions/mcp — only @pipeworx/california-jury-instructions’s own tools, nothing else in the catalog.
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: 4
Official California jury instructions as adopted by the Judicial Council of California — CACI (civil, e.g. “303” = Breach of Contract—Essential Factual Elements) and CALCRIM (criminal, e.g. “200” = Duties of Judge and Jury), current (2026) edition, full instruction text with Directions for Use/Bench Notes, Sources and Authority/Authority, and revision history.
Tools
caci_lookup(number)— full official text of one CACI (civil) instruction or verdict form by number (“303”, “VF-303”): instruction text, Directions for Use, Sources and Authority, Secondary Sources, revision history.calcrim_lookup(number)— full official text of one CALCRIM (criminal) instruction or verdict form by number (“200”, “VF-200”): instruction text, Bench Notes (incl. Instructional Duty), Authority, Related Issues, Secondary Sources, Commentary where present, revision history.ca_ji_search(query, set?)— find the official instruction NUMBER for a claim or charge by keyword (“breach of contract” -> CACI No. 303), across CACI, CALCRIM, or both. Title search, not full-text search.ca_ji_editions(set?)— current edition year/adoption date and archived edition PDF links for either or both sets.
Auth
Keyless. This reads the Judicial Council’s own published, public PDFs — not a third-party API, no registration of any kind.
Data sources
- https://www.courts.ca.gov/system/files/file/judicial_council_of_california_civil_jury_instructions_2026.pdf
— CACI (civil), current 2026 edition, the single source for every
caci_lookupresponse. - https://courts.ca.gov/system/files/file/calcrim-2026.pdf — CALCRIM
(criminal), current 2026 edition, the single source for every
calcrim_lookupresponse. - https://courts.ca.gov/partners/juryinstructions.htm — the Judicial
Council’s own index page linking to both resource centers, current editions,
and archived editions back to ~2019-2021 (surfaced via
ca_ji_editions, not text-extracted).
Why this pack bakes the index instead of fetching per call
Both editions are published as ONE full-edition PDF — CACI 2026 is ~3,560
pages/11MB, CALCRIM 2026 is ~2,680 pages/84MB. There is no per-instruction
endpoint, and parsing either document takes tens of seconds even outside a
Worker, so scripts/bake-index.mjs downloads and parses both ONCE (re-run when
a new edition is adopted, roughly annually) into src/ca-ji-index-data.ts,
which the gateway uploads to KV and injects as args._bakedIndex on first call
per isolate — see that script’s header and src/index.ts’s top comment for the
full mechanism (same pattern as south-dakota-code, hawaii-code).
shared/src/pdf-text.ts does not work on these PDFs. Tested directly
against the real CACI PDF: it silently drops every inter-word space (this
typesetter encodes word gaps as TJ-array kerning adjustments, not space
glyphs — e.g. "Thiseditionof CACI includes...") and mis-decodes several
ligatures (fi/fl -> ”®”, en-dash -> ”±”) via subsetted font encodings outside
its documented scope. pdftotext (poppler-utils) reconstructs spacing
correctly via real glyph positioning and is used instead — a build-time
dependency only; the Worker never runs the bake script. Re-running it (to
pick up a new edition) needs pdftotext on the machine that runs it
(brew install poppler / apt install poppler-utils).
Parsing approach: both documents’ running headers name the instruction on every content page (“CACI No. 303”, “CALCRIM No. 200”), and every series/category has its own divider page listing every instruction number + official title — used as the ground-truth index, independent of body-text parsing. Verified 2026-10-07 against the live 2026 editions: CACI 1,140/1,140 ground-truth numbers accounted for (1 — #4001 — correctly revoked, not a parse gap); CALCRIM 780/780, 100%.
Known limits (said plainly, not papered over):
- Only the CURRENT edition’s text is baked. Archived editions (back to
~2019-2021) are linked by URL via
ca_ji_editions, not text-extracted — a past edition’s exact wording is not retrievable from this pack. - “Proposed revisions” (the Council’s separate public-comment process for
pending changes) are NOT covered at all. Everything served is ADOPTED,
in-force text (
status: "adopted"on every successful lookup). ca_ji_searchmatches official instruction/verdict-form TITLES and series names, not full instruction body text.
Licensing: both documents carry an explicit reprint grant on their own
copyright page — “In accord with Cal. Rules of Court, Rule 2.1050(c), these
instructions and verdict forms are freely available for use and reproduction,
with appropriate citation to this publication.” This pack cites the
publication via source/source_url on every response.
Tools
- caci_lookup — Get the OFFICIAL text of a California Civil Jury Instruction (CACI) by number — e.g. “303” (Breach of Contract—Essential Factual Elements) or a verdict form like “VF-303”. As adopted by the Judicial C
- calcrim_lookup — Get the OFFICIAL text of a California Criminal Jury Instruction (CALCRIM) by number — e.g. “200” (Duties of Judge and Jury) or a verdict form like “VF-200”. As adopted by the Judicial Council of Calif
- ca_ji_search — Find the official California jury instruction NUMBER for a claim, cause of action, or criminal charge by keyword — “breach of contract” -> CACI No. 303; “first degree murder” -> a CALCRIM number; “sel
- ca_ji_editions — List the CURRENT edition year/adoption date and ARCHIVED edition PDF links for CACI (civil) and/or CALCRIM (criminal) jury instructions. Use when a caller needs a past year’s edition (e.g. for a trial
Tools
ca_ji_editions— List the CURRENT edition year/adoption date and ARCHIVED edition PDF links for CACI (civil) and/or CALCRIM (criminal) jury instructions. Use when a caller needs a past year's edition (e.g. for a trialca_ji_search— Find the official California jury instruction NUMBER for a claim, cause of action, or criminal charge by keyword — breach of contract -> CACI No. 303; first degree murder -> a CALCRIM number; self-defcaci_lookup— Get the OFFICIAL text of a California Civil Jury Instruction (CACI) by number — e.g. 303 (Breach of Contract—Essential Factual Elements) or a verdict form like VF-303 . As adopted by the Judicial Councalcrim_lookup— Get the OFFICIAL text of a California Criminal Jury Instruction (CALCRIM) by number — e.g. 200 (Duties of Judge and Jury) or a verdict form like VF-200 . As adopted by the Judicial Council of Californ