Justicelibre

io.github.Dahliyaalv1.1.0Updated Sep 28, 2026

Free access to 3.3M French & EU court decisions + 1.5M law articles w/ history. 31 read-only tools

VerifiedStreamable HTTPWeb executableOther

Installation

In SourceWeft

  1. Open Justicelibre in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "justicelibre": {
      "type": "http",
      "url": "https://justicelibre.org/mcp"
    }
  }
}

README

JusticeLibre

🌐 Site officiel : https://justicelibre.org 📡 Endpoint MCP : https://justicelibre.org/mcp (Streamable HTTP, sans clé)

L'accès libre à la jurisprudence française et européenne. Alternative open source à Doctrine, Lexis et Légifrance.

[Site] [MCP Server] [Décisions] [Articles de loi] [Licence]

Serveur Model Context Protocol (MCP) qui expose ~3,3 M décisions de justice + ~1,5 M articles de loi consolidés + ~700 k textes annexes (KALI/JORF/CNIL) de la France, de l'UE et du Conseil de l'Europe — gratuit, sans authentification, indexé sur Google.

SourceVolumeCouverture
Cour de cassation + cours d'appel + Conseil constitutionnel1 169 102DILA bulks + Judilibre PISTE
Conseil d'État + 9 CAA + 40 TA (JADE bulk)552 576DILA bulk
Open data justice administrative (CE/CAA/TA récents)985 996API justice-administrative.fr
ArianeWeb (Conseil d'État)70 396scrape Sinequa
Cour Européenne des Droits de l'Homme76 051HUDOC (FR + fallback EN)
Cour de Justice de l'Union Européenne44 270EUR-Lex / Cellar
INCA (jurisprudence judiciaire ancienne)382 480DILA bulk
TOTAL décisions~3,28 M
Articles de loi en vigueur (LEGI)1 481 309DILA bulk
Conventions collectives (KALI)286 732DILA bulk
JO (textes non codifiés)409 564DILA bulk
Délibérations CNIL8 126DILA bulk

Pourquoi JusticeLibre

Les outils juridiques propriétaires (Pappers Justice, Doctrine.fr, Lexis 360, Dalloz) coûtent 50-200 €/mois et ferment l'accès au droit derrière un paywall. L'open data juridique français existe (loi 2016 République Numérique, loi 2019 réforme de la justice) mais reste techniquement inaccessible :

  • Légifrance n'expose que ~25% de la jurisprudence en open data, fragmenté
  • Judilibre nécessite OAuth2 PISTE (frictionnel, oublie ChatGPT/Claude classique)
  • Les bulks DILA arrivent en ZIPs XML bruts de plusieurs Go, inutilisables sans pipeline ETL
  • Les TAs ne sont diffusés que par une API Elasticsearch non documentée

JusticeLibre rend cette donnée immédiatement utilisable par tout LLM ou humain :

  • ✅ Aucune clé, aucun compte : utilisable depuis Claude.ai, ChatGPT, Cursor, Zed, Continue immédiatement
  • ✅ Couverture unique : Cour de cassation + Conseil d'État + Conseil constitutionnel + 9 CAA + 40 TA + CEDH + CJUE + délibérations CNIL
  • ✅ Articles de loi avec versions historiques : "quel était l'article 1382 CC en 1992 ?" → texte napoléonien, pas la réforme 2016
  • ✅ Indexable Google : ~3 M URLs SSR exposées (sitemap), pas un SPA bot-blind
  • ✅ Open source MIT : auto-hébergeable

Comparaison

JusticeLibrePappers JusticeOpenLegimcp-juridique.frDoctrine.fr
Gratuit✅❌ payantpartiel❌ payant❌ 50€/mois
Sans inscription✅❌❌❌❌
Cour EDH✅ 76k décisions❌❌❌⚠️ partiel
CJUE✅ 44k arrêts❌❌❌⚠️ partiel
Conseil constit.✅ 7k décisions + tool dédié⚠️❌⚠️✅
40 TA en parallèle✅ fan-out⚠️ partiel❌❌✅
9 CAA en parallèle✅ fan-out⚠️❌❌✅
CNIL délibérations✅ ~8k❌❌⚠️❌
Articles loi versionnés✅ 1.5M⚠️⚠️ Légifrance brut⚠️✅
BM25 pertinence✅⚠️⚠️⚠️✅
Open source✅ MIT❌⚠️❌❌
MCP natif✅ Streamable HTTP✅✅✅❌ (REST seul)
Indexable Google✅ 3M SSR pages❌ SPA❌❌❌

Outils MCP exposés (29)

Recherche fédérée

OutilDescription
search_allFan-out parallèle sur toutes les sources, ranking BM25 + bonus autorité (CE +20%, Cass +15%, CEDH +15%, CAA +10%)
about_justicelibrePrésentation des tools, hiérarchie d'autorité, workflow recommandé

Jurisprudence judiciaire (PISTE Judilibre + bulk DILA)

OutilDescription
search_judiciaire_libre1.17M décisions (Cass + CA + Conseil constit.) - bulk DILA, sans auth
get_decision_judiciaire_libreTexte intégral via JURITEXT/CONSTEXT id
search_judiciaireLive PISTE Judilibre (besoin OAuth)
get_decision_judiciaireTexte via PISTE
search_ccConseil constitutionnel dédié (7112 décisions, filtre par nature : QPC/DC/L/SEN/AN/PDR)
get_cc_decisionCette décision CC, par son numéro (ex: "2023-1048 QPC"). Lookup exact : un numéro porté par plusieurs natures (2019-778 existe en DC et en QPC) est refusé tant que nature n'est pas précisé, plutôt que de servir un voisin. Pour la postérité d'une décision (qui la cite, la confirme, la renverse) : search_cc(query='"2019-778 DC"')

Jurisprudence administrative (CE + 9 CAA + 40 TA)

OutilDescription
search_adminBM25 pondéré sur 552k décisions admin bulk JADE
get_admin_decisionLookup par numéro de requête (désambiguïsation par juridiction). Échoue si le numéro est introuvable — ne sert jamais la décision « la plus proche »
get_ce_decisionCE spécifique, avec repli ArianeWeb si le numéro n'est pas dans le bulk. Idem : pas de résultat approchant
search_conseil_etat~270k CE via Sinequa (moteur sémantique natif)
get_decision_textTexte intégral via DCE/DTA/DCAA id
search_admin_recent / _all_caa / _all_taTri date desc pour l'actualité
list_juridictions51 codes juridiction (CE, CAA13...78, TA06...109)

Jurisprudence européenne

OutilDescription
search_cedh76k décisions Cour EDH avec sémantique ECHR
get_decision_cedhTexte via itemid (ex: "001-249914")
search_cjue44k arrêts CJUE + Tribunal UE
get_decision_cjueVia CELEX ou ECLI

Articles de loi (killer feature)

OutilDescription
get_law_articleArticle à une date donnée. Ex: ("CC","1128","1992-05-15") -> texte napoléonien ; ("CC","1128","2024-01-01") -> texte post-réforme. titre_texte = titre du texte parent ; la hiérarchie des sections (partie/livre/titre/chapitre) n'est pas ingérée du bulk LEGI et n'est donc pas renvoyée
get_law_versionsTimeline complète des versions d'un article
search_legiBM25 sur 1.5M articles consolidés (79 codes + Constitution + lois non codifiées). Un sigle code inconnu renvoie une erreur, jamais une recherche non filtrée déguisée en succès
search_decisions_citingCross-référence inverse : "quelles décisions citent l'article X ?"
resolve_law_numberNuméro loi/ord/décret -> LEGITEXT/JORFTEXT
build_source_urlURL Légifrance canonique pour un identifier

Droit positif complémentaire

OutilDescription
search_jorf1.24M textes JO (lois, décrets, arrêtés, circulaires depuis 1990)
search_kali335k conventions collectives + accords de branche
search_cnil~8k délibérations CNIL (RGPD, données personnelles)

Quick start

Claude Desktop / Claude.ai

Dans Settings -> Connectors -> Add custom connector :

URL : https://justicelibre.org/mcpAuth : aucune

ChatGPT / Cursor / Zed / Continue

Ajoute le serveur MCP https://justicelibre.org/mcp à ta config (cf doc de chaque client).

Auto-hébergement

bash
git clone https://github.com/Dahliyaal/justicelibre.gitcd justicelibrepip install -r requirements.txt
# Mode stdio (Claude Desktop)python3 server.py
# Mode Streamable HTTP (Claude.ai web, OpenAI connectors)python3 server.py http   # listen 0.0.0.0:8765

Exemples d'usage

Contentieux QPC

python
# Toutes les QPC sur l'article 8 DDHC ces 2 dernières annéessearch_cc(query="proportionnalité", nature="QPC",          date_min="2024-01-01", date_max="2026-01-01")

Recours CEDH

python
# Décisions CEDH France sur la garde à vuesearch_cedh(query="garde à vue France")# Texte intégralget_decision_cedh(itemid="001-249914")

Recherche jurisprudence administrative ciblée

python
# Tous les TA + CAA en parallèle sur "harcèlement institutionnel"search_admin(query="harcèlement institutionnel université",             sort="relevance", limit=30)# TA Lyon spécifiqueget_admin_decision(numero="2200433", juridiction="Tribunal Administratif de Lyon")

Article de loi à une date précise

python
# L. 262-8 CASF en vigueur au 1er janvier 2023get_law_article(code="CASF", num="L262-8", date="2023-01-01")# Toutes les versions historiquesget_law_versions(code="CC", num="1128")

Architecture

                        +---------------------+                        |   Client MCP        |                        | (Claude/ChatGPT/.)  |                        +----------+----------+                                   | Streamable HTTP                                   v                  +--------------------------------+                  |  justicelibre.org/mcp          |                  |  (FastMCP + nginx + cloudflare)|                  +--+-------+--------+--------+---+                     |       |        |        |        +------------+       |        |        +------------+        v                    v        v                     v  +--------------+  +--------------+ +--------------+  +--------------+  | Bulks DILA   |  | ArianeWeb    | | HUDOC API    |  | InforCuria   |  | (SQLite +    |  | (Sinequa CE) | | (CEDH)       |  | (CJUE)       |  |  FTS5 BM25)  |  |              | |              |  |              |  +--------------+  +--------------+ +--------------+  +--------------+       ~2.4M            ~270k           76k                44k
  • Bulks XML DILA téléchargés en local sur al-uzza (Hetzner) avec parsers Python
  • Index FTS5 SQLite par fond (jade.db, legi.db, jorf.db, kali.db, cnil.db)
  • Fallback live API pour la fraîcheur
  • Indexation Google : 3M+ URLs SSR via sitemap (vs SPA bot-blind chez les concurrents)

Sources de données

SourceVolumeAuthURL
DILA bulks (CASS/CAPP/CONSTIT/JADE/JORF/KALI/CNIL/LEGI)~6 M docsAucuneechanges.dila.gouv.fr
ArianeWeb Conseil d'État~270kAucuneconseil-etat.fr
opendata.justice-administrative.fr~1.5MAucuneopendata.justice-administrative.fr
HUDOC Cour EDH76kAucunehudoc.echr.coe.int
InforCuria CJUE44kAucunecuria.europa.eu
PISTE Judilibre (optionnel)toutes nouvelles décisionsOAuth2piste.gouv.fr

Données sous Licence Ouverte 2.0 (Etalab) - réutilisation libre avec mention de la source.


Limites légales respectées

JusticeLibre respecte strictement :

  • Article 226-18, 226-24, 226-31 Code pénal : interdiction de profiler les magistrats (jamais de stats par juge dans les outils exposés)
  • Loi 78-17 Informatique et Libertés : pseudonymisation respectée (ne pas ré-identifier les personnes anonymisées par DILA)
  • Licence Ouverte 2.0 : mention de source et date sur chaque page

Status & roadmap

  • V1 : 6 tools sur opendata.justice-administrative.fr (avril 2026)
  • V2 : +CEDH, CJUE, Légifrance/PISTE codes consolidés
  • V3 : Killer features articles loi + cross-référence décisions citant
  • V4 : Bulks DILA en MCP (BM25 admin, judiciaire libre, CC, CNIL, JORF, KALI)
  • V5 : Thésaurus FR (495 entrées) + search_all unifié + bonus autorité
  • V6 : SSR + sitemap (~3M URLs indexables Google), citations cliquables Légifrance dated, source attribution
  • Crawl complet TAs opendata (~1,5M en cours)
  • LLM extraction citations contextuelles ("même code", "présent code")
  • Embeddings BGE-M3 sur tout le corpus pour recherche sémantique

Communauté

  • Issues / suggestions : GitHub Issues
  • MCP Registry : PulseMCP
  • Built by : @Dahliyaal - projet né d'un usage personnel sur 8 fronts contentieux en parallèle (MDPH, RSA, Barreau, etc.). Outil né d'un besoin réel, pas d'un wrapper Légifrance pondu pour le SEO.

Contribuer

Tout PR bienvenue : nouveaux scrapers, fixes, traductions, exemples d'usage, intégrations clients MCP.

bash
git clone https://github.com/Dahliyaal/justicelibre.gitcd justicelibrebash tests/run_all.sh   # tests

Licence

MIT - Logiciel libre. Données sous Licence Ouverte 2.0 (Etalab).

Source: README.md at commit 117a9bc

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.1.0LatestSep 16, 2026