Skip to main content
Glama

get_law_article

Read-only

Renvoie le texte d'un article de loi à une date donnée (ou version actuelle si date vide).

Particularité justicelibre : quand une décision de 1992 cite
l'article 1128 du Code civil, l'article a été totalement réécrit en
2016. Avec ce tool on récupère le texte **tel qu'il existait en 1992**
(l'ancienne version napoléonienne), pas le texte actuel.

Codes/textes supportés : ~80 sigles courts — les grands codes (CC, CP,
CPC, CPP, CT, CSP, CJA, CRPA, CSS, COJ, CGFP, LPF, CSI, CSport…), la
Constitution (CONST) et des lois non codifiées (LIL, LO58, L2005-102).
Liste complète : resource `justicelibre://codes-supportes`. Pour tout
autre texte (loi, ordonnance, décret), passer un identifiant
LEGITEXT/JORFTEXT direct — `resolve_law_number()` le trouve depuis un
numéro ("78-17" → JORFTEXT…).

Args:
    code: code court (ex : "CC" pour Code civil, "CT" pour Code du travail)
    num: numéro de l'article (ex : "1128", "L1152-1", "132-1")
    date: date ISO YYYY-MM-DD (optionnel — si absent, version en vigueur).
          Utiliser la date de la décision citante pour obtenir la
          version contemporaine de la citation.

Returns:
    dict avec `legiarti`, `num`, `code`, `titre_texte`, `texte`, `etat`
    (VIGUEUR/MODIFIE/ABROGE), `date_debut`, `date_fin`, `nota`. Plus
    un champ `note` si la version retournée n'est pas celle demandée.

    ⚠️ `titre_texte` est le titre du TEXTE parent (« Code civil »), pas
    celui de la section. La place de l'article dans le plan du code
    (partie / livre / titre / chapitre / section) n'est PAS disponible :
    la hiérarchie LEGISCTA n'est pas ingérée du bulk LEGI. Ne pas
    l'inventer — renvoyer vers Légifrance si l'utilisateur la demande.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
numYes
codeYes
dateNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotation, the description discloses important behavioral traits: a 1992 citation actually returns the pre-2016 rewritten text, the returned text may differ from requested date and then a `note` is provided, `titre_texte` names the parent code, and the LEGISCTA hierarchy is unavailable. This is rich, metadata-adding context that prevents incorrect agent interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but every sentence adds necessary context. It is organized into a summary, a Justicelibre-specific caveat, supported-code guidance, Args, Returns, and a warning section. Nothing is redundant or filler; the most important purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters and rich historical/corpus edge cases, the description answers all likely agent questions: what inputs mean, how output is structured, what caveats apply, how to handle unsupported identifiers, and what information is intentionally absent. The output schema exists and the description reinforces it without unnecessary repetition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no per-parameter descriptions (0% coverage), so the description fully compensates. It explains `code` with supported examples, `num` with concrete values like '1128' and 'L1152-1', and `date` as optional ISO YYYY-MM-DD with user instructions. Every parameter is given meaning beyond its type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete verb, target resource and temporal scope: 'Renvoie le texte d'un article de loi à une date donnée'. It also clarifies a non-obvious historical-version behavior, which removes ambiguity about what 'version' means, and distinguishes this tool from sibling tools like get_law_versions or search_legi.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use the tool, how date should be set ('Utiliser la date de la décision citante'), and what to do outside the supported corpus: for unsupported texts, pass a LEGITEXT/JORFTEXT identifier and use resolve_law_number(). It even tells the agent to redirect to Légifrance rather than inventing LEGISCTA hierarchy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

The tools are mostly distinct by legal source (admin, CC, CEDH, CJUE, etc.) and by action (search vs. retrieve). However, pairs like search_admin vs. search_conseil_etat both target Council of State jurisprudence, and get_decision_text could be mistaken for a generic decision retriever, creating some potential confusion despite detailed descriptions.

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case pattern with action-first naming (get_, search_, list_, build_, resolve_, about_). The get_decision_* and search_* prefixes clearly separate retrieval from search, and modifiers like _libre and _recent are applied systematically.

Tool Count2/5

With 31 tools, the server is heavy, exceeding the 25+ threshold for 'too many.' While the breadth of French legal sources justifies many search/retrieval tools, the three recent admin variants and the redundant PISTE vs. libre duplicates suggest the set could be consolidated. The count feels disproportionate to the core purpose of legal research.

Completeness4/5

The tool set covers the full read lifecycle for legal research: orientation (about), search across all major sources, full-text retrieval for each source, law article lookup with historical versions, and URL building. Minor gaps exist, such as lacking a structured code browse or a direct way to enumerate all articles in a section, but these are workarounds via search_legi and get_law_article.

Resources