mcpField
L
lu-eli-mcp

lu-eli-mcp

Local
github.com/matematicsolutionsLegal & Government1Updated 5w ago

About lu-eli-mcp

lu-eli-mcp is an MCP server for retrieving Luxembourg legislation from Legilux open data. It returns ELI-based metadata and Akoma Ntoso text with resolvable citations, but does not provide free-text search.

Key features

  1. 01Retrieve act metadata by ELI
  2. 02Fetch text in available languages
  3. 03Return Akoma Ntoso XML
  4. 04Follow citation and amendment links
  5. 05Declare coverage and gaps

Use cases

  1. 01Inspect an act's dates and in-force status
  2. 02Retrieve a language-specific act text
  3. 03Trace acts cited, amended, or repealed

MCP support

It exposes read-only Legilux act metadata and text retrieval to MCP clients. Responses include native ELI identifiers, human-readable citations, and source URLs.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"matematicsolutions-lu-eli": {
"command": "uvx",
"args": [
"lu-eli-mcp"
]
}
}
}
Run commanduvx lu-eli-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypilu-eli-mcp0.3.3

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
elistringYesa Legilux ELI - full URI or bare path (e.g. ``eli/etat/leg/loi/2018/08/01/a686/jo``).

Details

From the project README

lu-eli-mcp

Install (one command)

Published on PyPI + MCP Registry (io.github.matematicsolutions/lu-eli-mcp). Run without cloning:

uvx lu-eli-mcp

Configure your MCP client (stdio):

{ "mcpServers": { "lu-eli-mcp": { "command": "uvx", "args": ["lu-eli-mcp"] } } }
Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the lu-eli-mcp.exe launcher that pip writes at install time. The python.exe and py.exe from the python.org installer are signed by the Python Software Foundation, so running the module through the interpreter works:

python -m pip install lu-eli-mcp
python -m lu_eli_mcp

pip.exe is blocked for the same reason, so install with python -m pip, not pip install. If python is not on PATH, use the Windows launcher: py -3 -m lu_eli_mcp.

{ "mcpServers": { "lu-eli-mcp": { "command": "python", "args": ["-m", "lu_eli_mcp"] } } }

Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.

Building from source: see Install.

An MCP server for Luxembourg legislation via Legilux open data (data.legilux.public.lu). It fetches act metadata and full Akoma Ntoso text with verifiable citations. Part of the eu-legal-mcp line of national legal connectors by MateMatic.

Legilux is genuinely ELI-native: every act is addressed by its ELI and described as jolux RDF over a FRBR model (Work / Expression / Manifestation), with full text as Akoma Ntoso XML. Every response carries a native eli_uri, a human_readable_citation and a resolvable source_url.

Read-only. The server only queries Legilux and writes a local audit log. It never modifies official text.

Tools

ToolWhat it does
lu_get_act(eli)Metadata for an act by its ELI (full URI or bare eli/... path). Returns the native eli_uri, title, dates, in-force status, available languages / manifestations, and the act's cites / modifies / repeals links.
lu_get_text(eli, language, file_format)Verbatim text in one language (default fr) and file_format (default xml, Akoma Ntoso).
lu_coverage()Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback.

There is no free-text search: Legilux exposes no HTTP search endpoint. Discover acts by ELI coordinates (from legilux.public.lu) or by following the cites / modifies / repeals ELIs that lu_get_act returns. Luxembourg is multilingual, so titles and text may be French or German; the languages field shows what exists for a given act.

Configuration

Legilux is keyless. Configuration is optional:

VariableMeaning
LU_ELI_BASE_URLLegilux data host (default https://data.legilux.public.lu).
LU_ELI_CACHE_DIRDisk cache dir (default ~/.matematic/cache/lu-eli).
LU_ELI_AUDIT_DIRAudit log dir (default ~/.matematic/audit).

Copy .mcp.json.example to your MCP client config.

Install

py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"   # Windows
# or: python -m pip install -e ".[dev]"                  # POSIX

Tests

pytest tests/test_instructions_drift.py tests/test_parse.py   # offline
pytest tests/test_smoke.py -v                                 # live, hits Legilux

Licence

Apache-2.0. Legilux content is © the Grand Duchy of Luxembourg; this software only retrieves and cites it.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.