🌐 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.
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.
| Source | Volume | Couverture |
|---|---|---|
| Cour de cassation + cours d'appel + Conseil constitutionnel | 1 169 102 | DILA bulks + Judilibre PISTE |
| Conseil d'État + 9 CAA + 40 TA (JADE bulk) | 552 576 | DILA bulk |
| Open data justice administrative (CE/CAA/TA récents) | 985 996 | API justice-administrative.fr |
| ArianeWeb (Conseil d'État) | 70 396 | scrape Sinequa |
| Cour Européenne des Droits de l'Homme | 76 051 | HUDOC (FR + fallback EN) |
| Cour de Justice de l'Union Européenne | 44 270 | EUR-Lex / Cellar |
| INCA (jurisprudence judiciaire ancienne) | 382 480 | DILA bulk |
| TOTAL décisions | ~3,28 M | |
| Articles de loi en vigueur (LEGI) | 1 481 309 | DILA bulk |
| Conventions collectives (KALI) | 286 732 | DILA bulk |
| JO (textes non codifiés) | 409 564 | DILA bulk |
| Délibérations CNIL | 8 126 | DILA bulk |
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
| JusticeLibre | Pappers Justice | OpenLegi | mcp-juridique.fr | Doctrine.fr | |
|---|---|---|---|---|---|
| Gratuit | ✅ | ❌ payant | partiel | ❌ payant | ❌ 50€/mois |
| Sans inscription | ✅ | ❌ | ❌ | ❌ | ❌ |
| Cour EDH | ✅ 76k décisions | ❌ | ❌ | ❌ | |
| CJUE | ✅ 44k arrêts | ❌ | ❌ | ❌ | |
| Conseil constit. | ✅ 7k décisions + tool dédié | ❌ | ✅ | ||
| 40 TA en parallèle | ✅ fan-out | ❌ | ❌ | ✅ | |
| 9 CAA en parallèle | ✅ fan-out | ❌ | ❌ | ✅ | |
| CNIL délibérations | ✅ ~8k | ❌ | ❌ | ❌ | |
| Articles loi versionnés | ✅ 1.5M | ✅ | |||
| BM25 pertinence | ✅ | ✅ | |||
| Open source | ✅ MIT | ❌ | ❌ | ❌ | |
| MCP natif | ✅ Streamable HTTP | ✅ | ✅ | ✅ | ❌ (REST seul) |
| Indexable Google | ✅ 3M SSR pages | ❌ SPA | ❌ | ❌ | ❌ |
| Outil | Description |
|---|---|
search_all |
Fan-out parallèle sur toutes les sources, ranking BM25 + bonus autorité (CE +20%, Cass +15%, CEDH +15%, CAA +10%) |
about_justicelibre |
Présentation des tools, hiérarchie d'autorité, workflow recommandé |
| Outil | Description |
|---|---|
search_judiciaire_libre |
1.17M décisions (Cass + CA + Conseil constit.) - bulk DILA, sans auth |
get_decision_judiciaire_libre |
Texte intégral via JURITEXT/CONSTEXT id |
search_judiciaire |
Live PISTE Judilibre (besoin OAuth) |
get_decision_judiciaire |
Texte via PISTE |
search_cc |
Conseil constitutionnel dédié (7112 décisions, filtre par nature : QPC/DC/L/SEN/AN/PDR) |
get_cc_decision |
Cette 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"') |
| Outil | Description |
|---|---|
search_admin |
BM25 pondéré sur 552k décisions admin bulk JADE |
get_admin_decision |
Lookup 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_decision |
CE 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_text |
Texte intégral via DCE/DTA/DCAA id |
search_admin_recent / _all_caa / _all_ta |
Tri date desc pour l'actualité |
list_juridictions |
51 codes juridiction (CE, CAA13...78, TA06...109) |
| Outil | Description |
|---|---|
search_cedh |
76k décisions Cour EDH avec sémantique ECHR |
get_decision_cedh |
Texte via itemid (ex: "001-249914") |
search_cjue |
44k arrêts CJUE + Tribunal UE |
get_decision_cjue |
Via CELEX ou ECLI |
| Outil | Description |
|---|---|
get_law_article |
Article à 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_versions |
Timeline complète des versions d'un article |
search_legi |
BM25 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_citing |
Cross-référence inverse : "quelles décisions citent l'article X ?" |
resolve_law_number |
Numéro loi/ord/décret -> LEGITEXT/JORFTEXT |
build_source_url |
URL Légifrance canonique pour un identifier |
| Outil | Description |
|---|---|
search_jorf |
1.24M textes JO (lois, décrets, arrêtés, circulaires depuis 1990) |
search_kali |
335k conventions collectives + accords de branche |
search_cnil |
~8k délibérations CNIL (RGPD, données personnelles) |
Dans Settings -> Connectors -> Add custom connector :
URL : https://justicelibre.org/mcp
Auth : aucune
Ajoute le serveur MCP https://justicelibre.org/mcp à ta config (cf doc de chaque client).
git clone https://github.com/Dahliyaal/justicelibre.git
cd justicelibre
pip 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# Toutes les QPC sur l'article 8 DDHC ces 2 dernières années
search_cc(query="proportionnalité", nature="QPC",
date_min="2024-01-01", date_max="2026-01-01")# Décisions CEDH France sur la garde à vue
search_cedh(query="garde à vue France")
# Texte intégral
get_decision_cedh(itemid="001-249914")# 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écifique
get_admin_decision(numero="2200433", juridiction="Tribunal Administratif de Lyon")# L. 262-8 CASF en vigueur au 1er janvier 2023
get_law_article(code="CASF", num="L262-8", date="2023-01-01")
# Toutes les versions historiques
get_law_versions(code="CC", num="1128") +---------------------+
| 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)
| Source | Volume | Auth | URL |
|---|---|---|---|
| DILA bulks (CASS/CAPP/CONSTIT/JADE/JORF/KALI/CNIL/LEGI) | ~6 M docs | Aucune | echanges.dila.gouv.fr |
| ArianeWeb Conseil d'État | ~270k | Aucune | conseil-etat.fr |
| opendata.justice-administrative.fr | ~1.5M | Aucune | opendata.justice-administrative.fr |
| HUDOC Cour EDH | 76k | Aucune | hudoc.echr.coe.int |
| InforCuria CJUE | 44k | Aucune | curia.europa.eu |
| PISTE Judilibre (optionnel) | toutes nouvelles décisions | OAuth2 | piste.gouv.fr |
Données sous Licence Ouverte 2.0 (Etalab) - réutilisation libre avec mention de la source.
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
- 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
- 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.
Tout PR bienvenue : nouveaux scrapers, fixes, traductions, exemples d'usage, intégrations clients MCP.
git clone https://github.com/Dahliyaal/justicelibre.git
cd justicelibre
bash tests/run_all.sh # testsMIT - Logiciel libre. Données sous Licence Ouverte 2.0 (Etalab).