{
  "markdown": "# mcp-eu-compliance\n\n**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.\n\n**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.\n\nComplementary to [`mcp-eu-sparql`](https://github.com/matematicsolutions/mcp-eu-sparql): that one discovers acts live (SPARQL Cellar), this one provides verbatim text + offline compliance analysis (no network at runtime).\n\n## Installation\n\n```bash\nnpm install            # Node 22.5+ (node:sqlite built-in)\nnpm run fetch-corpus   # downloads regulations.db (~36 MB) from Ansvar (Apache-2.0)\nnpm run build\nnpm start\n```\n\nConfiguration in the MCP client (e.g. `mcp-servers.json`):\n\n```json\n{\n  \"name\": \"eu-compliance\",\n  \"command\": \"node\",\n  \"args\": [\"/path/to/mcp-eu-compliance/dist/index.js\"]\n}\n```\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `eu_search(query, regulations?, limit?)` | Full-text (FTS5) across articles, verbatim snippets. |\n| `eu_article(regulation, article_number)` | Full article text + title + chapter + CELEX. |\n| `eu_compare(query, regulations?)` | The same topic across several regulations at once (e.g. incident reporting DORA vs NIS2 vs CRA). |\n| `eu_check_applicability(sector, subsector?)` | Which of the 14 regulations apply to a sector, with confidence level and basis article. |\n| `eu_evidence(regulation, article?)` | Evidence artifacts (audit) - which document/log/certificate proves compliance. |\n\nEach tool returns `structuredContent.citations` (regulation, CELEX, EUR-Lex URL, snapshot).\n\n## Examples\n\n- \"Compare incident reporting timelines across DORA, NIS2, and CRA\" -> `eu_compare`\n- \"What does GDPR Article 33 require?\" -> `eu_article`\n- \"Which EU regulations apply to a bank?\" -> `eu_check_applicability(sector=financial, subsector=bank)`\n- \"What audit evidence does DORA Article 17 require?\" -> `eu_evidence`\n\n## Disclaimers\n\n- **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).\n- **Applicability rules are expert guidance**, not a binding legal assessment. Sector-specific realities may require your own analysis.\n- **Reference material, not legal advice.**\n\n## License and attribution\n\n- **Code:** MIT - see [LICENSE](./LICENSE).\n- **Corpus:** EUR-Lex content (reusable, Decision 2011/833/EU) + database file from [Ansvar-Systems/EU_compliance_MCP](https://github.com/Ansvar-Systems/EU_compliance_MCP) (Apache-2.0). Details: [THIRD_PARTY_INSPIRATIONS.md](./THIRD_PARTY_INSPIRATIONS.md).\n\nCitation: *MateMatic Solutions (2026), mcp-eu-compliance, https://github.com/matematicsolutions/mcp-eu-compliance, MIT.*\n",
  "bytes": 2984,
  "sha": "520832bffe1f9cc9d21026d0838c9bcd78ee25950f58fea394a8f68430f10a04",
  "repo_slug": "matematicsolutions/mcp-eu-compliance",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_matematicsolutions_mcp_eu_comp_ad97c299/readme"
}