LibreJustice

SSE

by librejustice

78 downloads Not rated yet

About

Free remote MCP server over French and European case law and legislation: ~3.7M decisions from both French court orders plus the ECHR and the CJEU, and legal texts as they read on any past date.

Details

Transport
SSE

Explore

Setup

Install LibreJustice in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/librejustice/librejustice

Follow the installation instructions in the repository README, then restart your MCP client.

search_decisions

Search decisions by meaning and keywords combined. Returns a shortlist: `title`, `url`, an overview (`aiSummary`: AI-written summary of what the decision is about, a machine paraphrase never quotable as the court's words; or `snippet`: the verbatim passage where your keywords matched) and metadata; get_decision reads the full text. Put constraints in the structured filters (jurisdiction, dates, articles, codes), keep the query for the legal issue. Values within one filter are OR'd; different …

get_decision

Fetch the full text and metadata of a decision by its `url`. The text carries inline markdown links to cited articles (/texte/, open with get_legal_text) and cited decisions (/decision/, open with get_decision); a citation spanning several articles (« articles 3 à 6 », « et suivants ») links its first article and appends the others as labelled links right after the span. `appellateFate` states in one line what became of THIS decision on review (INFIRMATION = reversed, it no longer stands; CON…

list_my_activity

List the authenticated user's own activity, most recent first. `kind` selects which tab: 'searches' (past queries with their structured `filters` and `source`), 'bookmarks' or 'readingHistory' (decisions, each with `title`, a `summary` and the `url` to chain into get_decision), or 'all' to get the three at once. Only the requested tab(s) are populated. In readingHistory, `lastSource` == 'web' means the user opened the decision manually at least once (a genuine read); 'mcp' means it was only e…

get_legal_text

Fetch a statutory article as it read on a given date, by its `url` (any /texte/ link). Returns the version in force at `date` (omit for today): full text, status, validity dates, and the timeline of all versions — say which version you quote. The text carries inline markdown links to cross-referenced articles (/texte/, open with get_legal_text; when served at a date, the links point to the same date). `commentaires` carries institutional commentary anchored on the article (analyses inline, li…

search_legal_texts

Find statutory articles from their subject or wording when the article number is unknown; returns a ranked shortlist with highlighted snippets and the exact `total`. Query in French, descriptive terms (« délai de recours contentieux refus implicite »); put the code in the `code` filter (slug or exact name), keep the query for the subject. The response carries a `facets` block (`code`, `jurisdiction`): per filter name, a map of filter value to article count — reuse those keys verbatim to refin…

Utiliser LibreJustice depuis un assistant IA

Le serveur MCP public esthttps://librejustice.fr/mcp(OAuth 2.1 avec enregistrement dynamique de client : aucune clé à configurer). Cinq outils :search_decisions,get_decision,search_legal_texts,get_legal_text,list_my_activity.

Avec Claude Code, le plugin installe le connecteur et les skills d'usage :

/plugin marketplace add librejustice/librejustice /plugin install librejustice@librejustice

Les skills seuls (sans le connecteur MCP) s'installent dans n'importe quel agent compatible via](https://librejustice.fr)skills:

npx skills add librejustice/librejustice

Sur claude.ai, LibreJustice est listé dans le répertoire des connecteurs :claude.ai/directory/connectors/librejustice. Un clic, puis l'autorisation OAuth. Avec ChatGPT, Le Chat ou Perplexity : ajouter un connecteur custom pointant surhttps://librejustice.fr/mcp.

Nœud mono-serveurPostgres + ParadeDB + VectorChord(recherche hybride BM25 + vecteurs), API et front en Rust.

Workspace Cargopur Rust, scindé en deux racines :

- packages/— bibliothèques :

- lj-core— cœur pur : parsing / normalisation / extraction, résumé, refs légales.
- lj-extract— extraction des champs et citations des décisions.
- lj-sources— I/O sources (Judilibre JSON, ZIP/XML opendata).
- lj-store— accès Postgres (tokio-postgres + deadpool) + migrations.
- lj-llm— backends embedding + cache + quantisation + client Mistral (chat/OCR).
- lj-dtos— contrats API ↔ web (serde).
- lj-telemetry— tracing + export OTLP.
- lj-api— couche API (Axum + MCP rmcp + OAuth).
- lj-web— front Leptos (SSR + hydratation WASM), Tailwind.

- lj-server— déploiement unique : API + MCP/OAuth + SSR.
- lj-ingest— CLI d'ingestion + runner cron.

La toolchain Rust est épinglée parrust-toolchain.toml. On utilisemisepour les tâches :

mise run test # rustfmt --check + clippy -D warnings + cargo test --workspace mise run dev # lj-server fusionné (cargo leptos watch, :3000)

Pour une base locale :mise run dbs. La tâche prépare l'état de Postgres sousLIBREJUSTICE_STATE_DIR— propriétaire du répertoire de données, et copie de la configuration montée par le conteneur — avant de le démarrer.

Mono-serveur viapodman compose(infra/docker-compose.yml) : Postgres (ParadeDB + VectorChord), le binaire fusionnélj-server, un frontcaddyet le cron d'ingestion. Renseigner.env(voir.env.example), puis :

mise run ensure-pg # état + conf Postgres podman compose -f infra/docker-compose.yml --profile prod up -d --build podman compose -f infra/docker-compose.yml exec -T cron lj-ingest migrate # migrations

lj-serversert l'API, le MCP/OAuth, le SSR et les assets. Il écoute en clair ; c'estcaddyqui tient:443et termine le TLS, de sorte que la socket reste liée quand le conteneur applicatif est recréé.

La configuration Postgres livrée (infra/pg-conf/) porte ce que l'application exige — extensions, réglages ParadeDB, compression — avec un dimensionnement de machine de développement. Une instance de production relèveshared_bufferseteffective_cache_sizeselon son matériel.

The 1Password MCP server creates a bridge that allows MCP clients such as Codex and Kiro to manage your 1Password Environments with secure authorization prompts.

This is the 1st, easiest, and cheapest PPT, slides, presentation AI generation MCP Server in the world.

Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.

A MCP server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.

Enables LLM clients to interact with macOS applications through AppleScript. Built using the @beyondbetter/bb-mcp-server library, this server provides safe, controlled execution of predefined scripts with optional support for arbitrary script execution.

An MCP server for WordPress plugin audits

Turn your AI assistant into a digital marketing hub that creates, organizes, and analyzes links and QR Codes on demand.

Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.

Sync Calendars, Scheduling Links, AI Executive Scheduling Assistant, Unified Calendar

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.