{
  "markdown": "# Croatian Law MCP Server\n\n<!-- ANSVAR-CTA-BEGIN -->\n> **The Croatian 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 NN (Narodne novine) 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/croatian-law-mcp?style=social)](https://github.com/Ansvar-Systems/croatian-law-mcp)\n[![CI](https://github.com/Ansvar-Systems/croatian-law-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/croatian-law-mcp/actions/workflows/ci.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-157%2C667-blue)](docs/EU_INTEGRATION_GUIDE.md)\n\nQuery **4,531 Croatian statutes** -- from the Zakon o provedbi GDPR and Kazneni zakon to the Zakon o radu, Zakon o trgovačkim društvima, and more -- directly from Claude, Cursor, or any MCP-compatible client.\n\nIf you're building legal tech, compliance tools, or doing Croatian 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\nCroatian legal research means navigating Narodne novine, zakon.hr, and EUR-Lex for EU implementation status -- across a dense system of codes and implementing regulations. Whether you're:\n\n- A **lawyer** validating citations before the Vrhovni sud (Supreme Court) or Ustavni sud (Constitutional Court)\n- A **compliance officer** checking GDPR implementation status under the Zakon o provedbi Opće uredbe o zaštiti podataka\n- A **legal tech developer** building tools on Croatian law\n- A **researcher** tracing EU directive transposition across 4,531 statutes\n\n...you shouldn't need dozens of browser tabs and manual cross-referencing. Ask Claude. Get the exact provision. With context.\n\nThis MCP server makes Croatian law **searchable, cross-referenceable, and AI-readable**.\n\n---\n\n## Example Queries\n\nOnce connected, just ask naturally:\n\n- *\"Što govori Zakon o provedbi Opće uredbe o zaštiti podataka o privoli?\"*\n- *\"Je li Kazneni zakon još uvijek na snazi?\"*\n- *\"Pretraži 'zaštita osobnih podataka' u hrvatskom zakonodavstvu\"*\n- *\"Koje EU direktive provodi Zakon o radu?\"*\n- *\"Što kaže članak 144. Kaznenog zakona o povredi tajnosti?\"*\n- *\"Pronađi odredbe o prijavljivanju povreda osobnih podataka\"*\n- *\"Koji hrvatski zakoni provode NIS2 direktivu?\"*\n- *\"Validiraj citat 'članak 5. Zakona o zaštiti osobnih podataka'\"*\n- *\"Usporedi zahtjeve za zaštitu podataka kroz NIS2 implementacije u hrvatskom pravu\"*\n\n---\n\n## What's Included\n\n| Category | Count | Details |\n|----------|-------|---------|\n| **Statutes** | 4,531 statutes | Comprehensive Croatian legislation from Narodne novine |\n| **Provisions** | 157,667 articles | Full-text searchable with FTS5 |\n| **Database Size** | 253 MB | Optimized SQLite, portable |\n| **Freshness Checks** | Automated | Drift detection against Narodne novine |\n\n**Verified data only** -- every citation is validated against official sources (Narodne novine, zakon.hr). 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 Narodne novine (nn.hr) and zakon.hr official sources\n- Provisions are returned **unchanged** from SQLite FTS5 database rows\n- Zero LLM summarization or paraphrasing -- the database contains statute 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 statute identifier + article number\n- Cross-references help navigate without loading everything at once\n\n**Technical Architecture:**\n```\nNarodne novine / zakon.hr --> 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 zakon.hr by statute name | Search by plain Croatian: *\"zaštita osobnih podataka pristanak\"* |\n| Navigate multi-article codes manually | Get the exact provision with context |\n| Manual cross-referencing between laws | `build_legal_stance` aggregates across sources |\n| \"Je li ovaj zakon na snazi?\" -- check manually | `check_currency` tool -- answer in seconds |\n| Find EU basis -- dig through EUR-Lex | `get_eu_basis` -- linked EU directives instantly |\n| No API, no integration | MCP protocol -- AI-native |\n\n**Traditional:** Pretraži zakon.hr --> Navigi višečlane zakone --> Ctrl+F --> Usporedi s EU direktivama --> Ponovi\n\n**This MCP:** *\"Koji EU akt je osnova za članak 5. Zakona o provedbi GDPR?\"* --> 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 157,667 provisions with BM25 ranking. Supports Croatian, quoted phrases, boolean operators, prefix wildcards |\n| `get_provision` | Retrieve specific provision by statute identifier + article (e.g., \"Kazneni zakon\" + \"144\") |\n| `check_currency` | Check if a statute is in force, amended, or repealed |\n| `validate_citation` | Validate citation against database -- zero-hallucination check |\n| `build_legal_stance` | Aggregate citations from multiple statutes for a legal topic |\n| `format_citation` | Format citations per Croatian conventions (full/short/pinpoint) |\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 for a Croatian statute |\n| `get_croatian_implementations` | Find Croatian laws implementing a specific EU act |\n| `search_eu_implementations` | Search EU documents with Croatian implementation counts |\n| `get_provision_eu_basis` | Get EU law references for a specific provision |\n| `validate_eu_compliance` | Check implementation status (future, requires EU MCP) |\n\n---\n\n## EU Law Integration\n\nCroatia joined the EU on 1 July 2013. All EU regulations apply directly; directives require transposition into Croatian law.\n\n| Metric | Value |\n|--------|-------|\n| **EU Membership** | Since 1 July 2013 |\n| **Acquis communautaire** | Full EU legal order applies |\n| **GDPR** | Implemented via Zakon o provedbi Opće uredbe o zaštiti podataka (NN 42/2018) |\n| **NIS2** | Transposed via Zakon o kibernetičkoj sigurnosti (NN 14/2024) |\n| **AML4/5** | Implemented via Zakon o sprječavanju pranja novca i financiranja terorizma |\n| **EUR-Lex Integration** | Cross-references link Croatian statutes to source EU acts |\n\n### Key EU-Derived Croatian Legislation\n\n1. **Zakon o provedbi Opće uredbe o zaštiti podataka (NN 42/2018)** -- GDPR implementation\n2. **Zakon o kibernetičkoj sigurnosti (NN 14/2024)** -- NIS2 transposition\n3. **Zakon o elektroničkim komunikacijama** -- Electronic Communications Code transposition\n4. **Zakon o tržištu kapitala** -- MiFID II transposition\n5. **Zakon o sprječavanju pranja novca** -- AML directive transposition\n\nSee [EU_INTEGRATION_GUIDE.md](docs/EU_INTEGRATION_GUIDE.md) for detailed documentation and [EU_USAGE_EXAMPLES.md](docs/EU_USAGE_EXAMPLES.md) for practical examples.\n\n---\n\n## Data Sources & Freshness\n\nAll content is sourced from authoritative Croatian legal databases:\n\n- **[Narodne novine](https://narodne-novine.nn.hr/)** -- Official Gazette of the Republic of Croatia\n- **[Zakon.hr](https://www.zakon.hr/)** -- Consolidated Croatian legislation portal\n- **[EUR-Lex](https://eur-lex.europa.eu/)** -- Official EU law database (cross-reference metadata)\n\n### Data Provenance\n\n| Field | Value |\n|-------|-------|\n| **Authority** | Narodne novine d.d. (Official Gazette) |\n| **Languages** | Croatian (sole official legislative language) |\n| **Coverage** | All national Croatian legislation; EU regulations apply directly |\n| **Source** | narodne-novine.nn.hr, zakon.hr |\n\n### Freshness Checks\n\nFreshness tooling is available under `scripts/check-updates.ts` and `scripts/drift-detect.ts`.\nThis curated release does not currently wire those checks to a scheduled GitHub Actions workflow.\n\n| Check | Method |\n|-------|--------|\n| **Statute amendments** | Drift detection against known provision anchors |\n| **New statutes** | Comparison against NN publication index |\n| **Repealed statutes** | Status change detection |\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| **Socket.dev** | Supply chain attack detection | PRs |\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 official Narodne novine and zakon.hr publications. 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; consult official Vrhovni sud and Ustavni sud databases\n> - **Verify critical citations** against primary sources for court filings\n> - **EU cross-references** are derived from statute text and metadata, not EUR-Lex full text analysis\n> - **Consolidated versions** on zakon.hr may differ from the Narodne novine original -- always verify against the official gazette for legal proceedings\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. Consult Hrvatska odvjetnička komora (HOK) guidelines on the use of AI tools in legal practice.\n\n---\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/Ansvar-Systems/croatian-law-mcp\ncd croatian-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 Narodne novine\nnpm run catalog:crawl             # Crawl NN law catalog\nnpm run catalog:build-csv         # Build catalog from CSV\nnpm run catalog:ingest            # Ingest from catalog\nnpm run catalog:sync-fast         # Fast sync via CSV + ingest\nnpm run build:db                  # Rebuild SQLite database\nnpm run drift:detect              # Run drift detection against anchors\n```\n\n### Performance\n\n- **Search Speed:** <100ms for most FTS5 queries\n- **Database Size:** 253 MB (optimized, portable)\n- **Reliability:** 100% ingestion success rate across 4,531 statutes\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 (Vrhovni sud, Ustavni sud, VSRH)\n- EU cross-reference expansion (full directive-to-statute mapping)\n- Historical statute versions and amendment tracking\n- Lower court decisions (Županijski sud, Općinski sud archives)\n\n---\n\n## Roadmap\n\n- [x] Core statute database with FTS5 search\n- [x] Full corpus ingestion (4,531 statutes, 157,667 provisions)\n- [x] EU law integration tools\n- [x] Vercel Streamable HTTP deployment\n\n- [ ] Court case law expansion (Vrhovni sud, Ustavni sud)\n- [ ] Lower court coverage (Županijski, Općinski archives)\n- [ ] Historical statute versions (amendment tracking)\n- [ ] Web API for programmatic access\n\n---\n\n## Citation\n\nIf you use this MCP server in academic research:\n\n```bibtex\n@software{croatian_law_mcp_2026,\n  author = {Ansvar Systems AB},\n  title = {Croatian Law MCP Server: AI-Powered Legal Research Tool},\n  year = {2026},\n  url = {https://github.com/Ansvar-Systems/croatian-law-mcp},\n  note = {4,531 Croatian statutes with 157,667 provisions and EU law cross-references}\n}\n```\n\n---\n\n## License\n\nApache License 2.0. See [LICENSE](./LICENSE) for details.\n\n### Data Licenses\n\nAnsvar attribution code: **`HR-Statutory-PD-Conditional`**. Basis: ZASP\n(`Zakon o autorskom pravu i srodnim pravima`) Art. 18(3) — a\n**CONDITIONAL** statutory-PD carve-out.\n\n- **Statutes & Legislation:** Narodne novine d.d. via\n  `narodne-novine.nn.hr`. Reused under ZASP Art. 18(3) — for texts that\n  have crossed a triggering event.\n- **EU Metadata:** EUR-Lex (EU public-domain notice).\n\n### Coverage scope (CONDITIONAL — trigger requirement)\n\nCroatian ZASP Art. 18(3) is **CONDITIONAL** and structurally different\nfrom the broad statutory-PD carve-outs in other jurisdictions.\n\n- **Default state:** all works (including draft legislative texts) are\n  protected by copyright from the moment of creation.\n- **Trigger required:** protection is lost only when one of three\n  triggering events occurs:\n  1. The work is submitted to an official procedure (e.g. legislative\n     procedure in the Sabor).\n  2. The work is disclosed under public-information rules.\n  3. The work is published in Narodne novine (the official gazette).\n- **Practical implication for this MCP:** ingestion MUST restrict to\n  post-trigger texts — typically, the version published in Narodne\n  novine — NOT to working drafts, internal ministerial preparatory\n  materials, or pre-submission committee drafts. Those remain protected.\n\nSee `docs/audits/2026-05-17-eu-copyright-statutory-works-batch-3-BG-HR-SK-SI-SE.md`\nin the Ansvar architecture-documentation repo for the verbatim Art. 18(3)\ntext and the conditional-trigger analysis.\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 Croatian law -- turns out everyone building for the Adriatic and EU markets has the same research frustrations.\n\nSo we're open-sourcing it. Navigating 4,531 statutes and their EU source directives shouldn't require a law degree.\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": 16684,
  "sha": "ad541cdc3551754dd35c1e96ed9588d160d0385d4e2de687281e3deab1781a2b",
  "repo_slug": "ansvar-systems/croatian-law-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_eu_ansvar_croatian_law_mcp_8f6cd57c/readme"
}