Luxembourg legislation via MCP — full-text search across statutes and provisions
Luxembourg legislation via MCP — full-text search across statutes and provisions
Valid MCP server (3 strong, 2 medium validity signals). 5 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (159/161 approved).
5 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"eu-ansvar-luxembourg-law-mcp": {
"args": [
"-y",
"@ansvar/luxembourg-law-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
▶ 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.
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.
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.
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
Luxembourg legal research is scattered across Legilux, the Journal Officiel du Grand-Duché de Luxembourg, EUR-Lex, and bilateral treaty collections. Whether you're:
...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.
Once connected, just ask naturally (les requêtes fonctionnent en français ou en anglais):
| 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.
Verbatim Source Text (No LLM Processing):
Smart Context Management:
Technical Architecture:
Legilux API → Parse → SQLite → FTS5 snippet() → MCP response
↑ ↑
Provision parser Verbatim database query
| 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.
| 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 |
| 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 |
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 |
See EU_INTEGRATION_GUIDE.md for detailed documentation.
All content is sourced from authoritative Luxembourg legal databases:
| 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 |
A daily GitHub Actions workflow 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.
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 for the full policy and vulnerability reporting.
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 | PRIVACY.md
Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See PRIVACY.md for guidance consistent with Barreau de Luxembourg / Ordre des Avocats du Barreau de Luxembourg professional conduct standards.
git clone https://github.com/Ansvar-Systems/Luxembourg-law-mcp
cd Luxembourg-law-mcp
npm install
npm run build
npm test
npm run dev # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js # Test with MCP Inspector
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
Full fleet at ansvar.eu/gateway.
Contributions welcome! See CONTRIBUTING.md for guidelines.
Priority areas:
Core statute database with FTS5 search (4,551 statutes, 36,014 provisions)
EU law integration with bi-directional lookup
Premium dataset (260 case law, 7 preparatory works, 4,938 agency guidance documents)
Vercel Streamable HTTP deployment
Court case law expansion
German-language statute coverage
Historical statute versions (amendment tracking)
CSSF and CNPD guidance documents
If you use this MCP server in academic research:
@software{luxembourg_law_mcp_2026,
author = {Ansvar Systems AB},
title = {Luxembourg Law MCP Server: AI-Powered Legal Research Tool},
year = {2026},
url = {https://github.com/Ansvar-Systems/Luxembourg-law-mcp},
note = {4,551 Luxembourg statutes with 36,014 provisions and EU law cross-references}
}
Apache License 2.0. See LICENSE for details.
Luxembourgish-Loi-2001-Art-10-Permitted-Acts — Luxembourg copyright permitted-acts exception under Loi du 18 avril 2001 sur les droits d'auteur, 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 Luxembourg sits at AMBER until the scope of permitted commercial redistribution by third-party reusers is fully clarified. Verified 2026-05-17.We 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.
So we're open-sourcing it. Navigating 4,551 statutes across a trilingual legal system shouldn't require a law degree.
ansvar.eu -- Stockholm, Sweden
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.