Skip to main content
Glama
mcp-fr-legal

mcp-fr-legal

mcp-fr-legal

An MCP server exposing an offline corpus of French law (Legifrance / DILA, full text) in a local SQLite FTS5 database, with tools for search and citation grounding. Snippets are returned verbatim from the database (zero-LLM), each with a document_id, a provision_ref and a Legifrance URL. Anti-hallucination by mechanism, not by trust in the model.

Scope: consolidated LEGI codes and statutes (Code civil, Code du travail, Code penal, Code de commerce, Code de la defense, Code de la securite interieure, ...) - 3,953 documents / 193,681 provisions in the bundled snapshot. No case law (jurisprudence) and no full JORF.

Part of the MateMatic law-connector family: mcp-saos (PL case law), mcp-eu-compliance (EU law), mcp-eu-sparql (live EUR-Lex).

Installation

npm install            # Node 22.5+ (node:sqlite built in, FTS5)
npm run fetch-corpus   # downloads database.db (~303 MB) from the DILA/Ansvar artifact (Apache-2.0 + Etalab)
npm run build
npm start

Air-gapped / fully offline: point FR_LEGAL_DB at a local copy of database.db.

MCP client configuration:

{ "name": "fr-legal", "command": "node", "args": ["/path/to/mcp-fr-legal/dist/index.js"] }

Related MCP server: French Law MCP Server

Tools

Tool

Description

fr_search(query, documents?, limit?)

Full-text (FTS5) over provisions, verbatim snippets + citations.

fr_article(document_id, provision_ref)

Full verbatim text of a provision (tolerant provision_ref).

fr_validate_citation(document_id, provision_ref)

Grounding: whether the citation exists (fail-closed) - anti-hallucination.

fr_list_documents(type?, query?)

List documents (discovery of document_id).

Every tool returns structuredContent.citations (document_id, provision_ref, Legifrance URL, source_authority DILA, license Etalab v2.0, snapshot, age_days, and a staleness_advisory when the snapshot is older than the FR_STALENESS_DAYS threshold (365 by default) - provenance and staleness modelled on russellbrenner/jurisd, Apache-2.0).

Grounding (anti-hallucination)

fr_validate_citation is a grounding primitive: it mechanically checks whether document_id + provision_ref exists in the corpus. Fail-closed - a missing document or provision yields provision_exists=false (not "probably ok"). It plugs into citation-grounding-pl as the anchor resolver for French law (EXISTENCE level).

Where data goes

No network calls at runtime (the database is opened read-only). Corpus bootstrap (fetch-corpus) is the only moment a network is used. Text is returned verbatim (grounding). For currency, check Legifrance (a snapshot is not the authoritative source - the Journal officiel is).

License and attribution

Citation: MateMatic Solutions (2026), mcp-fr-legal - an offline MCP corpus of French law (Legifrance/DILA), MIT. Data: DILA, Licence Ouverte v2.0.

Available Tools

4 tools
fr_articleA
Read-onlyIdempotent

Pelny verbatim tekst przepisu (document_id + provision_ref, np. 'code-travail' + 'L1233-15'). provision_ref tolerancyjny ('Article L. 1233-15' == 'L1233-15'). Kody bledow: missing_arg, not_found, corpus_error.

Inputs: document_id (required), provision_ref (required).

fr_list_documentsA
Read-onlyIdempotent

Lista dostepnych dokumentow (kody/ustawy) - discovery document_id. Opcjonalnie filtr type (np. 'statute') i query (fraza w tytule). Kody bledow: corpus_error.

Inputs: type, limit, query.

fr_validate_citationA
Read-onlyIdempotent

Grounding: czy cytat (document_id + provision_ref) ISTNIEJE w korpusie (anti-halucynacja). Fail-closed: brak dokumentu/przepisu => provision_exists=false. Zwraca document_exists, provision_exists, in_force + citation. Kody bledow: missing_arg, corpus_error.

Inputs: document_id (required), provision_ref (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a distinct purpose: retrieving a specific article, listing available documents, full-text search, and citation validation. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent pattern with 'fr_' prefix and snake_case verbs/nouns (article, list_documents, search, validate_citation).

    Tool Count5/5

    Four tools is well-scoped for a legal research server, covering essential operations without unnecessary complexity.

    Completeness5/5

    The set covers retrieval, listing, search, and validation—core operations for legal reference. No obvious missing functionality given the domain.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides access to official French legal databases (Légifrance and JudiLibre) to search and retrieve French legislation, legal codes, case law, and judicial decisions through authenticated APIs.
      37
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides local, offline semantic search across 24 Russian Federation legal codes using natural-language queries, with tools to retrieve full articles by identifier and list available codes.
      BSD 2-Clause "Simplified"
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to look up Chinese laws and statutory articles fully offline from a local SQLite database, resolving a law name plus article number to verbatim text, searching articles by keyword, and retrieving a law's chapter structure and version history. It also verifies citations in bulk, checking whether each quoted provision exists word-for-word and is currently in force.
      6
      MIT