What France Legi MCP server does
The France Legi MCP server gives AI agents access to consolidated French codes published through DILA's LEGI data, including the Code civil, Code pénal, Code du travail, Code de commerce, Code général des impôts, and other codes in force. The data is organized article by article and version by version.
It is suited to research tasks that need the text of a provision, the position of an article within a code, the state of a rule on a particular date, or the history of amendments. Responses include source information, the date of the latest applied data update, and attribution for the underlying DILA data. Articles also link to their Légifrance pages.
How it works
The hosted connection uses the Pipeworx gateway at https://gateway.pipeworx.io/france-legi/mcp. A local package is also available through npm and communicates over MCP using standard input and output. The gateway endpoint exposes the France Legi tools along with shared Pipeworx tools; the local process exposes only the pack's own tools.
The server accepts official code titles, common short names such as civil, travail, CGI, CPP, CSP, and CCH, or a Légifrance code identifier. Article and search requests can include a date to inspect the text applicable at that time.
Setup and configuration
Add the hosted endpoint to an MCP client with a URL entry:
{
"mcpServers": {
"france-legi": {
"url": "https://gateway.pipeworx.io/france-legi/mcp"
}
}
}
For local stdio use, configure the npm package instead:
{
"mcpServers": {
"france-legi": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-france-legi"]
}
}
}
The integration is keyless. A standalone process has no article data available without the gateway, so data calls return an error rather than an empty result. The tools can also be called over the gateway's HTTP API without an MCP client.
Tools and capabilities
The France Legi MCP server provides four primary tools:
fr_code_article retrieves an article by code and number, optionally for a specified date. It returns text, dates, hierarchy, notes, and known versions. Former or renumbered articles are marked as not in force rather than treated as missing.
fr_legi_search ranks matching articles in force by text or section headings. It supports quoted phrases, code filtering, dates, and result limits.
fr_code_toc returns a code's hierarchy and the article numbers beneath each section. A section identifier can be used to expand a branch.
fr_article_versions lists consolidated versions with statuses, dates, and optional text.
Search uses accent-insensitive word matching and BM25 ranking over article text and headings. The index includes articles in force or scheduled to enter into force when indexed.
Limitations and notes
The dataset covers codes in force, not the complete LEGI collection. Non-codified laws, ordinances, decrees, selected orders, and 29 abrogated codes are not loaded. Historical numbering requires care because an old number may later identify a different rule; version and date fields should be checked when tracing amendments.
The data is derived from DILA's LEGI archive and its daily updates. Each response reports data_as_of, so callers can identify the latest applied update. Reuse requires attribution to DILA, the LEGI base, the Licence Ouverte 2.0, and the relevant update date. The integration is independent and unofficial; its attribution does not make reused material an official publication.