Back to Browse

Maltese Law MCP Server

Developer ToolsUse Caution4.8Local
Free

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

About

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

Security Report

4.8
Use Caution4.8High Risk

This is a well-architected legal research MCP server with proper authentication (OAuth via Ansvar Gateway), secure credential handling, and appropriate permissions for its stated purpose. The codebase demonstrates good security practices with automated scanning (CodeQL, Semgrep, Gitleaks, Trivy), no hardcoded secrets, and input validation through structured schemas. Minor code quality observations do not materially affect security. Permissions (network_http, env_vars) align with the developer tools category baseline. Supply chain analysis found 3 known vulnerabilities in dependencies (2 critical, 1 high severity). Package verification found 1 issue.

4 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "eu-ansvar-maltese-law-mcp": {
      "args": [
        "-y",
        "@ansvar/maltese-law-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Maltese Law MCP Server

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

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 signup flow (setup details: 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.


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 legislation.mt alternative for the AI age.

MCP Registry License GitHub stars CI Daily Data Check Database Provisions

Query 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.

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

Built by Ansvar Systems -- Stockholm, Sweden


Why This Exists

Maltese 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:

  • A lawyer validating citations in a brief or contract
  • A compliance officer checking Maltese GDPR implementation (Cap. 586) or financial services obligations
  • A legal tech developer building tools on Maltese law
  • A researcher tracing EU directive transposition across Malta's bilingual English/Maltese legal system

...you shouldn't need dozens of browser tabs and manual cross-referencing between Chapter numbers. Ask Claude. Get the exact provision. With context.

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


Example Queries

Once connected, just ask naturally:

  • "What does Cap. 586 say about data processing consent?"
  • "Search for provisions about 'data protection' in Maltese law"
  • "What does Cap. 9 (Kodiċi Kriminali) say about computer-related offences?"
  • "Which Malta Chapters implement the NIS2 Directive?"
  • "X'jgħid il-Kodiċi Kriminali dwar id-delitti tal-kompjuter?"
  • "Sib id-dispożizzjonijiet tal-Kodiċi Ċivili dwar ir-responsabbiltà"
  • "Is Cap. 330 (Companies Act) still in force?"
  • "Build a legal stance on financial services licensing requirements in Malta"

What's Included

CategoryCountDetails
Statutes5,009 statutesComprehensive Maltese legislation from legislation.mt
Provisions56,516 sectionsFull-text searchable with FTS5
Legal Definitions0 (free tier)Table reserved, extraction not enabled in current free build
Database SizeOptimized SQLitePortable, pre-built
Daily UpdatesAutomatedFreshness checks against legislation.mt

Verified data only -- every citation is validated against official sources (legislation.mt). Zero LLM-generated content.


See It In Action

Why This Works

Verbatim Source Text (No LLM Processing):

  • All statute text is ingested from legislation.mt (official Maltese legislation portal)
  • 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 Chapter number + article
  • Cross-references help navigate without loading everything at once

Technical Architecture:

legislation.mt --> Parse --> SQLite --> FTS5 snippet() --> MCP response
                    ^                        ^
             Provision parser         Verbatim database query

Traditional Research vs. This MCP

Traditional ApproachThis MCP Server
Search legislation.mt by Chapter numberSearch by plain language: "data protection consent"
Remember that GDPR is Cap. 586, not an Act nameJust ask about data protection -- the MCP knows the Chapter
Navigate multi-article statutes manuallyGet the exact provision with context
Manual cross-referencing between Chaptersbuild_legal_stance aggregates across sources
"Is this Chapter still in force?" -- check manuallycheck_currency tool -- answer in seconds
Find EU directive transposition -- dig through EUR-Lexget_eu_basis -- linked EU directives instantly
No API, no integrationMCP protocol -- AI-native

Traditional: Search legislation.mt --> Find Chapter number --> Navigate HTML --> Ctrl+F --> Cross-reference with EU directive --> Repeat

This MCP: "What are Malta's data protection obligations under Cap. 586 and how do they implement GDPR Article 6?" -- Done.


Available Tools (13)

Core Legal Research Tools (8)

ToolDescription
search_legislationFTS5 full-text search across 56,516 provisions with BM25 ranking. Supports English and Maltese queries
get_provisionRetrieve specific provision by Chapter number + article (e.g., "Cap. 586" + "Article 5")
check_currencyCheck if a statute is in force, amended, or repealed
validate_citationValidate citation against database -- zero-hallucination check. Supports "Cap. 586, Art. 5" format
build_legal_stanceAggregate citations from multiple Chapters for a legal topic
format_citationFormat citations per Maltese conventions (Cap. number + article)
list_sourcesList all available statutes with metadata, coverage scope, and data provenance
aboutServer info, capabilities, dataset statistics, and coverage summary

EU Law Integration Tools (5)

ToolDescription
get_eu_basisGet EU directives/regulations that a Maltese Chapter transposes or implements
get_maltese_implementationsFind Maltese Chapters implementing a specific EU act
search_eu_implementationsSearch EU documents with Maltese transposition counts
get_provision_eu_basisGet EU law references for a specific provision
validate_eu_complianceCheck transposition status of Maltese statutes against EU directives

EU Law Integration

Malta 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.

Key transposition areas:

  • GDPR: Malta transposed Regulation (EU) 2016/679 via Cap. 586 (Data Protection Act)
  • NIS2: Transposition of the NIS2 Directive (EU) 2022/2555 into Maltese law
  • AML/CFT: Malta implements the full EU Anti-Money Laundering Directive framework, critical for Malta's financial services sector
  • Financial services: Full MiFID II, EMIR, and related directives implemented via MFSA regulatory framework
  • Gaming regulation: Malta Gaming Authority (MGA) framework aligned with EU free movement principles
  • Company law: Cap. 386 (Companies Act) implements EU company law directives

The 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.

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.


Data Sources & Freshness

All content is sourced from authoritative Maltese legal databases:

  • legislation.mt -- Official Maltese legislation portal, maintained by the Attorney General's Office

Data Provenance

FieldValue
AuthorityGvern ta' Malta / Government of Malta, Attorney General's Office
Retrieval methodStructured data from legislation.mt
LanguagesEnglish (primary), Maltese (Malti)
LicensePublic domain (Maltese government official publications)
Coverage5,009 Chapters (statutes) across all legislative domains

Automated Freshness Checks (Daily)

A daily GitHub Actions workflow monitors all data sources:

SourceCheckMethod
Statute amendmentslegislation.mt date comparisonAll Chapters checked
New ChaptersOfficial Gazette (Il-Gazzetta tal-Gvern ta' Malta)Diffed against database
Repealed ChaptersStatus change detectionFlagged automatically
EU transpositionEUR-Lex Malta implementation countFlagged if divergence detected

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


Security

This project uses multiple layers of automated security scanning:

ScannerWhat It DoesSchedule
CodeQLStatic analysis for security vulnerabilitiesWeekly + PRs
SemgrepSAST scanning (OWASP top 10, secrets, TypeScript)Every push
GitleaksSecret detection across git historyEvery push
TrivyCVE scanning on filesystem and npm dependenciesDaily
Docker SecurityContainer image scanning + SBOM generationDaily
Socket.devSupply chain attack detectionPRs
OSSF ScorecardOpenSSF best practices scoringWeekly
DependabotAutomated dependency updatesWeekly

See SECURITY.md for the full policy and vulnerability reporting.


Important Disclaimers

Legal Advice

THIS TOOL IS NOT LEGAL ADVICE

Statute text is sourced from legislation.mt (Attorney General's Office, Malta). However:

  • This is a research tool, not a substitute for professional legal counsel
  • Court case coverage is not included -- do not rely solely on this for case law research
  • Verify critical citations against primary sources for court filings
  • EU cross-references reflect transposition as captured in statute text, not EUR-Lex authoritative mapping
  • Chapter numbering -- always verify the current Chapter number for a statute, as renumbering can occur

Before using professionally, read: DISCLAIMER.md | PRIVACY.md

Client Confidentiality

Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See PRIVACY.md for guidance compliant with Kamra tal-Avukati (Chamber of Advocates, Malta) professional responsibility rules.


Documentation


Development

Setup

git clone https://github.com/Ansvar-Systems/Maltese-law-mcp
cd Maltese-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 legislation.mt
npm run build:db          # Rebuild SQLite database
npm run drift:detect      # Run drift detection against known anchors
npm run check-updates     # Check for source updates

Performance

  • Search Speed: <100ms for most FTS5 queries
  • Reliability: 100% ingestion success rate

More Ansvar MCPs

Full fleet coverage at ansvar.eu/coverage.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Priority areas:

  • Court case law expansion (Maltese courts, Constitutional Court)
  • EU Regulations MCP integration (full EU law text)
  • Maltese-language (Malti) provision text expansion
  • Historical statute versions and amendment tracking

Roadmap

  • Core statute database with FTS5 search

  • Full corpus ingestion (5,009 statutes, 56,516 provisions)

  • EU law integration tools

  • Vercel Streamable HTTP deployment

  • Daily freshness checks

  • Court case law expansion (Constitutional Court, Court of Appeal)

  • Historical statute versions (amendment tracking)

  • Expanded Malti-language text ingestion


Citation

If you use this MCP server in academic research:

@software{maltese_law_mcp_2026,
  author = {Ansvar Systems AB},
  title = {Maltese Law MCP Server: AI-Powered Legal Research Tool},
  year = {2026},
  url = {https://github.com/Ansvar-Systems/Maltese-law-mcp},
  note = {5,009 Maltese statutes with 56,516 provisions}
}

License

Apache License 2.0. See LICENSE for details.

Data Licenses

  • Statutes & Legislation: Public-Domain — Maltese statutes published on 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.
  • EU Metadata: EUR-Lex (EU public domain)

About Ansvar Systems

We 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.

So we're open-sourcing it. Navigating 5,009 Chapters shouldn't require memorizing which Cap. number maps to which Act.

ansvar.eu -- Stockholm, Sweden


Reviews

No reviews yet

Be the first to review this server!