Odel
justicelibre

justicelibre

@dahliyaalData & Analytics2PythonMITUpdated 1w ago

Free access to ~1M French administrative court decisions via MCP

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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✅ 26k❌❌⚠❌
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_decisionDécision CC par numéro (ex: "2023-1048 QPC")

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 (avec dĂ©sambiguĂŻsation par juridiction)
get_ce_decisionCE spécifique avec fallback ArianeWeb
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
get_law_versionsTimeline complĂšte des versions d'un article
search_legiBM25 sur 1.5M articles consolidés (22 codes + Constitution + lois non codifiées)
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_cnil26k délibérations CNIL (RGPD, données personnelles)

Quick start

Claude Desktop / Claude.ai

Dans Settings -> Connectors -> Add custom connector :

URL : https://justicelibre.org/mcp
Auth : aucune

ChatGPT / Cursor / Zed / Continue

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

Auto-hébergement

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

Exemples d'usage

Contentieux QPC

# 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")

Recours CEDH

# Décisions CEDH France sur la garde à vue
search_cedh(query="garde Ă  vue France")
# Texte intégral
get_decision_cedh(itemid="001-249914")

Recherche jurisprudence administrative ciblée

# 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")

Article de loi à une date précise

# 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")

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.

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

Licence

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