Lex — Temporal Luxembourg and EU Law

io.github.SFHAJJI由 GitHub 帳號 SFHAJJI 發布v1.2.0更新於 Nov 2, 2026

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

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

遠端 MCP 伺服器,用來查詢特定日期的盧森堡與歐盟法律:解析法案、依日期讀取條文、比較版本並查核來源。

可以做什麼
  • 解析法案識別碼與固定雜湊的永久連結,讀取某日期適用的法案狀態及其條文
  • 列出法案的各版本狀態、單一條文的歷史,以及兩個日期之間的條文級差異
  • 查詢某日期生效的法案、某期間開始的狀態,並瀏覽或檢索所收錄的索引
  • 查看來源、摘要、引用與被引用關係,以及發布方的分類事實
  • 驗證固定雜湊的永久連結,並依頁取得有上限的證據包以便引用
  • 讀取事件日誌、被修訂作廢的歷史回答,以及收錄範圍說明
適用情境
適合需要回答「某部盧森堡或歐盟法律在某日如何規定」、比較法案不同版本,或提供可核驗來源與摘要的引文時使用。也適合先確認某部法案或條文是否被收錄。
執行需求
遠端 MCP 端點,位於 law.soufien.lu,使用 streamable HTTP;未宣告任何套件、帳號、API 金鑰或請求標頭。需要能連線至該主機的網路。
安裝前請注意
伺服器聲明不提供法律意見,也不將法律套用於具體情況,回答不應視為法律諮詢。內建助理工具一律回傳不可用結果,而非模型回答。歐盟日期為文本措辭日期而非適用日期,且不保存觀測時間,涉及日期的結論需謹慎。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Lex — Temporal Luxembourg and EU Law,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.SFHAJJI%2Flex/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "lex-temporal-luxembourg-and-eu-law": {
      "type": "http",
      "url": "https://law.soufien.lu/mcp"
    }
  }
}

README

Lex V3

Lex shows the published text of Luxembourg and European Union law as it stood on a date, article by article, with the official source, the text's hash and a permalink. It is served at https://law.soufien.lu (open since 27 October 2026), in French and English, over the pages, a REST API and an MCP server on one origin. It does not give advice, apply the law to a situation, make its own consolidation or let a model choose an act or rank results.

How it is built, in short: the publishers' files (Formex XML from the Publications Office, Akoma Ntoso from Legilux) are parsed into relational SQLite indexes (works, dated versions and their validity intervals, articles, hashes, publisher relations), built twice and compared byte for byte; questions are parsed by deterministic parsers (ELI, CELEX, citations, dates); retrieval goes by structure first (act, version on a date, article), then lexical search over the articles' text; every answer is a typed envelope and every refusal a typed code with a mandatory payload. Releases are reproducible, signed images, checked against the release serving before them. An assistant is built to a typed answer contract (the model only plans; code validates and quotes) and is switched off until its gates pass.

Where to read more: STATUS.md (what is served, what is next), docs/OPERATING.md (how it runs), LAUNCH-CONTRACT.md (the acceptance list), and on the site itself the Developers page and "What this site holds". Work starts from v3/integration; main is the legacy line.

Local verification

powershell
dotnet test Lex.V3.slnx --configuration Releasenpm test --prefix webnpm run build --prefix webpwsh -File eng/verify-v3-tree.ps1

來源:README.md,提交 a741573

工具

24

resolve

Resolve a Luxembourg legal-act identifier or a hash-pinned permalink to the work and expression it names.

輸入參數identifier必填

as_of

The state of a Luxembourg act applicable on a date (publisher), with its articles; for an EU act, the wording dated at or before the date (an EU wording date, never an applicability date).

輸入參數date必填languageidentifier必填

timeline

Every state of a Luxembourg act the index holds, in publisher applicability order; for an EU act, every wording its census discovered, in wording-date order.

輸入參數languageidentifier必填

article_history

The history of one article of a Luxembourg act across its states.

輸入參數anchor必填languageidentifier必填

diff

The article-level difference between the states of a Luxembourg act on two dates.

輸入參數date_to必填languagedate_from必填identifier必填

changes_in_period

The Luxembourg states that began in a period, for a work or across the index.

輸入參數limitdate_to必填languagedate_from必填identifier

in_force_on

The Luxembourg works with a state applicable on a date.

輸入參數date必填limitlanguageidentifierafter_work_key

coverage

What this mount holds and serves, named, and what it does not.

輸入參數language

provenance

The retained sources, rule profiles and digests behind a Luxembourg state.

輸入參數date必填languageidentifier必填

dossier

The work record of a Luxembourg act as the index holds it; for an EU work named by identifier, its held expressions from the EU index.

輸入參數languageidentifier必填

citation

The references the publisher wrote in the text of a Luxembourg state's articles.

輸入參數date必填afterlimitanchorlanguageidentifier必填

cited_by

The references, in any held Luxembourg state, whose target is exactly this work.

輸入參數afterlimitidentifier必填

verify

Verify a hash-pinned permalink against the state digest the index holds, or read the current digests to pin.

輸入參數languageidentifier必填

relations

The reference edges of a Luxembourg work in both directions, as one ordered, paged list.

輸入參數dateafterlimitlanguagedirectionidentifier必填

evidence_bundle

What a quote of a Luxembourg state needs, one bounded page at a time (at most 50 articles and 96 KiB of text; page or article chooses the page, contents adds the table of contents): each article's text with its digests, the state's permalink, digests, sources and official identities, composed under the rights rule; for an EU act, the same for the wording of the date.

輸入參數date必填pagearticlecontentslanguageidentifier必填

classification

The publisher's typed facts about a Luxembourg work, verbatim: document type, RDF types, legal value, responsible body, historical identifiers, publication and document dates.

輸入參數languageidentifier必填

manifestation

The publisher's manifestations of a Luxembourg work's expressions with their formats and items, the retained one marked with its body digest.

輸入參數formatlanguageidentifier必填

status_on

The publisher's force assertions about a Luxembourg work (its inForceStatus, dateEntryInForce and dateNoLongerInForce facts), verbatim, beside the state applicable on a date, with one fixed reading of the dates.

輸入參數date必填languageidentifier必填

browse

The Luxembourg works this mount holds, one ordered and paged list with their identifiers, languages, state dates and the publisher's document types; filter by type or language.

輸入參數typeafterlimitlanguage

ask

The contained assistant (Decisions 51 and 91): every question answers the typed presentation result assistant_v3_unavailable, naming the deterministic operations that answer from held law; no model answers.

輸入參數question必填

events

The Luxembourg event log, polled by cursor, at least once: a genesis log holds one first_sighting per held state; a chained log adds each later build's comparison events; each build's time, never an observation time.

輸入參數aftereventlimit

answer_drift

The past dated answers a publisher revision invalidated, enumerated from the log's revising events; a genesis log holds none, and the answer says why rather than asserting that nothing drifted.

輸入參數afterlimitidentifier

as_observed

The state of a Luxembourg act applicable on a date (publisher) as one build of the mounted log held it, named by that build's index digest, with its build time as an upper bound on observation; a time refuses, since no observation time is held.

輸入參數atdate必填languagesnapshotidentifier必填

版本歷史

1
  1. v1.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分