io.github.matematicsolutions/fr-eli-mcp
MCP server for French Legifrance (PISTE): legislation and case law with citations and ECLI.
Versions
0.1.0latestTools 8
fr_search Keyword-search French legislation or case law on Legifrance. Args: query: free-text query (e.g. "republique numerique", "responsabilite"). fond: one of ``LODA`` (laws & decrees), ``CODE`` (codes), ``JURI`` (Cour de cassation case law), ``CONSTIT`` (Conseil constitutionnel - QPC/DC decisions), ``CETAT`` (administrative case law: Conseil d'Etat, cours administratives d'appel, tribunaux administratifs), ``CNIL`` (CNIL deliberations, incl. sanctions), ``KALI`` (collective labour agreements / conventions collectives), ``ACCO`` (company-level agreements - metadata + search only). page_size: number of hits (1..100). Returns: ``SearchResult`` with ``hits``, each carrying the citation contract.
fr_get_act Consult a LODA law or decree by its ``LEGITEXT...`` id. Args: text_id: a ``LEGITEXT...`` identifier (from ``fr_search`` on fond ``LODA``). date: version date ``YYYY-MM-DD`` (default: today - the version in force now). Returns: ``Act`` with metadata, citation and a table of contents (``articles``).
fr_get_text Fetch the verbatim text of a single article (``LEGIARTI...`` or ``KALIARTI...``). Args: article_id: a ``LEGIARTI...`` identifier (from ``fr_get_act`` or a ``CODE`` search hit), or a ``KALIARTI...`` identifier (from ``fr_get_convention``). Returns: ``ArticleText`` with the article ``text``, citation and ``source_url``.
fr_get_decision Consult a court decision by its id (returns the native ECLI). Covers three jurisdictions via the same Legifrance ``consult/juri`` endpoint: - ``JURITEXT...`` - Cour de cassation / cours d'appel (fond ``JURI``). - ``CONSTEXT...`` - Conseil constitutionnel QPC/DC decisions (fond ``CONSTIT``). - ``CETATEXT...`` - Conseil d'Etat, CAA, TA administrative case law (fond ``CETAT``). Args: decision_id: a ``JURITEXT...``, ``CONSTEXT...`` or ``CETATEXT...`` identifier (from ``fr_search`` on fond ``JURI``, ``CONSTIT`` or ``CETAT`` respectively). Returns: ``Decision`` with ``ecli``, court, formation, solution and the decision ``text``.
fr_get_deliberation Consult a CNIL deliberation by its ``CNILTEXT...`` id. Args: deliberation_id: a ``CNILTEXT...`` identifier (from ``fr_search`` on fond ``CNIL``). Returns: ``Deliberation`` with the deliberation ``text``, nature (e.g. ``Sanction``), citation and ``source_url``. CNIL deliberations carry no ECLI/ELI - none is invented.
fr_get_convention Consult a collective labour agreement text by its ``KALITEXT...`` id. Args: convention_id: a ``KALITEXT...`` identifier (from ``fr_search`` on fond ``KALI``). Returns: ``Act`` with metadata, citation and a table of contents whose ``KALIARTI...`` ``article_id`` values resolve through ``fr_get_text``.
fr_coverage Declare what this connector covers, how it is sourced, and what it does NOT cover. Call this before telling a user that the law "does not contain" something, and whenever a search comes back empty: the absence may be a gap in this connector rather than in the law. Every gap carries a fallback saying where to look instead. Returns: ``Coverage`` with families, an as-of note, and a non-empty list of known gaps.
fr_get_company_agreement Consult a company-level agreement by its ``ACCOTEXT...`` id - METADATA ONLY. Legifrance distributes the full text of ACCO agreements only as a ``.docx`` attachment, so this tool returns the agreement metadata (company, SIRET, IDCC, sector, themes, signatory unions, dates) plus the resolvable ``source_url``. Args: agreement_id: an ``ACCOTEXT...`` identifier (from ``fr_search`` on fond ``ACCO``). Returns: ``CompanyAgreement`` metadata with citation and ``source_url``.
Permissions 3
network medium filesystem low env_vars low