AgentStack
MCP verified Apache-2.0 Self-run

Luxembourg Law Mcp

mcp-ansvar-systems-luxembourg-law-mcp · by Ansvar-Systems

Luxembourg legislation via MCP — full-text search across statutes and provisions

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-ansvar-systems-luxembourg-law-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v1.0.3 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
Are you the author of Luxembourg Law Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.

About

Luxembourg Law MCP Server

> ### ▶ Try this MCP instantly via Ansvar Gateway > 50 free queries/day · no card required · OAuth signup at ansvar.eu/gateway > > One endpoint, one OAuth signup, access from any MCP-compatible client.

Connect

Claude Code (one line):

claude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp

Claude Desktop / Cursor — add to claude_desktop_config.json (or mcp.json):

{
  "mcpServers": {
    "ansvar": {
      "type": "url",
      "url": "https://gateway.ansvar.eu/mcp"
    }
  }
}

Claude.ai — Settings → Connectors → Add custom connector → paste https://gateway.ansvar.eu/mcp

First request opens an OAuth flow at ansvar.eu/gateway. After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.


Self-host this MCP

You can also clone this repo and build the corpus yourself. The schema, fetcher, and tool implementations all live here. What is not in the repo is the pre-built database — TDM and standards-licensing constraints on the upstream sources mean we host the corpus on Ansvar infrastructure rather than redistribute it as a public artifact.

Build your own: run this repo's ingestion script (entry-point varies per repo — typically scripts/ingest.sh, npm run ingest, or make ingest; check the repo root).

The Legilux (Journal Officiel) alternative for the AI age.

[](https://registry.modelcontextprotocol.io) [](https://opensource.org/licenses/Apache-2.0) [](https://github.com/Ansvar-Systems/Luxembourg-law-mcp) [](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/ci.yml) [](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/check-updates.yml) [](docs/EUINTEGRATIONGUIDE.md) [](docs/EUINTEGRATIONGUIDE.md)

Query 4,551 Luxembourg statutes — from the loi du 1er août 2018 (protection des données) and the Code pénal to the Code du travail, la loi sur les sociétés commerciales, and more — directly from Claude, Cursor, or any MCP-compatible client.

If you're building legal tech, compliance tools, or doing Luxembourg legal research, this is your verified reference database.

Built by Ansvar Systems -- Stockholm, Sweden


Why This Exists

Luxembourg legal research is scattered across Legilux, the Journal Officiel du Grand-Duché de Luxembourg, EUR-Lex, and bilateral treaty collections. Whether you're:

  • A lawyer validating citations in a brief, contract, or société anonyme filing
  • A compliance officer checking GDPR obligations or CSSF regulatory requirements
  • A legal tech developer building tools on Luxembourg law
  • A researcher tracing legislative history from projet de loi to loi publiée

...you shouldn't need a dozen browser tabs and manual PDF cross-referencing. Ask Claude. Get the exact provision. With context.

This MCP server makes Luxembourg law searchable, cross-referenceable, and AI-readable.


Example Queries

Once connected, just ask naturally (les requêtes fonctionnent en français ou en anglais):

  • "Que dit l'article 5 de la loi du 1er août 2018 relative à la protection des personnes physiques à l'égard du traitement des données à caractère personnel ?"
  • "Rechercher 'protection des données' dans la législation luxembourgeoise"
  • "La loi du 2 août 2002 relative à la protection des personnes à l'égard du traitement des données à caractère personnel est-elle toujours en vigueur ?"
  • "Quels articles du Code pénal concernent les infractions informatiques ?"
  • "Quelles lois luxembourgeoises transposent la directive NIS2 ?"
  • "Rechercher les dispositions sur le secret professionnel dans le Code du travail"
  • "Validate the citation 'loi du 1er août 2018, art. 62'"
  • "Which Luxembourg laws implement the GDPR?"

What's Included

| Category | Count | Details | |----------|-------|---------| | Statutes | 4,551 lois | Comprehensive Luxembourg legislation from Legilux | | Provisions | 36,014 articles | Full-text searchable with FTS5 | | Premium: Case law | 260 judgments | Tribunal et Cour d'appel decisions | | Premium: Preparatory works | 7 documents | Projets de loi and exposés des motifs | | Premium: Agency guidance | 4,938 documents | CNPD, CSSF, and ministerial circulars | | Database Size | ~69 MB | Optimized SQLite, portable | | Daily Updates | Automated | Freshness checks against Legilux |

Verified data only — every citation is validated against official sources (Legilux / Journal Officiel). Zero LLM-generated content.


Why This Works

Verbatim Source Text (No LLM Processing):

  • All statute text is ingested from Legilux (legilux.public.lu) official sources
  • Provisions are returned unchanged from SQLite FTS5 database rows
  • Zero LLM summarization or paraphrasing — the database contains regulation text, not AI interpretations

Smart Context Management:

  • Search returns ranked provisions with BM25 scoring (safe for context)
  • Provision retrieval gives exact text by loi date/number + article
  • Cross-references help navigate without loading everything at once

Technical Architecture:

Legilux API → Parse → SQLite → FTS5 snippet() → MCP response
                ↑                     ↑
         Provision parser       Verbatim database query

Traditional Research vs. This MCP

| Traditional Approach | This MCP Server | |---------------------|-----------------| | Search Legilux by date de publication | Search by plain French: "protection données consentement" | | Navigate multi-chapter statutes manually | Get the exact provision with context | | Manual cross-referencing between lois | build_legal_stance aggregates across sources | | "Cette loi est-elle toujours en vigueur ?" → check manually | check_currency tool → answer in seconds | | Find EU basis → dig through EUR-Lex | get_eu_basis → linked EU directives instantly | | No API, no integration | MCP protocol → AI-native |

Traditional: Search Legilux → Download PDF → Ctrl+F → Cross-reference with Journal Officiel → Check EUR-Lex → Repeat

This MCP: "Quel est le fondement européen de l'article 5 de la loi du 1er août 2018 ?" → Done.


Available Tools (13)

Core Legal Research Tools (8)

| Tool | Description | |------|-------------| | search_legislation | FTS5 full-text search across 36,014 provisions with BM25 ranking. Supports quoted phrases, boolean operators, prefix wildcards | | get_provision | Retrieve specific provision by statute reference + article number | | check_currency | Check if a statute is in force, amended, or repealed | | validate_citation | Validate citation against database — zero-hallucination check | | build_legal_stance | Aggregate citations from multiple statutes for a legal topic | | format_citation | Format citations per Luxembourg conventions (full/short/pinpoint) | | list_sources | List all available statutes with metadata, coverage scope, and data provenance | | about | Server info, capabilities, dataset statistics, and coverage summary |

EU Law Integration Tools (5)

| Tool | Description | |------|-------------| | get_eu_basis | Get EU directives/regulations underlying a Luxembourg statute | | get_luxembourg_implementations | Find Luxembourg laws implementing a specific EU act | | search_eu_implementations | Search EU documents with Luxembourg implementation counts | | get_provision_eu_basis | Get EU law references for a specific provision | | validate_eu_compliance | Check implementation status of Luxembourg statutes against EU directives |


EU Law Integration

Luxembourg is an EU member state and EU founding member. Every major Luxembourg statute in data protection, financial regulation, and telecommunications has a direct EU basis. The EU bridge tools give you full bi-directional lookup.

| Metric | Value | |--------|-------| | EU Member State | Yes — founding member | | EU References | Cross-references linking Luxembourg statutes to EU law | | Directives transposed | GDPR, NIS2, DORA, AI Act, eIDAS, AML directives, and more | | EUR-Lex Integration | Automated metadata fetching | | CSSF supervision | Financial sector EU regulatory framework fully covered |

Key Luxembourg EU Implementations

  • Loi du 1er août 2018 — GDPR transposition and national data protection supplement
  • Loi du 22 janvier 2021 — Cybersecurity law (NIS Directive transposition)
  • Loi du 16 mai 2011 — AML/CFT (successive AMLD transpositions)
  • Loi du 5 avril 1993 — Financial sector (MiFID basis, extensively amended)

See [EUINTEGRATIONGUIDE.md](docs/EUINTEGRATIONGUIDE.md) for detailed documentation.


Data Sources & Freshness

All content is sourced from authoritative Luxembourg legal databases:

  • Legilux — Journal Officiel du Grand-Duché de Luxembourg (official statute publication)
  • EUR-Lex — Official EU law database (metadata only)

Data Provenance

| Field | Value | |-------|-------| | Authority | Service Central de Législation, Grand-Duché de Luxembourg | | Retrieval method | Legilux official database | | Languages | French (primary legislative language); German and Luxembourgish also official | | License | Luxembourgish-Loi-2001-Art-10-Permitted-Acts (permitted-acts exception under Loi du 18 avril 2001 Art. 10(8°)) | | Coverage | 4,551 statutes, 36,014 provisions | | Last ingested | 2026-02-28 |

Automated Freshness Checks (Daily)

A [daily GitHub Actions workflow](.github/workflows/check-updates.yml) monitors Legilux for changes:

| Check | Method | |-------|--------| | Statute amendments | Legilux date comparison across 4,551 statutes | | New statutes | Journal Officiel publication monitoring | | Repealed statutes | Status change detection | | EU reference staleness | Git commit timestamps — flagged if >90 days old |

Verified data only — every citation is validated against official sources. Zero LLM-generated content.


Security

This project uses multiple layers of automated security scanning:

| Scanner | What It Does | Schedule | |---------|-------------|----------| | CodeQL | Static analysis for security vulnerabilities | Weekly + PRs | | Semgrep | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push | | Gitleaks | Secret detection across git history | Every push | | Trivy | CVE scanning on filesystem and npm dependencies | Daily | | Docker Security | Container image scanning + SBOM generation | Daily | | Socket.dev | Supply chain attack detection | PRs | | OSSF Scorecard | OpenSSF best practices scoring | Weekly | | Dependabot | Automated dependency updates | Weekly |

See [SECURITY.md](SECURITY.md) for the full policy and vulnerability reporting.


Important Disclaimers

Legal Advice

> THIS TOOL IS NOT LEGAL ADVICE > > Statute text is sourced from official Legilux publications. However: > - This is a research tool, not a substitute for professional legal counsel > - Court case coverage is limited — do not rely solely on this for case law research > - Verify critical citations against primary sources (Legilux, Journal Officiel) for court filings > - EU cross-references are extracted from statute text and EUR-Lex metadata, not a complete implementation mapping > - Multilingual jurisdiction — Luxembourg law exists in French, German, and Luxembourgish. This database covers French-language legislative texts. Verify against official Legilux publications for other language versions

Before using professionally, read: [DISCLAIMER.md](DISCLAIMER.md) | [PRIVACY.md](PRIVACY.md)

Client Confidentiality

Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See [PRIVACY.md](PRIVACY.md) for guidance consistent with Barreau de Luxembourg / Ordre des Avocats du Barreau de Luxembourg professional conduct standards.


Development

Setup

git clone https://github.com/Ansvar-Systems/Luxembourg-law-mcp
cd Luxembourg-law-mcp
npm install
npm run build
npm test

Running Locally

npm run dev                                       # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector

Data Management

npm run ingest           # Ingest statutes from Legilux
npm run build:db         # Rebuild SQLite database
npm run drift:detect     # Run drift detection against anchors
npm run check-updates    # Check for amendments

Performance

  • Search Speed:

Built with care in Stockholm, Sweden

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v1.0.3 Imported from the upstream source.