Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Lex — Temporal Luxembourg and EU Law

REMOTE · LAW.SOUFIEN.LU

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

Available components

−79 this week 0 Trust /100

Last scanned (41 days ago)

Scores higher than 0% of remote servers

Unreachable for 7 days in a row. Last reached 16 Sep 2026.

Category Education and Research

Dead

Every channel of this server has been unreachable for long enough to be marked dead. Its trust score is pinned to 0 and does not recover automatically: even once the server responds again it stays dead until it is manually reinstated.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security11
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 25 Sept 26 −16
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 −16

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 23 Sept 26 −15

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 20 Sept 26 −16

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 19 Sept 26 −16

    The score moved with no change recorded against any check. We would rather say so than guess.

  • 17 Sept 26 0
    • Endpoint reachability: reachable → unreachable ▼ security
    • DNSSEC: fail → unverified ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • TLS certificate: pass → unverified ▼ security
    • HSTS header: pass → unverified ▼ security
    • Transport: pass → fail ▼ security
    • Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 6 Sept 26 0
    • Stability: 0.97 → pass security
  • 5 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 25 Sept 2026 · Probed https://law.soufien.lu/mcp

TLS unreached
DNSSEC inconclusive

Validation of law.soufien.lu. — Inconclusive

Zone DS Keys Algorithms Outcome
law.soufien.lu. Error no A/AAAA/CNAME RRset answered for the name
Authentication Inconclusive

We could not reach the endpoint well enough to judge its authorisation posture.

Result Inconclusive

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://law.soufien.lu/mcp Unreachable
http (plaintext) http://law.soufien.lu/mcp HTTPS enforced
MCP tools · 10 exposed · ~1,843 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
article_history ~225

Every distinct text ONE provision (article/annex) has had on its publisher timeline, plus lifecycle events (inserted/removed/renumbered, renumbering detected mechanically by identical text hash). Read timeline_semantics before calling an interval legal applicability. Answers "what did Article X say over its life / when did it change".

NameTypeReqDescription
anchorstringyesprovision anchor, e.g. art_1er (find it via search or as_of mode=outline)
from_datestring–optional ISO date: keep only the states in force at or after it
languagestring–optional language code; defaults to the work's primary derived language
publisherstring–publisher id; required when work is not publisher-qualified
to_datestring–optional ISO date: keep only the states that began on or before it
workstringyesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.

No output schema declared.

No examples provided.

as_of ~224

The state of one document as it stood on one date. Pure lookup, no ranking. mode=outline lists provisions without text and may be narrowed with anchors; mode=select returns only the named anchors' text; mode=full (default) returns the whole text. Every provision carries its own permalink and hash.

NameTypeReqDescription
anchorsstring–optional comma-separated provision anchors for mode=outline; required for mode=select, e.g. art_1er,art_33
datestringyesISO date YYYY-MM-DD
languagestring–optional language code, e.g. fr
modestring–full | outline | select (default full)
publisherstring–publisher id; required when work is not publisher-qualified
version_keystring–optional opaque key returned by timeline or an ambiguous_version choice
workstringyesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.

No output schema declared.

No examples provided.

changes_in_period ~313

ACROSS the corpus: which works gained new versions between two dates, how many each, and when — the aggregate counterpart of diff/timeline (which cover ONE work). Use for "what changed between 2025 and 2026", "which laws changed most during the pandemic", "what moved last month". order=by_churn ranks by number of new versions; by_date (default) lists most recently changed first.

NameTypeReqDescription
act_formstring–optional legal act form
binding_statusstring–optional binding status
document_typestring–optional source document class(es), comma-separated; prefix with ! to exclude, e.g. !RECUEIL,!CODE_RECUEIL for instruments only
domainstring–legacy domain filter; current v4 indexes leave it empty
from_datestringyesISO date, start of window (inclusive)
hierarchystring–optional normalized legal hierarchy
jurisdictionstring–optional jurisdiction code from index metadata, e.g. LU or EU
languagestring–optional language code
limitinteger–default 20
offsetinteger–skip this many, for paging
orderstring–by_date (default) or by_churn
publisherstring–optional publisher id
source_classstring–optional source document class; alias of document_type
to_datestringyesISO date, end of window (inclusive)

No output schema declared.

No examples provided.

cited_by ~86

Which held provision versions contain captured publisher cross-references to this work. This reverse lookup reports the publisher references Lex captured; it does not classify their relationship type or assess current legal effect.

NameTypeReqDescription
limitinteger–default 50
workstringyesthe law being cited, e.g. lu-legilux:loi-2020-06-04-a476

No output schema declared.

No examples provided.

coverage ~53

What we hold and what we lack, tier by tier: counts, date ranges, history_begins, known gaps. This tool exists to say what we do NOT have.

NameTypeReqDescription
publisherstring–optional publisher id

No output schema declared.

No examples provided.

diff ~207

What changed between two dates for one work: which publisher versions cover the selected dates and, where both texts are held, retrieve them via as_of to compare. An optional held article anchor scopes the typed comparison workspace. Read timeline_semantics before describing legal applicability.

NameTypeReqDescription
anchorstring–optional held provision anchor returned by search, e.g. art_92
from_datestringyesISO date
from_version_keystring–optional opaque key returned by timeline or an ambiguous_version choice
languagestring–language code
publisherstring–publisher id; required when work is not publisher-qualified
to_datestringyesISO date
to_version_keystring–optional opaque key returned by timeline or an ambiguous_version choice
workstringyesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.

No output schema declared.

No examples provided.

in_force_on ~223

Compatibility name for publisher states covering a date, computed from timeline intervals and deduplicated by work. Legilux states describe applicability; EUR-Lex states are official consolidated wording states and must not be called entry into force. Every envelope carries timeline_semantics and the result carries a mandatory population disclosure.

NameTypeReqDescription
act_formstring–optional legal act form
binding_statusstring–optional binding status
datestringyesISO date
document_typestring–backward-compatible source document class filter
domainstring–legacy domain filter; current v4 indexes leave it empty
hierarchystring–optional normalized legal hierarchy
jurisdictionstring–optional jurisdiction code from index metadata, e.g. LU or EU
languagestring–optional language code
limitinteger–default 50
offsetinteger–pagination offset
publisherstring–optional publisher id, e.g. lu-legilux
source_classstring–optional source document class

No output schema declared.

No examples provided.

provenance ~55

Proof chain for one lex_id: source URI, retrieval time, record/body hashes, event chain, corpus commit, index build, stamp signature.

NameTypeReqDescription
languagestring–optional
lex_idstringyesfull lex_id

No output schema declared.

No examples provided.

search ~327

Filtered legal search. keyword is deterministic FTS5/BM25; hybrid adds the pinned local encoder and fixed RRF when verified vectors are mounted. No generative model participates. The response query_plan separates resolved work constraints, article and role intent, and residual provision terms. Returns hits WITHOUT body text; full state via as_of.

NameTypeReqDescription
act_formstring–optional legal act form
as_ofstring–ISO date required when time_scope=as_of
binding_statusstring–optional binding status
document_typestring–backward-compatible document type filter
domainstring–legacy domain id filter; current v4 indexes leave it empty; use publisher_metadata_identifier for official classifications
fuzzystring–auto or off; visible fallback only
hierarchystring–optional normalized legal hierarchy
jurisdictionstring–optional jurisdiction code from index metadata, e.g. LU or EU
languagestring–optional language code
limitinteger–default 10; minimum 1, maximum 50
publisherstring–optional publisher id
publisher_metadata_identifierstring–optional exact official publisher-metadata URI returned by a search hit
querystringyessearch terms
retrieval_modestring–keyword or hybrid; default keyword until activation
source_classstring–optional source document class
time_scopestring–all_versions or as_of
worksstring–optional comma-separated work ids: restrict search to these works

No output schema declared.

No examples provided.

timeline ~130

Every publisher state a document has been in: timeline intervals, version keys, and explicit timeline_semantics. Legilux intervals describe applicability; EUR-Lex intervals describe official consolidated wording states, not entry into force.

NameTypeReqDescription
limitinteger–max versions (default 100)
offsetinteger–pagination offset
publisherstring–publisher id; required when work is not publisher-qualified
workstringyesWork-level lex_id (publisher:workkey), version-level lex_id (version segment ignored), or verbatim publisher identifier with publisher supplied. Unknown document -> call search first.

No output schema declared.

No examples provided.

Install

How do I install the Lex — Temporal Luxembourg and EU Law MCP server?

Lex — Temporal Luxembourg and EU Law is a hosted endpoint at https://law.soufien.lu/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · law.soufien.lu

# add to Claude Code
claude mcp add --transport http sfhajji-lex 'https://law.soufien.lu/mcp'
Common questions

What is the Lex — Temporal Luxembourg and EU Law MCP server?

Lex — Temporal Luxembourg and EU Law is an MCP server listed in the public MCP registry as io.github.SFHAJJI/lex. Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance. This page covers its hosted endpoint (https://law.soufien.lu/mcp).

Is the Lex — Temporal Luxembourg and EU Law MCP server safe to use?

Lex — Temporal Luxembourg and EU Law scores 0 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Lex — Temporal Luxembourg and EU Law MCP server expose?

Lex — Temporal Luxembourg and EU Law exposes 10 tools: as_of, timeline, in_force_on, diff, search, and 5 more. Their descriptions and schemas cost roughly 1,843 tokens of context every time the server is loaded.

Does the Lex — Temporal Luxembourg and EU Law MCP server require authentication?

Its publisher declares no required credentials for Lex — Temporal Luxembourg and EU Law. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

Is the Lex — Temporal Luxembourg and EU Law MCP server still maintained?

Lex — Temporal Luxembourg and EU Law has been unreachable for long enough that we treat it as dead, and its score is pinned to zero. We last reached this channel on 16 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.