{
  "markdown": "# Luxembourg Law MCP Server\n\n<!-- ANSVAR-CTA-BEGIN -->\n> **The Luxembourg law corpus is now served through the Ansvar Gateway.** Connect your AI assistant (Claude, Copilot, Cursor, custom MCP client) to `https://gateway.ansvar.eu/mcp` — one OAuth connection, free tier available, covering this corpus plus EU regulations, national law across 28 audited jurisdictions, and CVE/security intelligence, every result with a verbatim source citation. Start at https://ansvar.eu/docs/quickstart\n\n### Connect\n\n**Claude Code** (one line):\n\n```bash\nclaude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp\n```\n\n**Claude Desktop / Cursor** — add to `claude_desktop_config.json` (or `mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"ansvar\": {\n      \"type\": \"url\",\n      \"url\": \"https://gateway.ansvar.eu/mcp\"\n    }\n  }\n}\n```\n\n**Claude.ai** — Settings → Connectors → Add custom connector → paste `https://gateway.ansvar.eu/mcp`\n\nFirst request opens an OAuth signup flow (setup details: [ansvar.eu/docs/quickstart](https://ansvar.eu/docs/quickstart)). After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.\n\n---\n\n## Self-host this MCP\n\nYou can also clone this repo and build the corpus yourself. The schema,\nfetcher, and tool implementations all live here. What is not in the repo is\nthe pre-built database — TDM and standards-licensing constraints on the\nupstream sources mean we host the corpus on Ansvar infrastructure rather\nthan redistribute it as a public artifact.\n\nBuild your own: run this repo's ingestion script (entry-point varies per\nrepo — typically `scripts/ingest.sh`, `npm run ingest`, or `make ingest`;\ncheck the repo root).\n<!-- ANSVAR-CTA-END -->\n\n\n**The Legilux (Journal Officiel) alternative for the AI age.**\n\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![GitHub stars](https://img.shields.io/github/stars/Ansvar-Systems/Luxembourg-law-mcp?style=social)](https://github.com/Ansvar-Systems/Luxembourg-law-mcp)\n[![CI](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/ci.yml)\n[![Daily Data Check](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/check-updates.yml/badge.svg)](https://github.com/Ansvar-Systems/Luxembourg-law-mcp/actions/workflows/check-updates.yml)\n[![Database](https://img.shields.io/badge/database-pre--built-green)](docs/EU_INTEGRATION_GUIDE.md)\n[![Provisions](https://img.shields.io/badge/provisions-36%2C014-blue)](docs/EU_INTEGRATION_GUIDE.md)\n\nQuery **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.\n\nIf you're building legal tech, compliance tools, or doing Luxembourg legal research, this is your verified reference database.\n\nBuilt by [Ansvar Systems](https://ansvar.eu) -- Stockholm, Sweden\n\n---\n\n## Why This Exists\n\nLuxembourg legal research is scattered across Legilux, the Journal Officiel du Grand-Duché de Luxembourg, EUR-Lex, and bilateral treaty collections. Whether you're:\n- A **lawyer** validating citations in a brief, contract, or société anonyme filing\n- A **compliance officer** checking GDPR obligations or CSSF regulatory requirements\n- A **legal tech developer** building tools on Luxembourg law\n- A **researcher** tracing legislative history from projet de loi to loi publiée\n\n...you shouldn't need a dozen browser tabs and manual PDF cross-referencing. Ask Claude. Get the exact provision. With context.\n\nThis MCP server makes Luxembourg law **searchable, cross-referenceable, and AI-readable**.\n\n---\n\n## Example Queries\n\nOnce connected, just ask naturally (les requêtes fonctionnent en français ou en anglais):\n\n- *\"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 ?\"*\n- *\"Rechercher 'protection des données' dans la législation luxembourgeoise\"*\n- *\"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 ?\"*\n- *\"Quels articles du Code pénal concernent les infractions informatiques ?\"*\n- *\"Quelles lois luxembourgeoises transposent la directive NIS2 ?\"*\n- *\"Rechercher les dispositions sur le secret professionnel dans le Code du travail\"*\n- *\"Validate the citation 'loi du 1er août 2018, art. 62'\"*\n- *\"Which Luxembourg laws implement the GDPR?\"*\n\n---\n\n## What's Included\n\n| Category | Count | Details |\n|----------|-------|---------|\n| **Statutes** | 4,551 lois | Comprehensive Luxembourg legislation from Legilux |\n| **Provisions** | 36,014 articles | Full-text searchable with FTS5 |\n| **Premium: Case law** | 260 judgments | Tribunal et Cour d'appel decisions |\n| **Premium: Preparatory works** | 7 documents | Projets de loi and exposés des motifs |\n| **Premium: Agency guidance** | 4,938 documents | CNPD, CSSF, and ministerial circulars |\n| **Database Size** | ~69 MB | Optimized SQLite, portable |\n| **Daily Updates** | Automated | Freshness checks against Legilux |\n\n**Verified data only** — every citation is validated against official sources (Legilux / Journal Officiel). Zero LLM-generated content.\n\n---\n\n## Why This Works\n\n**Verbatim Source Text (No LLM Processing):**\n- All statute text is ingested from Legilux (legilux.public.lu) official sources\n- Provisions are returned **unchanged** from SQLite FTS5 database rows\n- Zero LLM summarization or paraphrasing — the database contains regulation text, not AI interpretations\n\n**Smart Context Management:**\n- Search returns ranked provisions with BM25 scoring (safe for context)\n- Provision retrieval gives exact text by loi date/number + article\n- Cross-references help navigate without loading everything at once\n\n**Technical Architecture:**\n```\nLegilux API → Parse → SQLite → FTS5 snippet() → MCP response\n                ↑                     ↑\n         Provision parser       Verbatim database query\n```\n\n### Traditional Research vs. This MCP\n\n| Traditional Approach | This MCP Server |\n|---------------------|-----------------|\n| Search Legilux by date de publication | Search by plain French: *\"protection données consentement\"* |\n| Navigate multi-chapter statutes manually | Get the exact provision with context |\n| Manual cross-referencing between lois | `build_legal_stance` aggregates across sources |\n| \"Cette loi est-elle toujours en vigueur ?\" → check manually | `check_currency` tool → answer in seconds |\n| Find EU basis → dig through EUR-Lex | `get_eu_basis` → linked EU directives instantly |\n| No API, no integration | MCP protocol → AI-native |\n\n**Traditional:** Search Legilux → Download PDF → Ctrl+F → Cross-reference with Journal Officiel → Check EUR-Lex → Repeat\n\n**This MCP:** *\"Quel est le fondement européen de l'article 5 de la loi du 1er août 2018 ?\"* → Done.\n\n---\n\n## Available Tools (13)\n\n### Core Legal Research Tools (8)\n\n| Tool | Description |\n|------|-------------|\n| `search_legislation` | FTS5 full-text search across 36,014 provisions with BM25 ranking. Supports quoted phrases, boolean operators, prefix wildcards |\n| `get_provision` | Retrieve specific provision by statute reference + article number |\n| `check_currency` | Check if a statute is in force, amended, or repealed |\n| `validate_citation` | Validate citation against database — zero-hallucination check |\n| `build_legal_stance` | Aggregate citations from multiple statutes for a legal topic |\n| `format_citation` | Format citations per Luxembourg conventions (full/short/pinpoint) |\n| `list_sources` | List all available statutes with metadata, coverage scope, and data provenance |\n| `about` | Server info, capabilities, dataset statistics, and coverage summary |\n\n### EU Law Integration Tools (5)\n\n| Tool | Description |\n|------|-------------|\n| `get_eu_basis` | Get EU directives/regulations underlying a Luxembourg statute |\n| `get_luxembourg_implementations` | Find Luxembourg laws implementing a specific EU act |\n| `search_eu_implementations` | Search EU documents with Luxembourg implementation counts |\n| `get_provision_eu_basis` | Get EU law references for a specific provision |\n| `validate_eu_compliance` | Check implementation status of Luxembourg statutes against EU directives |\n\n---\n\n## EU Law Integration\n\nLuxembourg 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.\n\n| Metric | Value |\n|--------|-------|\n| **EU Member State** | Yes — founding member |\n| **EU References** | Cross-references linking Luxembourg statutes to EU law |\n| **Directives transposed** | GDPR, NIS2, DORA, AI Act, eIDAS, AML directives, and more |\n| **EUR-Lex Integration** | Automated metadata fetching |\n| **CSSF supervision** | Financial sector EU regulatory framework fully covered |\n\n### Key Luxembourg EU Implementations\n\n- **Loi du 1er août 2018** — GDPR transposition and national data protection supplement\n- **Loi du 22 janvier 2021** — Cybersecurity law (NIS Directive transposition)\n- **Loi du 16 mai 2011** — AML/CFT (successive AMLD transpositions)\n- **Loi du 5 avril 1993** — Financial sector (MiFID basis, extensively amended)\n\nSee [EU_INTEGRATION_GUIDE.md](docs/EU_INTEGRATION_GUIDE.md) for detailed documentation.\n\n---\n\n## Data Sources & Freshness\n\nAll content is sourced from authoritative Luxembourg legal databases:\n\n- **[Legilux](https://legilux.public.lu/)** — Journal Officiel du Grand-Duché de Luxembourg (official statute publication)\n- **[EUR-Lex](https://eur-lex.europa.eu/)** — Official EU law database (metadata only)\n\n### Data Provenance\n\n| Field | Value |\n|-------|-------|\n| **Authority** | Service Central de Législation, Grand-Duché de Luxembourg |\n| **Retrieval method** | Legilux official database |\n| **Languages** | French (primary legislative language); German and Luxembourgish also official |\n| **License** | `Luxembourgish-Loi-2001-Art-10-Permitted-Acts` (permitted-acts exception under Loi du 18 avril 2001 Art. 10(8°)) |\n| **Coverage** | 4,551 statutes, 36,014 provisions |\n| **Last ingested** | 2026-02-28 |\n\n### Automated Freshness Checks (Daily)\n\nA [daily GitHub Actions workflow](.github/workflows/check-updates.yml) monitors Legilux for changes:\n\n| Check | Method |\n|-------|--------|\n| **Statute amendments** | Legilux date comparison across 4,551 statutes |\n| **New statutes** | Journal Officiel publication monitoring |\n| **Repealed statutes** | Status change detection |\n| **EU reference staleness** | Git commit timestamps — flagged if >90 days old |\n\n**Verified data only** — every citation is validated against official sources. Zero LLM-generated content.\n\n---\n\n## Security\n\nThis project uses multiple layers of automated security scanning:\n\n| Scanner | What It Does | Schedule |\n|---------|-------------|----------|\n| **CodeQL** | Static analysis for security vulnerabilities | Weekly + PRs |\n| **Semgrep** | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push |\n| **Gitleaks** | Secret detection across git history | Every push |\n| **Trivy** | CVE scanning on filesystem and npm dependencies | Daily |\n| **Docker Security** | Container image scanning + SBOM generation | Daily |\n| **Socket.dev** | Supply chain attack detection | PRs |\n| **OSSF Scorecard** | OpenSSF best practices scoring | Weekly |\n| **Dependabot** | Automated dependency updates | Weekly |\n\nSee [SECURITY.md](SECURITY.md) for the full policy and vulnerability reporting.\n\n---\n\n## Important Disclaimers\n\n### Legal Advice\n\n> **THIS TOOL IS NOT LEGAL ADVICE**\n>\n> Statute text is sourced from official Legilux publications. However:\n> - This is a **research tool**, not a substitute for professional legal counsel\n> - **Court case coverage is limited** — do not rely solely on this for case law research\n> - **Verify critical citations** against primary sources (Legilux, Journal Officiel) for court filings\n> - **EU cross-references** are extracted from statute text and EUR-Lex metadata, not a complete implementation mapping\n> - **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\n\n**Before using professionally, read:** [DISCLAIMER.md](DISCLAIMER.md) | [PRIVACY.md](PRIVACY.md)\n\n### Client Confidentiality\n\nQueries 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.\n\n---\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/Ansvar-Systems/Luxembourg-law-mcp\ncd Luxembourg-law-mcp\nnpm install\nnpm run build\nnpm test\n```\n\n### Running Locally\n\n```bash\nnpm run dev                                       # Start MCP server\nnpx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector\n```\n\n### Data Management\n\n```bash\nnpm run ingest           # Ingest statutes from Legilux\nnpm run build:db         # Rebuild SQLite database\nnpm run drift:detect     # Run drift detection against anchors\nnpm run check-updates    # Check for amendments\n```\n\n### Performance\n\n- **Search Speed:** <100ms for most FTS5 queries\n- **Database Size:** ~69 MB (efficient, portable)\n- **Reliability:** 100% ingestion success rate across 4,551 statutes\n\n---\n\n## More Ansvar MCPs\n\nFull fleet coverage at [ansvar.eu/coverage](https://ansvar.eu/coverage).\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nPriority areas:\n- Court case law expansion (Tribunal administratif, Cour administrative, Cour d'appel)\n- CSSF circular and regulation coverage\n- German-language text version ingestion\n- Historical statute versions and amendment tracking\n- EU Regulations MCP integration for full directive text\n\n---\n\n## Roadmap\n\n- [x] Core statute database with FTS5 search (4,551 statutes, 36,014 provisions)\n- [x] EU law integration with bi-directional lookup\n- [x] Premium dataset (260 case law, 7 preparatory works, 4,938 agency guidance documents)\n- [x] Vercel Streamable HTTP deployment\n\n- [ ] Court case law expansion\n- [ ] German-language statute coverage\n- [ ] Historical statute versions (amendment tracking)\n- [ ] CSSF and CNPD guidance documents\n\n---\n\n## Citation\n\nIf you use this MCP server in academic research:\n\n```bibtex\n@software{luxembourg_law_mcp_2026,\n  author = {Ansvar Systems AB},\n  title = {Luxembourg Law MCP Server: AI-Powered Legal Research Tool},\n  year = {2026},\n  url = {https://github.com/Ansvar-Systems/Luxembourg-law-mcp},\n  note = {4,551 Luxembourg statutes with 36,014 provisions and EU law cross-references}\n}\n```\n\n---\n\n## License\n\nApache License 2.0. See [LICENSE](./LICENSE) for details.\n\n### Data Licenses\n\n- **Statutes & Legislation:** `Luxembourgish-Loi-2001-Art-10-Permitted-Acts` — Luxembourg copyright permitted-acts exception under [Loi du 18 avril 2001 sur les droits d'auteur](https://legilux.public.lu/eli/etat/leg/loi/2001/04/18/n1/jo), Art. 10(8°), which authorises reproductions and communications to the public of official texts of a legislative, administrative or judicial nature. This is a **permitted-acts exception**, NOT a statutory public-domain carve-out: copyright subsists on the underlying texts and Art. 10(8°) authorises specific acts of reuse. Under [ADR-030](https://github.com/Ansvar-Systems/Ansvar-Architecture-Documentation/blob/main/docs/adr/ADR-030-public-visibility-requires-green-licensing.md) Luxembourg sits at AMBER until the scope of permitted commercial redistribution by third-party reusers is fully clarified. Verified 2026-05-17.\n- **EU Metadata:** EUR-Lex (EU public domain)\n\n---\n\n## About Ansvar Systems\n\nWe build AI-accelerated compliance and legal research tools for the European market. Luxembourg's unique position as an EU financial and legal hub — hosting major banks, investment funds, and EU institutions — makes it a key jurisdiction for our compliance suite.\n\nSo we're open-sourcing it. Navigating 4,551 statutes across a trilingual legal system shouldn't require a law degree.\n\n**[ansvar.eu](https://ansvar.eu)** -- Stockholm, Sweden\n\n---\n\n<p align=\"center\">\n  <sub>Built with care in Stockholm, Sweden</sub>\n</p>\n",
  "bytes": 16755,
  "sha": "612573b67b0d66418dd38c52b826931c6cac69e21094538c2551b59d906c9412",
  "repo_slug": "ansvar-systems/luxembourg-law-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_eu_ansvar_luxembourg_law_mcp_80af9711/readme"
}