@pipeworx/fr-judilibre

Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/fr-judilibre’s. Install: one-click buttons

Connect to just the @pipeworx/fr-judilibre pack

https://gateway.pipeworx.io/fr-judilibre/mcp — only @pipeworx/fr-judilibre’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: 3

French judicial decisions (Cour de cassation and the judicial courts it indexes) — search, read a decision’s full pseudonymised text and structural zones, and resolve the short codes the source uses (jurisdiction, chamber, formation, type, solution, publication) into their French labels. Each decision’s cited texts (visa) come with a best-effort {code, article} parse for chaining into @pipeworx/france-legi’s fr_code_article.

Every tool needs a PISTE application key, held as a gateway platform key (never in pack source). Without one the tools say so explicitly instead of returning an empty result.

Tools

  • fr_judilibre_search(query?, jurisdiction?, chamber?, formation?, type?, theme?, publication?, solution?, date_start?, date_end?, page?, page_size?) — full-text + filtered search over the published open-data corpus. Returns decision ids, summaries, highlighted snippets.
  • fr_judilibre_decision(id, resolve_references?) — one decision’s full text, structural zones (character offsets into text), visa (cited texts) with cited_articles best-effort linked to france-legi, related decisions (contested/forward/rapprochements), attached files.
  • fr_judilibre_taxonomy(id?, key?, value?, context_value?) — resolves the short codes the other two tools use into their French labels (or the reverse), or lists the taxonomy categories when id is omitted.

Auth

Platform key (PLATFORM_JUDILIBRE_KEY, read from _apiKey) — not wired yet. PISTE registration gates access beyond simple keyless signup: an application must additionally tick the Judilibre API and accept its own CGU (separate from the PISTE account CGU), once for sandbox and once for production — a second click-through, not a second approval step. No identity verification, phone, SIRET or human review was found anywhere in the flow (account creation, application creation, or API subscription) as of 2026-10-16.

Data sources

  • Cour de cassation, Judilibre open data (judicial decisions). Served through the state’s PISTE API gateway — never named in a tool description or source field (CLAUDE.md 9b); the route lives only in src/index.ts.
  • Reuse: Licence Ouverte / Open Licence 2.0 (permits commercial reuse with attribution — the same licence already governing @pipeworx/france-legi), plus the PISTE portal’s own terms of use and a Judilibre-specific terms of reuse document published by the Cour de cassation. The exact text of that last document could not be retrieved verbatim during this build (the courdecassation.fr page returned no extractable content); its existence and the licence stack above it are confirmed from the API’s own OpenAPI spec and data.gouv.fr’s dataset page.

Implementation notes

  • Auth header is KeyId: <key> (an OpenAPI apiKey-in-header scheme), not OAuth bearer — simpler than most PISTE APIs, which also offer an OAuth client id/secret.
  • visa entries are { id, url, title } with no structured code/article field. cited_articles recognises two citation phrasings actually seen in Cour de cassation prose (“article 1382 du code civil” and “code civil, art. 1382”) and marks anything else parsed: false rather than guessing. The Légifrance article id embedded in url (LEGIARTI…/LEGITEXT…) is always passed through regardless of whether the title parsed.
  • The published open-data corpus mirrors what the Cour de cassation selects for publication, not every decision ever rendered — fr_judilibre_search says so in its completeness_note.
  • Source: Cour de cassation, Judilibre open data (judicial decisions), read per request; data_as_of is the date of the call.

Tools

  • fr_judilibre_search — Search French judicial decisions (Cour de cassation and the courts of appeal it indexes) published as open data: full-text query plus filters for jurisdiction, chamber, formation, decision type, the
  • fr_judilibre_decision — Read one French judicial decision by id (from fr_judilibre_search): full pseudonymised text, its structural zones (introduction/exposé/moyens/motivations/dispositif/annexes as character offsets into `
  • fr_judilibre_taxonomy — Resolve the short codes fr_judilibre_search/fr_judilibre_decision use (jurisdiction, chamber, formation, type, solution, publication, theme) into their French labels, or the reverse (a label into its

Tools

  • fr_judilibre_decision — Read one French judicial decision by id (from fr_judilibre_search): full pseudonymised text, its structural zones (introduction/exposé/moyens/motivations/dispositif/annexes as character offsets into `
  • fr_judilibre_search — Search French judicial decisions (Cour de cassation and the courts of appeal it indexes) published as open data: full-text `query` plus filters for jurisdiction, chamber, formation, decision type, the
  • fr_judilibre_taxonomy — Resolve the short codes fr_judilibre_search/fr_judilibre_decision use (jurisdiction, chamber, formation, type, solution, publication, theme) into their French labels, or the reverse (a label into its

Regenerated from source · build October 22, 2026