@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 intotext),visa(cited texts) withcited_articlesbest-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 whenidis 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
sourcefield (CLAUDE.md 9b); the route lives only insrc/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 OpenAPIapiKey-in-header scheme), not OAuth bearer — simpler than most PISTE APIs, which also offer an OAuth client id/secret. visaentries are{ id, url, title }with no structured code/article field.cited_articlesrecognises two citation phrasings actually seen in Cour de cassation prose (“article 1382 du code civil” and “code civil, art. 1382”) and marks anything elseparsed: falserather than guessing. The Légifrance article id embedded inurl(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_searchsays so in itscompleteness_note. - Source: Cour de cassation, Judilibre open data (judicial decisions), read per request;
data_as_ofis 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
queryplus 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, thefr_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