Skip to main content
Glama

Lex — Temporal Luxembourg and EU Law

Server Details

Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
51.3% over 51 days
Last Tested
Transport
Streamable HTTP
URL
Repository
SFHAJJI/lex
GitHub Stars
9
Server Listing
Lex: Luxembourg Law MCP Server

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation2/5

Several tools cluster around temporal/version semantics—article_history, timeline, diff, changes_in_period, as_of, and in_force_on—with subtle boundaries. Although the descriptions specify distinct granularities, an agent could easily misselect between timeline and article_history or between as_of and in_force_on.

Naming Consistency3/5

All names are lowercase snake_case, but the set mixes bare nouns (coverage, timeline, provenance), verb phrases (search, changes_in_period), and prepositional phrases (as_of, in_force_on). There is no consistent verb_noun pattern, though the names remain readable and mostly indicative of their purpose.

Tool Count5/5

Ten tools is a well-scoped size for a specialized legal-temporal corpus. Each tool covers a distinct workflow—search, retrieval, history, diff, aggregate changes, citations, coverage, provenance—so the count feels justified rather than bloated or thin.

Completeness4/5

The surface covers the full temporal lifecycle: search, point-in-time lookup, article/document history, diff, aggregate change reporting, in-force semantics, reverse citations, coverage gaps, and provenance. A minor gap is the lack of an explicit document metadata or browse/list endpoint, but search plus as_of and timeline covers most workflows.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • Changedarticle_history2 fields changed
      • addedInput schema / properties / from_date
        Added value: +{
        +  "description": "optional ISO date: keep only the states in force at or after it",
        +  "maxLength": 10,
        +  "minLength": 1,
        +  "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",
        +  "type": "string"
        +}
      • addedInput schema / properties / to_date
        Added value: +{
        +  "description": "optional ISO date: keep only the states that began on or before it",
        +  "maxLength": 10,
        +  "minLength": 1,
        +  "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",
        +  "type": "string"
        +}
    • Changedas_of3 fields changed
      • addedInput schema / allOf
        Added value: +[
        +  {
        +    "if": {
        +      "properties": {
        +        "mode": {
        +          "const": "select"
        +        }
        +      },
        +      "required": [
        +        "mode"
        +      ]
        +    },
        +    "then": {
        +      "required": [
        +        "anchors"
        +      ]
        +    }
        +  }
        +]
      • changedInput schema / properties / date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedchanges_in_period3 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain"New value: +"legacy domain filter; current v4 indexes leave it empty"
      • changedInput schema / properties / from_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / to_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
    • Changeddiff4 fields changed
      • changedInput schema / properties / from_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / from_version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / to_date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • addedInput schema / properties / to_version_key
        Added value: +{
        +  "description": "optional opaque key returned by timeline or an ambiguous_version choice",
        +  "maxLength": 128,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedin_force_on2 fields changed
      • changedInput schema / properties / date / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain"New value: +"legacy domain filter; current v4 indexes leave it empty"
    • Changedsearch4 fields changed
      • addedInput schema / allOf
        Added value: +[
        +  {
        +    "if": {
        +      "properties": {
        +        "time_scope": {
        +          "const": "as_of"
        +        }
        +      },
        +      "required": [
        +        "time_scope"
        +      ]
        +    },
        +    "then": {
        +      "required": [
        +        "as_of"
        +      ]
        +    }
        +  }
        +]
      • changedInput schema / properties / as_of / pattern
        Previous value: -"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"New value: +"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed legal domain id"New value: +"legacy domain id filter; current v4 indexes leave it empty; use publisher_metadata_identifier for official classifications"
      • addedInput schema / properties / publisher_metadata_identifier
        Added value: +{
        +  "description": "optional exact official publisher-metadata URI returned by a search hit",
        +  "maxLength": 2048,
        +  "minLength": 1,
        +  "pattern": "^https?://",
        +  "type": "string"
        +}
  2. 10 tool updates
    • Changedarticle_history9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchor / maxLength
        Added value: +512
      • addedInput schema / properties / anchor / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedas_of15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchors / maxLength
        Added value: +1000
      • addedInput schema / properties / anchors / minLength
        Added value: +1
      • addedInput schema / properties / date / maxLength
        Added value: +10
      • addedInput schema / properties / date / minLength
        Added value: +1
      • addedInput schema / properties / date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / mode / enum
        Added value: +[
        +  "full",
        +  "outline",
        +  "select"
        +]
      • addedInput schema / properties / mode / maxLength
        Added value: +64
      • addedInput schema / properties / mode / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedchanges_in_period32 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / from_date / maxLength
        Added value: +10
      • addedInput schema / properties / from_date / minLength
        Added value: +1
      • addedInput schema / properties / from_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / order / enum
        Added value: +[
        +  "by_date",
        +  "by_churn"
        +]
      • addedInput schema / properties / order / maxLength
        Added value: +64
      • addedInput schema / properties / order / minLength
        Added value: +1
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
      • addedInput schema / properties / to_date / maxLength
        Added value: +10
      • addedInput schema / properties / to_date / minLength
        Added value: +1
      • addedInput schema / properties / to_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
    • Changedcited_by5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedcoverage3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
    • Changeddiff15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / anchor / maxLength
        Added value: +512
      • addedInput schema / properties / anchor / minLength
        Added value: +1
      • addedInput schema / properties / from_date / maxLength
        Added value: +10
      • addedInput schema / properties / from_date / minLength
        Added value: +1
      • addedInput schema / properties / from_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / to_date / maxLength
        Added value: +10
      • addedInput schema / properties / to_date / minLength
        Added value: +1
      • addedInput schema / properties / to_date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
    • Changedin_force_on26 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / date / maxLength
        Added value: +10
      • addedInput schema / properties / date / minLength
        Added value: +1
      • addedInput schema / properties / date / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
    • Changedprovenance5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / lex_id / maxLength
        Added value: +1000
      • addedInput schema / properties / lex_id / minLength
        Added value: +1
    • Changedsearch35 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / act_form / maxLength
        Added value: +1000
      • addedInput schema / properties / act_form / minLength
        Added value: +1
      • addedInput schema / properties / as_of / maxLength
        Added value: +10
      • addedInput schema / properties / as_of / minLength
        Added value: +1
      • addedInput schema / properties / as_of / pattern
        Added value: +"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
      • addedInput schema / properties / binding_status / maxLength
        Added value: +1000
      • addedInput schema / properties / binding_status / minLength
        Added value: +1
      • addedInput schema / properties / document_type / maxLength
        Added value: +1000
      • addedInput schema / properties / document_type / minLength
        Added value: +1
      • addedInput schema / properties / domain / maxLength
        Added value: +1000
      • addedInput schema / properties / domain / minLength
        Added value: +1
      • addedInput schema / properties / fuzzy / enum
        Added value: +[
        +  "auto",
        +  "off"
        +]
      • addedInput schema / properties / fuzzy / maxLength
        Added value: +64
      • addedInput schema / properties / fuzzy / minLength
        Added value: +1
      • addedInput schema / properties / hierarchy / maxLength
        Added value: +1000
      • addedInput schema / properties / hierarchy / minLength
        Added value: +1
      • addedInput schema / properties / jurisdiction / maxLength
        Added value: +64
      • addedInput schema / properties / jurisdiction / minLength
        Added value: +1
      • addedInput schema / properties / language / maxLength
        Added value: +16
      • addedInput schema / properties / language / minLength
        Added value: +1
      • addedInput schema / properties / publisher / maxLength
        Added value: +64
      • addedInput schema / properties / publisher / minLength
        Added value: +1
      • addedInput schema / properties / query / maxLength
        Added value: +1000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / retrieval_mode / enum
        Added value: +[
        +  "keyword",
        +  "hybrid"
        +]
      • addedInput schema / properties / retrieval_mode / maxLength
        Added value: +64
      • addedInput schema / properties / retrieval_mode / minLength
        Added value: +1
      • addedInput schema / properties / source_class / maxLength
        Added value: +1000
      • addedInput schema / properties / source_class / minLength
        Added value: +1
      • addedInput schema / properties / time_scope / enum
        Added value: +[
        +  "all_versions",
        +  "as_of"
        +]
      • addedInput schema / properties / time_scope / maxLength
        Added value: +64
      • addedInput schema / properties / time_scope / minLength
        Added value: +1
      • addedInput schema / properties / works / maxLength
        Added value: +1000
      • addedInput schema / properties / works / minLength
        Added value: +1
    • Changedtimeline9 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limit / maximum
        Added value: +200
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / offset / maximum
        Added value: +100000
      • addedInput schema / properties / offset / minimum
        Added value: +0
      • addedInput schema / properties / publisher
        Added value: +{
        +  "description": "publisher id; required when work is not publisher-qualified",
        +  "maxLength": 64,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / work / description
        Previous value: -"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier. Unknown document -> call search first."New value: +"Work-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first."
      • addedInput schema / properties / work / maxLength
        Added value: +1000
      • addedInput schema / properties / work / minLength
        Added value: +1
  3. 1 tool update
    • Changeddiff1 field changed
      • addedInput schema / properties / anchor
        Added value: +{
        +  "description": "optional held provision anchor returned by search, e.g. art_92",
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedsearch3 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"default 10"New value: +"default 10; minimum 1, maximum 50"
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
  5. 1 tool update
    • Changedas_of1 field changed
      • changedInput schema / properties / anchors / description
        Previous value: -"comma-separated provision anchors for mode=select, e.g. art_1er,art_33"New value: +"optional comma-separated provision anchors for mode=outline; required for mode=select, e.g. art_1er,art_33"
  6. 3 tool updates
    • Changedchanges_in_period8 fields changed
      • addedInput schema / properties / act_form
        Added value: +{
        +  "description": "optional legal act form",
        +  "type": "string"
        +}
      • addedInput schema / properties / binding_status
        Added value: +{
        +  "description": "optional binding status",
        +  "type": "string"
        +}
      • changedInput schema / properties / document_type / description
        Previous value: -"optional type code(s), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only"New value: +"optional source document class(es), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only"
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "optional reviewed legal domain",
        +  "type": "string"
        +}
      • addedInput schema / properties / hierarchy
        Added value: +{
        +  "description": "optional normalized legal hierarchy",
        +  "type": "string"
        +}
      • addedInput schema / properties / jurisdiction
        Added value: +{
        +  "description": "optional jurisdiction code from index metadata, e.g. LU or EU",
        +  "type": "string"
        +}
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_class
        Added value: +{
        +  "description": "optional source document class; alias of document_type",
        +  "type": "string"
        +}
    • Changedin_force_on8 fields changed
      • addedInput schema / properties / act_form
        Added value: +{
        +  "description": "optional legal act form",
        +  "type": "string"
        +}
      • addedInput schema / properties / binding_status
        Added value: +{
        +  "description": "optional binding status",
        +  "type": "string"
        +}
      • changedInput schema / properties / document_type / description
        Previous value: -"optional type code, e.g. CODE"New value: +"backward-compatible source document class filter"
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "optional reviewed legal domain",
        +  "type": "string"
        +}
      • addedInput schema / properties / hierarchy
        Added value: +{
        +  "description": "optional normalized legal hierarchy",
        +  "type": "string"
        +}
      • addedInput schema / properties / jurisdiction
        Added value: +{
        +  "description": "optional jurisdiction code from index metadata, e.g. LU or EU",
        +  "type": "string"
        +}
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_class
        Added value: +{
        +  "description": "optional source document class",
        +  "type": "string"
        +}
    • Changedsearch1 field changed
      • changedInput schema / properties / domain / description
        Previous value: -"optional reviewed EU domain id"New value: +"optional reviewed legal domain id"
  7. 2 tool updates
    • Changedarticle_history1 field changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "optional language code; defaults to the work's primary derived language",
        +  "type": "string"
        +}
    • Changedsearch1 field changed
      • changedInput schema / properties / jurisdiction / description
        Previous value: -"optional lu or eu"New value: +"optional jurisdiction code from index metadata, e.g. LU or EU"
  8. 10 tool updates
    • First observedarticle_history
    • First observedas_of
    • First observedchanges_in_period
    • First observedcited_by
    • First observedcoverage
    • First observeddiff
    • First observedin_force_on
    • First observedprovenance
    • First observedsearch
    • First observedtimeline

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.