Skip to main content
Glama

search_legislation

Read-onlyIdempotent

Keyword search in French codes and statutes (LEGI), the Journal officiel (JORF), agreements (KALI) or EU law. Known article: get_law_article. Keywords in French.

Example: search_legislation(query="harcèlement moral", code="CT") Agreement (corpus="kali"): idcc="1486" without query → table of contents; query="Syntec" → agreements, texts; KALI id → sections or text.

Args: query: keywords (all required; "in double quotes": exact form), or a KALI id; optional for kali with idcc; OR/AND/NOT/NEAR in UPPERCASE between two words are operators (NEAR = within 10 words); lowercase words are plain words corpus: legi | jorf | kali | europe (CEDH, treaties) | ue (EU acts) code: code abbreviation or name ("CT", "code du travail", "CEDH", "RGPD") nature: jorf: LOI, DECRET, ARRETE… idcc: kali: IDCC number date_min: YYYY-MM-DD (legi, jorf) date_max: YYYY-MM-DD (legi, jorf) limit: per page (max 50) offset: offset tout: kali: repealed texts too

Input Schema

NameRequiredDescriptionDefault
codeNocode abbreviation or name ("CT", "code du travail", "CEDH", "RGPD")
idccNokali: IDCC number
toutNokali: repealed texts too
limitNoper page (max 50)
queryNokeywords (all required; "in double quotes": exact form), or a KALI id; optional for kali with idcc; OR/AND/NOT/NEAR in UPPERCASE between two words are operators (NEAR = within 10 words); lowercase words are plain words
corpusNolegi | jorf | kali | europe (CEDH, treaties) | ue (EU acts)legi
natureNojorf: LOI, DECRET, ARRETE…
offsetNooffset
date_maxNoYYYY-MM-DD (legi, jorf)
date_minNoYYYY-MM-DD (legi, jorf)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / corpus / description
      Previous value: -"legi | jorf | kali | europe | ue (EU acts)"New value: +"legi | jorf | kali | europe (CEDH, treaties) | ue (EU acts)"
    • changedInput schema / properties / limit / description
      Previous value: -"results per page (max 50)"New value: +"per page (max 50)"
    • changedInput schema / properties / tout / description
      Previous value: -"kali: include repealed texts"New value: +"kali: repealed texts too"
  2. Changed3 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"legi: code abbreviation or name (\"CT\", \"code du travail\", \"CEDH\")"New value: +"code abbreviation or name (\"CT\", \"code du travail\", \"CEDH\", \"RGPD\")"
    • changedInput schema / properties / corpus / description
      Previous value: -"legi | jorf | kali | europe"New value: +"legi | jorf | kali | europe | ue (EU acts)"
    • changedInput schema / properties / offset / description
      Previous value: -"pagination offset"New value: +"offset"
  3. Changed2 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"legi: code abbreviation or name (\"CT\", \"code du travail\")"New value: +"legi: code abbreviation or name (\"CT\", \"code du travail\", \"CEDH\")"
    • changedInput schema / properties / corpus / description
      Previous value: -"legi | jorf | kali"New value: +"legi | jorf | kali | europe"
  4. Changed11 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"pour legi : limiter à un code (sigle ou nom)"New value: +"legi: code abbreviation or name (\"CT\", \"code du travail\")"
    • changedInput schema / properties / date_max / description
      Previous value: -"AAAA-MM-JJ (legi, jorf)"New value: +"YYYY-MM-DD (legi, jorf)"
    • changedInput schema / properties / date_min / description
      Previous value: -"AAAA-MM-JJ (legi, jorf)"New value: +"YYYY-MM-DD (legi, jorf)"
    • changedInput schema / properties / idcc / description
      Previous value: -"pour kali : n° IDCC ; seul (query vide) : sommaire"New value: +"kali: IDCC number"
    • changedInput schema / properties / limit / description
      Previous value: -"résultats par page"New value: +"results per page (max 50)"
    • changedInput schema / properties / nature / description
      Previous value: -"pour jorf : LOI, DECRET, ARRETE, ORDONNANCE…"New value: +"jorf: LOI, DECRET, ARRETE…"
    • changedInput schema / properties / offset / description
      Previous value: -"décalage de pagination"New value: +"pagination offset"
    • addedInput schema / properties / query / default
      Added value: +""
    • changedInput schema / properties / query / description
      Previous value: -"mots-clés (tous doivent figurer dans l'article, au singulier ou au pluriel ; entre guillemets : forme exacte). kali : un id KALICONT/KALITEXT rend la convention ou le texte entier"New value: +"keywords (all required; \"in double quotes\": exact form), or a KALI id; optional for kali with idcc; OR/AND/NOT/NEAR in UPPERCASE between two words are operators (NEAR = within 10 words); lowercase words are plain words"
    • addedInput schema / properties / tout
      Added value: +{
      +  "default": false,
      +  "description": "kali: include repealed texts",
      +  "title": "Tout",
      +  "type": "boolean"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  5. Changed2 schema fields changed
    • changedInput schema / properties / idcc / description
      Previous value: -"pour kali : n° IDCC de la convention"New value: +"pour kali : n° IDCC ; seul (query vide) : sommaire"
    • changedInput schema / properties / query / description
      Previous value: -"mots-clés (tous doivent figurer dans l'article, au singulier ou au pluriel ; entre guillemets : forme exacte)"New value: +"mots-clés (tous doivent figurer dans l'article, au singulier ou au pluriel ; entre guillemets : forme exacte). kali : un id KALICONT/KALITEXT rend la convention ou le texte entier"
  6. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"mots-clés (tous doivent figurer dans l'article)"New value: +"mots-clés (tous doivent figurer dans l'article, au singulier ou au pluriel ; entre guillemets : forme exacte)"
  7. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior: keywords must be in French, limit is capped at 50 per page, KALI tout includes repealed texts, and operator syntax (OR/AND/NOT/NEAR, NEAR=within 10 words).

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

Conciseness3/5

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

The top portion is well front-loaded (purpose, alternative, example, corpus behavior), but the Args block duplicates all ten parameter descriptions that already appear at 100% coverage in the schema, so a large fraction of the text does not earn its place.

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

Completeness4/5

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

For a 10-parameter search tool with an output schema (so return values needn't be explained), the description covers corpora, filters, operators and pagination adequately. Only minor gaps remain, such as rate limits or default result ordering.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description's Args block largely restates the schema verbatim; the only marginal added meaning is the worked example (query + code) and the corpus-specific behavior notes, which do not add syntax or format detail beyond the schema.

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?

States a specific verb (keyword search) and names the exact resources and corpora it covers (LEGI codes/statutes, JORF, KALI agreements, EU law). It also explicitly routes the 'known article' case to the sibling get_law_article, so an agent can distinguish it from that tool without opening either schema.

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

Usage Guidelines4/5

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

Gives clear usage context: it names get_law_article as the alternative for a known article and explains per-corpus behavior (kali with idcc → table of contents; query='Syntec' → agreements; KALI id → sections). It does not state explicit exclusions or when not to use it, but the routing guidance is concrete.

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.

Resources