SuperAPI AI Directory

librejustice

🎖️ 🦀 🐍 🏠 ☁️ - French and European case law (Conseil d'État, Cour de cassation, ECHR, CJEU and more) linked to point-in-time consolidated legal texts, with hybrid search.

Open website

About this tool

LibreJustice is a free, open-source French and European legal search engine, offering both a web interface, a REST API, and an MCP interface. Its core goal is to link case law and legal provisions item by item within the same database, so that users do not have to connect to different servers separately for codes and citation graphs.

Uses

  • Search French and European case law: French Council of State (Conseil d'État), Court of Cassation (Cour de cassation), courts of appeal, administrative and judicial courts of first instance, Constitutional Council, CNIL, CNDA (published judgments only), Court of Jurisdictional Disputes, European Court of Human Rights (ECHR), Court of Justice of the European Union (CJEU). Filter by court, date, outcome, and cited provisions.
  • Search legal texts: consolidated versions of codes and regulations in force at any date (including article-by-article history), the complete Official Journal, EU law, treaties and bilateral agreements, collective agreements, BOFiP, circulars, and the codes of 59 foreign countries.
  • Public notices: public tender opportunities from BOAMP and buyer platforms, deduplicated with submission links and deadlines.
  • Directory: lawyers, companies, and courts, linked to their litigation records.

Main capabilities

  • The corpus is refreshed daily from open sources (Judilibre, DILA/Légifrance, EUR-Lex, etc.).
  • Natural language hybrid search (lexical + semantic) with AI reranking, dynamic facets, and similar judgments.
  • Citation graph: citations are extracted from judgments and resolved, pointing to the exact version of the provision cited, and from a provision it is possible to find the judgments citing it in reverse.
  • Cross-source deduplication (one page per judgment), and recovery of judgments missing from official channels.
  • AI summaries are provided for each judgment and are always kept distinct from excerpts of the original text.
  • Remote MCP endpoint for AI assistants.

How to use

  • Web: librejustice.fr.
  • MCP: The public MCP server is https://librejustice.fr/mcp,使用 OAuth 2.1 dynamic client registration, with no API key configuration required. Four tools are provided: search_decisions, get_decision, search_norms, get_norm. In Claude Code, the plugin installs the connector and the usage skill; installing only the skill (without the MCP connector) can be done via skills into any compatible agent. On claude.ai, LibreJustice is listed in the connector directory; after one-click addition, OAuth authorization is completed. In ChatGPT, Le Chat, or Perplexity, add a pointing to https://librejustice.fr/mcp custom connector. - REST API: the same corpus is offered as REST, described by openapi.json (OpenAPI 3.1). Keys are free: after registering an account, create a key in your profile; see the guide at librejustice.fr/api-guide. Five routes: /api/search, /api/search-textes, /api/decision/{id}, /api/texte/{code}/{article}, and the corresponding routes with a trailing /{date} for querying the version in force on that day.

Technical architecture

  • Single server node, Postgres + ParadeDB + VectorChord (hybrid BM25 + vector retrieval), API and frontend in Rust.
  • Pure Rust Cargo workspace, divided into two roots: packages/ libraries (lj-core decision model and normalization, lj-parse source parsers, lj-norm legal text citation system, lj-extract field and citation extraction, lj-sources source I/O, lj-store Postgres access and migrations, lj-llm embedding backends and Mistral client, lj-dtos API-to-Web contracts, lj-telemetry tracing and OTLP export, lj-api API layer (Axum + MCP rmcp + OAuth), lj-web Leptos frontend (SSR + WASM hydration) and Tailwind); apps/ deliverable binaries (lj-server single deployment: API + MCP/OAuth + SSR; lj-ingest ingestion CLI and cron runner).
  • The Rust toolchain is pinned by rust-toolchain.toml, and tasks are run via mise. The local database can be run with mise run dbs, a task that prepares the Postgres state under LIBREJUSTICE_STATE_DIR.
  • A single server can be deployed via podman compose (infra/docker-compose.yml): Postgres (ParadeDB + VectorChord), the merged lj-server binary, caddy frontend and ingestion cron. Fill in .env (see .env.example) and start. lj-server serves the API, MCP/OAuth, SSR and assets, listening in plaintext; caddy occupies :443 and terminates TLS. The included Postgres configuration (infra/pg-conf/) contains what the application needs (extensions, ParadeDB settings, compression), sized for a development machine; production instances need to raise shared_buffers and effective_cache_size according to hardware.

Use cases

  • Legal research, cross-searching case law and articles, needing to view the legal version as of a historical date, building legal AI assistants or retrieval applications, development scenarios requiring citation graphs and deduplicated decision data.

Limitations

  • Case law coverage depends on public sources; CNDA includes only public decisions.
  • The official sources themselves are independent data silos; LibreJustice integrates and supplements them, but the corpus still depends on daily refreshes from these open sources.
  • Information not stated in the materials, such as fees, pricing, and platform support scope, is not currently provided.