Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"fr-eli-mcp": {
"args": [
"fr-eli-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Opublikowany na PyPI + MCP Registry (io.github.matematicsolutions/fr-eli-mcp). Uruchomienie bez klonowania:
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'fr-eli-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked fr-eli-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in legal
87 tools for Korean law — statutes, precedents, ordinances, interpretations | MCP Server · CLI · npm
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
Query 750+ Swedish statutes, EU cross-references, case law, and preparatory works
956k Swiss court decisions: full-text search, citation graph, statute lookup (DE/FR/IT)
MCP Security Weekly
Get CVE alerts and security updates for io.github.matematicsolutions/fr-eli-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Opublikowany na PyPI + MCP Registry (io.github.matematicsolutions/fr-eli-mcp). Uruchomienie bez klonowania:
uvx fr-eli-mcp
Wymaga kluczy PISTE w env: PISTE_CLIENT_ID, PISTE_CLIENT_SECRET (Legifrance/PISTE).
Konfiguracja klienta MCP (stdio):
{ "mcpServers": { "fr-eli-mcp": { "command": "uvx", "args": ["fr-eli-mcp"] } } }
(Budowanie ze źródeł — niżej.)
An MCP server for the French Legifrance API via PISTE. It searches French legislation (LODA laws & decrees, codes) and case law (JURI), and returns verbatim text with verifiable citations. Part of the eu-legal-mcp line of national legal connectors by MateMatic.
Every response carries the citation contract: a stable eli_uri, a human_readable_citation
(French convention) and a resolvable source_url.
Read-only. The server only queries Legifrance and writes a local audit log. It never modifies official text and never sends anything beyond your query / document id.
| Tool | What it does |
|---|---|
fr_search(query, fond, page_size) | Keyword search a fond: LODA (laws & decrees), CODE (codes), JURI (case law). Returns hits with the citation contract; CODE hits expose matched article_ids. |
fr_get_act(text_id, date) | Consult a LODA law/decree by LEGITEXT... id. Returns metadata + a table of contents (articles). |
fr_get_text(article_id) | Verbatim text of a single article by LEGIARTI... id. |
fr_get_decision(decision_id) | A JURI court decision by JURITEXT... id, with its native ecli, court, formation, solution and text. |
France has an official ELI scheme, but the PISTE lf-engine-app consult API returns the native
ELI field null for the legislation we tested. Following this line's rule - say what you do not
have, never fabricate an ELI - eli_uri carries the stable, resolvable Legifrance resource URL
(CID-keyed), not a /eli/... string parsed from prose. Each response repeats this in eli_note.
Case law is different: the API returns a native, authoritative ECLI
(e.g. ECLI:FR:CCASS:2025:C100399), surfaced verbatim in fr_get_decision.
Legifrance requires OAuth2 application credentials from a free PISTE account
(piste.gouv.fr → Applications → subscribe to the Legifrance API → OAuth Credentials).
Credentials are read from the environment only:
| Variable | Meaning |
|---|---|
FR_ELI_OAUTH_URL | OAuth token endpoint (sandbox default shown in .mcp.json.example). |
FR_ELI_BASE_URL | Legifrance lf-engine-app base. |
FR_ELI_CLIENT_ID | Your PISTE application client id (required). |
FR_ELI_CLIENT_SECRET | Your PISTE application client secret (required). |
FR_ELI_CACHE_DIR | Disk cache dir (default ~/.matematic/cache/fr-eli). |
FR_ELI_AUDIT_DIR | Audit log dir (default ~/.matematic/audit). |
Copy .mcp.json.example to .mcp.json (gitignored) and fill in your credentials, or set the
variables in your host environment. The OAuth token is cached in memory and refreshed automatically.
py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]" # Windows
# or: python -m pip install -e ".[dev]" # POSIX
pytest tests/test_instructions_drift.py tests/test_parse.py # offline, no creds
pytest tests/test_smoke.py -v # live, needs PISTE creds in .env
Because Legifrance requires a PISTE key, this connector is distributed through the PATRON / appliance channel (governed), not casual drop-in download. See the eu-legal-mcp line notes.
Apache-2.0. Legifrance content is © the French Republic / DILA and subject to the Legifrance / PISTE terms of use; this software only retri