Skip to main content
Glama

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).

Zero-cloud / GDPR

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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matematicsolutions/mcp-fr-legal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server