mcp-eu-compliance
This server provides an offline, anti-hallucination platform for EU legal compliance, offering verbatim access and analytical tools for six key digital, data, and cyber regulations: GDPR, AI Act, DORA, NIS2, eIDAS 2.0, and CRA (via a local SQLite FTS5 database).
eu_search— Full-text search across articles of the six regulations, returning verbatim snippets with hit highlights, filterable by regulation and result limit.eu_article— Retrieve the complete verbatim text of a specific article by regulation and article number, including title, chapter, and CELEX identifier with EUR-Lex URL.eu_compare— Compare how a single topic is addressed across multiple regulations simultaneously (e.g., incident reporting in DORA vs. NIS2 vs. CRA), returning the best-matching article from each.eu_check_applicability— Determine which regulations apply to a given sector (e.g., financial, healthcare) and optional subsector, with confidence levels and grounding articles.eu_evidence— Retrieve audit evidence requirements (documents, logs, certificates) needed to prove compliance for a given regulation, optionally scoped to a specific article.
All tools return structured citations with regulation name, CELEX ID, and EUR-Lex URL. The corpus is a point-in-time snapshot — not an authoritative legal source.
mcp-eu-compliance
MCP server exposing an offline corpus of EU law (EUR-Lex, full text) in local SQLite FTS5, with compliance tools. Snippets returned verbatim from the database (zero-LLM) - each with a CELEX id and EUR-Lex URL. Anti-hallucination by mechanism, not by trust in the model.
Scope (14 regulations, digital/data/cyber): GDPR, AI Act, DORA, NIS2, eIDAS 2.0, CRA, DSA, DMA, Data Act, DGA, LED, ePrivacy, Cybersecurity Act, CER.
Complementary to mcp-eu-sparql: that one discovers acts live (SPARQL Cellar), this one provides verbatim text + offline compliance analysis (no network at runtime).
Installation
npm install # Node 22.5+ (node:sqlite built-in)
npm run fetch-corpus # downloads regulations.db (~36 MB) from Ansvar (Apache-2.0)
npm run build
npm startConfiguration in the MCP client (e.g. mcp-servers.json):
{
"name": "eu-compliance",
"command": "node",
"args": ["/path/to/mcp-eu-compliance/dist/index.js"]
}Related MCP server: astra-knowledge-base-mcp
Tools
Tool | Description |
| Full-text (FTS5) across articles, verbatim snippets. |
| Full article text + title + chapter + CELEX. |
| The same topic across several regulations at once (e.g. incident reporting DORA vs NIS2 vs CRA). |
| Which of the 14 regulations apply to a sector, with confidence level and basis article. |
| Evidence artifacts (audit) - which document/log/certificate proves compliance. |
Each tool returns structuredContent.citations (regulation, CELEX, EUR-Lex URL, snapshot).
Examples
"Compare incident reporting timelines across DORA, NIS2, and CRA" ->
eu_compare"What does GDPR Article 33 require?" ->
eu_article"Which EU regulations apply to a bank?" ->
eu_check_applicability(sector=financial, subsector=bank)"What audit evidence does DORA Article 17 require?" ->
eu_evidence
Disclaimers
Snapshot, not the authentic source. The authentic version = Official Journal of the EU. The connector returns a point-in-time snapshot; verify currency in EUR-Lex (CELEX). Freshness ->
mcp-eu-sparql(live).Applicability rules are expert guidance, not a binding legal assessment. Sector-specific realities may require your own analysis.
Reference material, not legal advice.
License and attribution
Code: MIT - see LICENSE.
Corpus: EUR-Lex content (reusable, Decision 2011/833/EU) + database file from Ansvar-Systems/EU_compliance_MCP (Apache-2.0). Details: THIRD_PARTY_INSPIRATIONS.md.
Citation: MateMatic Solutions (2026), mcp-eu-compliance, https://github.com/matematicsolutions/mcp-eu-compliance, MIT.
Available Tools
5 toolseu_articleARead-onlyIdempotent
Pelny tekst artykulu (verbatim) po identyfikatorze regulacji i numerze artykulu, wraz z tytulem i rozdzialem. Bledy: out_of_scope (regulacja poza 6 ICP), missing_arg (brak article_number), not_found (artykul/regulacja nie ma w snapshot).
Inputs: regulation (required), article_number (required).
eu_check_applicabilityARead-onlyIdempotent
Ktore z 6 regulacji UE dotycza danego sektora (i opcjonalnie podsektora). Zwraca reguly stosowalnosci z poziomem pewnosci i artykulem-podstawa. To wskazowka ekspercka, nie wiazaca ocena prawna. Bledy: missing_arg (brak sector), corpus_error.
Inputs: sector (required), subsector.
eu_compareARead-onlyIdempotent
Porownanie tego samego zagadnienia w kilku regulacjach naraz. Dla kazdej regulacji zwraca najlepiej pasujacy artykul (snippet verbatim). Np. obowiazek zgloszenia incydentu w DORA vs NIS2 vs CRA. Bledy: empty_query, corpus_error.
Inputs: query (required), regulations.
eu_evidenceARead-onlyIdempotent
Artefakty dowodowe (audit) wymagane przez regulacje - jaki dokument/log/certyfikat udowadnia zgodnosc, dla jakiego artykulu, z pytaniami audytora. Opcjonalnie zawezone do jednego artykulu. Bledy: out_of_scope, corpus_error.
Inputs: regulation (required), article.
eu_searchARead-onlyIdempotent
Wyszukiwanie pelnotekstowe (FTS5) po tresci artykulow regulacji UE. Zwraca snippety verbatim z podswietleniem trafien. Zakres: GDPR, AI Act, DORA, NIS2, eIDAS 2.0, CRA. Bledy: empty_query (po normalizacji brak slow), corpus_error (blad SQLite).
Inputs: query (required), limit, regulations.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: eu_article retrieves a specific article by ID, eu_check_applicability determines which regulations apply to a sector, eu_compare compares topics across regulations, eu_evidence provides audit evidence, and eu_search performs full-text search. There is no ambiguity between them.
All tools use the 'eu_' prefix, but the second part mixes verb and noun forms (e.g., eu_article vs eu_check_applicability). While readable and predictable, the pattern is not perfectly consistent, which lowers the score slightly.
With 5 tools, the server is well-scoped for its purpose of querying EU compliance regulations. Each tool provides essential functionality without redundancy or unnecessary bloat.
The tool set covers key operations: retrieving articles, checking applicability, comparing regulations, obtaining evidence, and searching. Missing a tool to list all articles by regulation, but that can be approximated via search. Minor gap, but overall coverage is solid.
Maintenance
Related MCP Connectors
MCP server for FCA Handbook compliance analysis with verbatim citations.
MCP server for querying Forkast documentation
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Related MCP Servers
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.38 npmMIT
- AlicenseAqualityBmaintenanceMCP server for managing and searching multi-tenant knowledge bases backed by SQLite with FTS5, enabling AI agents to persist and retrieve content via full-text search.132MIT
- AlicenseAqualityBmaintenanceMCP server for local knowledge management with Markdown and PDF indexing using SQLite FTS5.513 npm2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that grounds AI answers in a local, maintained knowledge base and optionally fills gaps from the web, fully local with SQLite.AGPL 3.0