{
  "markdown": "# Maltese Law MCP Server\n\n<!-- ANSVAR-CTA-BEGIN -->\n> **The Maltese 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 dozens of audited jurisdictions (Europe + the US), 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 legislation.mt 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/Maltese-law-mcp?style=social)](https://github.com/Ansvar-Systems/Maltese-law-mcp)\n[![CI](https://github.com/Ansvar-Systems/Maltese-law-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/Maltese-law-mcp/actions/workflows/ci.yml)\n[![Daily Data Check](https://github.com/Ansvar-Systems/Maltese-law-mcp/actions/workflows/check-updates.yml/badge.svg)](https://github.com/Ansvar-Systems/Maltese-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-56%2C516-blue)](docs/EU_INTEGRATION_GUIDE.md)\n\nQuery **5,009 Maltese statutes** -- from Cap. 586 (Data Protection), Cap. 9 (Kodiċi Kriminali), Cap. 16 (Kodiċi Ċivili), and more -- directly from Claude, Cursor, or any MCP-compatible client.\n\nIf you're building legal tech, compliance tools, or doing Maltese 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\nMaltese legal research means navigating legislation.mt across thousands of statutes organized by Chapter number -- a unique system where laws are cited by \"Cap.\" rather than year, making cross-referencing non-obvious without domain knowledge. Whether you're:\n\n- A **lawyer** validating citations in a brief or contract\n- A **compliance officer** checking Maltese GDPR implementation (Cap. 586) or financial services obligations\n- A **legal tech developer** building tools on Maltese law\n- A **researcher** tracing EU directive transposition across Malta's bilingual English/Maltese legal system\n\n...you shouldn't need dozens of browser tabs and manual cross-referencing between Chapter numbers. Ask Claude. Get the exact provision. With context.\n\nThis MCP server makes Maltese law **searchable, cross-referenceable, and AI-readable**.\n\n---\n\n## Example Queries\n\nOnce connected, just ask naturally:\n\n- *\"What does Cap. 586 say about data processing consent?\"*\n- *\"Search for provisions about 'data protection' in Maltese law\"*\n- *\"What does Cap. 9 (Kodiċi Kriminali) say about computer-related offences?\"*\n- *\"Which Malta Chapters implement the NIS2 Directive?\"*\n- *\"X'jgħid il-Kodiċi Kriminali dwar id-delitti tal-kompjuter?\"*\n- *\"Sib id-dispożizzjonijiet tal-Kodiċi Ċivili dwar ir-responsabbiltà\"*\n- *\"Is Cap. 330 (Companies Act) still in force?\"*\n- *\"Build a legal stance on financial services licensing requirements in Malta\"*\n\n---\n\n## What's Included\n\n| Category | Count | Details |\n|----------|-------|---------|\n| **Statutes** | 5,009 statutes | Comprehensive Maltese legislation from legislation.mt |\n| **Provisions** | 56,516 sections | Full-text searchable with FTS5 |\n| **Legal Definitions** | 0 (free tier) | Table reserved, extraction not enabled in current free build |\n| **Database Size** | Optimized SQLite | Portable, pre-built |\n| **Daily Updates** | Automated | Freshness checks against legislation.mt |\n\n**Verified data only** -- every citation is validated against official sources (legislation.mt). Zero LLM-generated content.\n\n---\n\n## See It In Action\n\n### Why This Works\n\n**Verbatim Source Text (No LLM Processing):**\n- All statute text is ingested from legislation.mt (official Maltese legislation portal)\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 Chapter number + article\n- Cross-references help navigate without loading everything at once\n\n**Technical Architecture:**\n```\nlegislation.mt --> 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 legislation.mt by Chapter number | Search by plain language: *\"data protection consent\"* |\n| Remember that GDPR is Cap. 586, not an Act name | Just ask about data protection -- the MCP knows the Chapter |\n| Navigate multi-article statutes manually | Get the exact provision with context |\n| Manual cross-referencing between Chapters | `build_legal_stance` aggregates across sources |\n| \"Is this Chapter still in force?\" -- check manually | `check_currency` tool -- answer in seconds |\n| Find EU directive transposition -- dig through EUR-Lex | `get_eu_basis` -- linked EU directives instantly |\n| No API, no integration | MCP protocol -- AI-native |\n\n**Traditional:** Search legislation.mt --> Find Chapter number --> Navigate HTML --> Ctrl+F --> Cross-reference with EU directive --> Repeat\n\n**This MCP:** *\"What are Malta's data protection obligations under Cap. 586 and how do they implement GDPR Article 6?\"* -- 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 56,516 provisions with BM25 ranking. Supports English and Maltese queries |\n| `get_provision` | Retrieve specific provision by Chapter number + article (e.g., \"Cap. 586\" + \"Article 5\") |\n| `check_currency` | Check if a statute is in force, amended, or repealed |\n| `validate_citation` | Validate citation against database -- zero-hallucination check. Supports \"Cap. 586, Art. 5\" format |\n| `build_legal_stance` | Aggregate citations from multiple Chapters for a legal topic |\n| `format_citation` | Format citations per Maltese conventions (Cap. number + article) |\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 that a Maltese Chapter transposes or implements |\n| `get_maltese_implementations` | Find Maltese Chapters implementing a specific EU act |\n| `search_eu_implementations` | Search EU documents with Maltese transposition counts |\n| `get_provision_eu_basis` | Get EU law references for a specific provision |\n| `validate_eu_compliance` | Check transposition status of Maltese statutes against EU directives |\n\n---\n\n## EU Law Integration\n\nMalta is a full EU member state (since 2004) and has transposed the complete body of EU law into Maltese national legislation, organized under the Chapter numbering system.\n\nKey transposition areas:\n\n- **GDPR:** Malta transposed Regulation (EU) 2016/679 via Cap. 586 (Data Protection Act)\n- **NIS2:** Transposition of the NIS2 Directive (EU) 2022/2555 into Maltese law\n- **AML/CFT:** Malta implements the full EU Anti-Money Laundering Directive framework, critical for Malta's financial services sector\n- **Financial services:** Full MiFID II, EMIR, and related directives implemented via MFSA regulatory framework\n- **Gaming regulation:** Malta Gaming Authority (MGA) framework aligned with EU free movement principles\n- **Company law:** Cap. 386 (Companies Act) implements EU company law directives\n\nThe EU bridge tools allow you to query these transpositions -- finding which Maltese Chapter implements a given EU directive, or which EU directive is the basis for a specific Maltese provision.\n\n> **Note:** Malta's Chapter-based citation system is unique within the EU. The EU tools map between EU directive numbering and Maltese Chapter numbers, allowing you to navigate both systems.\n\n---\n\n## Data Sources & Freshness\n\nAll content is sourced from authoritative Maltese legal databases:\n\n- **[legislation.mt](https://legislation.mt/)** -- Official Maltese legislation portal, maintained by the Attorney General's Office\n\n### Data Provenance\n\n| Field | Value |\n|-------|-------|\n| **Authority** | Gvern ta' Malta / Government of Malta, Attorney General's Office |\n| **Retrieval method** | Structured data from legislation.mt |\n| **Languages** | English (primary), Maltese (Malti) |\n| **License** | Public domain (Maltese government official publications) |\n| **Coverage** | 5,009 Chapters (statutes) across all legislative domains |\n\n### Automated Freshness Checks (Daily)\n\nA [daily GitHub Actions workflow](.github/workflows/check-updates.yml) monitors all data sources:\n\n| Source | Check | Method |\n|--------|-------|--------|\n| **Statute amendments** | legislation.mt date comparison | All Chapters checked |\n| **New Chapters** | Official Gazette (Il-Gazzetta tal-Gvern ta' Malta) | Diffed against database |\n| **Repealed Chapters** | Status change detection | Flagged automatically |\n| **EU transposition** | EUR-Lex Malta implementation count | Flagged if divergence detected |\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 legislation.mt (Attorney General's Office, Malta). However:\n> - This is a **research tool**, not a substitute for professional legal counsel\n> - **Court case coverage is not included** -- do not rely solely on this for case law research\n> - **Verify critical citations** against primary sources for court filings\n> - **EU cross-references** reflect transposition as captured in statute text, not EUR-Lex authoritative mapping\n> - **Chapter numbering** -- always verify the current Chapter number for a statute, as renumbering can occur\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 compliant with Kamra tal-Avukati (Chamber of Advocates, Malta) professional responsibility rules.\n\n---\n\n## Documentation\n\n- **[EU Integration Guide](docs/EU_INTEGRATION_GUIDE.md)** -- Detailed EU transposition and Chapter mapping documentation\n- **[EU Usage Examples](docs/EU_USAGE_EXAMPLES.md)** -- Practical EU lookup examples\n- **[Security Policy](SECURITY.md)** -- Vulnerability reporting and scanning details\n- **[Disclaimer](DISCLAIMER.md)** -- Legal disclaimers and professional use notices\n- **[Privacy](PRIVACY.md)** -- Client confidentiality and data handling\n\n---\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/Ansvar-Systems/Maltese-law-mcp\ncd Maltese-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 legislation.mt\nnpm run build:db          # Rebuild SQLite database\nnpm run drift:detect      # Run drift detection against known anchors\nnpm run check-updates     # Check for source updates\n```\n\n### Performance\n\n- **Search Speed:** <100ms for most FTS5 queries\n- **Reliability:** 100% ingestion success rate\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 (Maltese courts, Constitutional Court)\n- EU Regulations MCP integration (full EU law text)\n- Maltese-language (Malti) provision text expansion\n- Historical statute versions and amendment tracking\n\n---\n\n## Roadmap\n\n- [x] Core statute database with FTS5 search\n- [x] Full corpus ingestion (5,009 statutes, 56,516 provisions)\n- [x] EU law integration tools\n- [x] Vercel Streamable HTTP deployment\n\n- [x] Daily freshness checks\n- [ ] Court case law expansion (Constitutional Court, Court of Appeal)\n- [ ] Historical statute versions (amendment tracking)\n- [ ] Expanded Malti-language text ingestion\n\n---\n\n## Citation\n\nIf you use this MCP server in academic research:\n\n```bibtex\n@software{maltese_law_mcp_2026,\n  author = {Ansvar Systems AB},\n  title = {Maltese Law MCP Server: AI-Powered Legal Research Tool},\n  year = {2026},\n  url = {https://github.com/Ansvar-Systems/Maltese-law-mcp},\n  note = {5,009 Maltese statutes with 56,516 provisions}\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:** `Public-Domain` — Maltese statutes published on [legislation.mt](https://legislation.mt) by the Office of the State Advocate (Legislation Unit) are treated as public domain (official Government of Malta publications). The corresponding Ansvar fleet manifest also declares `Public-Domain`. A Maltese-specific statutory PD code (Copyright Act Chapter 415 carve-out) is pending Phase 1 audit follow-up; this entry will be tightened once that audit lands. 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. This MCP server started as our internal reference tool for Maltese law -- turns out everyone building compliance tools for businesses operating in Malta has the same Chapter-number research frustrations.\n\nSo we're open-sourcing it. Navigating 5,009 Chapters shouldn't require memorizing which Cap. number maps to which Act.\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": 16518,
  "sha": "604acdbfadb216bcf38f74ada953c49c8e1473b001d9d557905b05b761863b4e",
  "repo_slug": "ansvar-systems/maltese-law-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_eu_ansvar_maltese_law_mcp_8d125496/readme"
}