Slovenian Law MCP Server
<!-- ANSVAR-CTA-BEGIN -->▶ Try this MCP instantly via Ansvar Gateway
50 free queries/day · no card required · OAuth signup at ansvar.eu/gateway
One endpoint, one OAuth signup, access from any MCP-compatible client.
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 flow at ansvar.eu/gateway. 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 Uradni list RS (Pravno-informacijski sistem) alternative for the AI age.
Query 40 Slovenian statutes -- from ZVOP-2 (Zakon o varstvu osebnih podatkov) and Kazenski zakonik to Obligacijski zakonik, Zakon o elektronskih komunikacijah, and more -- directly from Claude, Cursor, or any MCP-compatible client.
If you're building legal tech, compliance tools, or doing Slovenian legal research, this is your verified reference database.
Built by Ansvar Systems -- Stockholm, Sweden
Why This Exists
Slovenian legal research means navigating PISRS (Pravno-informacijski sistem Republike Slovenije) and the Uradni list RS, cross-referencing between Zakoni, Pravilniki, and Uredbe, and manually tracking EU transpositions. Whether you're:
- A lawyer validating citations in a brief or contract
- A compliance officer checking ZVOP-2 obligations or NIS2 requirements
- A legal tech developer building tools on Slovenian law
- A researcher tracing EU directives through to Slovenian implementation
...you shouldn't need dozens of browser tabs and manual PDF cross-referencing. Ask Claude. Get the exact provision. With context.
This MCP server makes Slovenian law searchable, cross-referenceable, and AI-readable.
Example Queries
Once connected, just ask naturally -- in Slovenian or English:
- "Kaj določa ZVOP-2 (Zakon o varstvu osebnih podatkov) glede privolitve?"
- "Ali je Kazenski zakonik (KZ-1) še v veljavi?"
- "Poiščite določbe o 'varstvu osebnih podatkov' v slovenskem pravu"
- "Katere EU direktive implementira ZVOP-2?"
- "Kaj določa Obligacijski zakonik (OZ) glede pogodbene odgovornosti?"
- "Poiščite kazenske določbe v KZ-1 za kibernetske napade"
- "Kateri slovenski zakoni implementirajo direktivo NIS2?"
- "Which Slovenian laws implement the GDPR?"
- "Find data protection provisions in Slovenian law"
What's Included
| Category | Count | Details |
|---|---|---|
| Statutes | 40 statutes | Core Slovenian legislation (curated set) |
| Provisions | 11,970 sections | Full-text searchable with FTS5 |
| Preparatory Works | 497,722 documents | Predlogi zakonov and parliamentary materials (Premium) |
| Database Size | ~42 MB | Optimized SQLite, portable |
| Daily Updates | Automated | Freshness checks against PISRS |
Coverage note: The current free-tier database covers 40 core statutes, representing the primary legislation most relevant for compliance and legal research. The curated selection prioritises data protection, criminal law, obligations, company law, and electronic communications. Premium tier includes expanded coverage and 497,722 preparatory works documents.
Verified data only -- every citation is validated against official sources (pisrs.si). Zero LLM-generated content.
See It In Action
Why This Works
Verbatim Source Text (No LLM Processing):
- All statute text is ingested from PISRS (Pravno-informacijski sistem RS) official sources
- 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 zakon identifier + člen/odstavek
- Cross-references help navigate without loading everything at once
Technical Architecture:
pisrs.si API → Parse → SQLite → FTS5 snippet() → MCP response
↑ ↑
Provision parser Verbatim database query
Traditional Research vs. This MCP
| Traditional Approach | This MCP Server |
|---|---|
| Search PISRS by zakon name | Search by plain Slovenian: "varstvo osebnih podatkov" |
| Navigate multi-člen statutes manually | Get the exact provision with context |
| Manual cross-referencing between zakoni | build_legal_stance aggregates across sources |
| "Je ta zakon še v veljavi?" → manual check | check_currency tool → answer in seconds |
| Find EU basis → dig through EUR-Lex | get_eu_basis → linked EU directives instantly |
| Check PISRS for updates | Daily automated freshness checks |
| No API, no integration | MCP protocol → AI-native |
Traditional: Search PISRS → Download PDF → Ctrl+F → Cross-reference with predlog zakona → Check EUR-Lex → Repeat
This MCP: "Kateri člen ZVOP-2 ureja privolitev in katera EU direktiva je osnova?" → Done.
Available Tools (13)
Core Legal Research Tools (8)
| Tool | Description |
|---|---|
search_legislation | FTS5 search on 11,970 provisions with BM25 ranking |
get_provision | Retrieve specific provision by zakon identifier + člen/odstavek |
validate_citation | Validate citation against database (zero-hallucination check) |
build_legal_stance | Aggregate citations from statutes and preparatory works |
format_citation | Format citations per Slovenian conventions (full/short/pinpoint) |
check_currency | Check if statute is in force, amended, or repealed |
list_sources | List all available statutes with metadata and data provenance |
about | Server info, capabilities, dataset statistics, and coverage summary |
EU Law Integration Tools (5)
| Tool | Description |
|---|---|
get_eu_basis | Get EU directives/regulations for Slovenian statute |
get_slovenian_implementations | Find Slovenian laws implementing EU act |
search_eu_implementations | Search EU documents with Slovenian implementation counts |
get_provision_eu_basis | Get EU law references for specific provision |
validate_eu_compliance | Check implementation status (requires EU MCP) |
EU Law Integration
Slovenia is an EU member state since 2004 and implements EU law through a systematic transposition process published in the Uradni list RS.
| Metric | Value |
|---|---|
| EU Member Since | 2004 |
| GDPR Implementation | ZVOP-2 (Zakon o varstvu osebnih podatkov-2) |
| NIS2 Implementation | ZIIKS (Zakon o informacijski varnosti) |
| Data Authority | Informacijski pooblaščenec (IP RS) |
| EUR-Lex Integration | Automated metadata fetching |
Key Slovenian EU Implementations
- GDPR (2016/679) → ZVOP-2 (Zakon o varstvu osebnih podatkov)
- NIS2 Directive (2022/2555) → ZIIKS (Zakon o informacijski varnosti)
- AI Act (2024/1689) → Slovenian implementation in progress
- eIDAS (910/2014) → ZEPEP-UPB1 (Zakon o elektronskem poslovanju)
- Consumer Rights Directive (2011/83) → ZVPot (Zakon o varstvu potrošnikov)
- AML Directive (2015/849) → ZPPDFT-2 (Zakon o preprečevanju pranja denarja)
See EU_INTEGRATION_GUIDE.md for detailed documentation.
Data Sources & Freshness
All content is sourced from authoritative Slovenian legal databases:
- PISRS - Pravno-informacijski sistem RS -- Official consolidated law database
- Uradni list RS -- Official Gazette of the Republic of Slovenia
- EUR-Lex -- Official EU law database (metadata only)
Data Provenance
| Field | Value |
|---|---|
| Authority | Pravno-informacijski sistem RS (PISRS) |
| Retrieval method | PISRS API + HTML parse |
| Language | Slovenian |
| License | Slovenian public data (open government) |
| Coverage | 40 core statutes (curated) |
| Last ingested | 2026-02-25 |
Automated Freshness Checks (Daily)
A daily GitHub Actions workflow monitors all data sources:
| Source | Check | Method |
|---|---|---|
| Statute amendments | PISRS API date comparison | All covered statutes checked |
| New statutes | Uradni list RS publication feed | Diffed against database |
| EU reference staleness | Git commit timestamps | Flagged if >90 days old |
Security
This project uses multiple layers of automated security scanning:
| Scanner | What It Does | Schedule |
|---|---|---|
| CodeQL | Static analysis for security vulnerabilities | Weekly + PRs |
| Semgrep | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push |
| Gitleaks | Secret detection across git history | Every push |
| Trivy | CVE scanning on filesystem and npm dependencies | Daily |
| Docker Security | Container image scanning + SBOM generation | Daily |
| Socket.dev | Supply chain attack detection | PRs |
| OSSF Scorecard | OpenSSF best practices scoring | Weekly |
| Dependabot | Automated dependency updates | Weekly |
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 official PISRS publications. However:
- This is a research tool, not a substitute for professional legal counsel
- Coverage is currently limited to 40 core statutes -- verify whether your statute is included before relying on this for research
- Court case coverage is not included in the current release -- do not rely on this for case law research
- Verify critical citations against primary sources (pisrs.si) for court filings
- EU cross-references are extracted from Slovenian statute text, not EUR-Lex full text
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 Odvetniška zbornica Slovenije compliance guidance.
Documentation
- EU Integration Guide -- Detailed EU cross-reference documentation
- EU Usage Examples -- Practical EU lookup examples
- Security Policy -- Vulnerability reporting and scanning details
- Disclaimer -- Legal disclaimers and professional use notices
- Privacy -- Client confidentiality and data handling
Development
Setup
git clone https://github.com/Ansvar-Systems/slovenian-law-mcp
cd slovenian-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 PISRS
npm run ingest:all # Auto-ingest all statutes
npm run ingest:cases # Ingest case law from sodnapraksa.si
npm run ingest:prep-works # Ingest preparatory works
npm run build:db # Rebuild SQLite database
npm run drift:detect # Run drift detection
npm run check-updates # Check for amendments and new statutes
Performance
- Search Speed: <100ms for most FTS5 queries
- Database Size: ~42 MB (efficient, portable)
- Reliability: 100% ingestion success rate
More Ansvar MCPs
Full fleet at ansvar.eu/gateway.
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Priority areas:
- Statute coverage expansion (currently 40 statutes -- many more in PISRS)
- Court case law coverage (Vrhovno sodišče, Ustavno sodišče)
- EU regulation cross-reference expansion
- Historical statute versions and amendment tracking
Roadmap
-
Core statute database with FTS5 search
-
Corpus ingestion (40 statutes, 11,970 provisions)
-
EU law integration tools
-
Vercel Streamable HTTP deployment
-
Daily freshness checks
-
Statute coverage expansion (target: 500+ statutes)
-
Court case law (Vrhovno sodišče, Ustavno sodišče)
-
Historical statute versions (amendment tracking)
-
English translations for key statutes
Citation
If you use this MCP server in academic research:
@software{slovenian_law_mcp_2026,
author = {Ansvar Systems AB},
title = {Slovenian Law MCP Server: Production-Grade Legal Research Tool},
year = {2026},
url = {https://github.com/Ansvar-Systems/slovenian-law-mcp},
note = {40 core Slovenian statutes with 11,970 provisions and EU law cross-references}
}
License
Apache License 2.0. See LICENSE for details.
Data Licenses
Ansvar attribution code: SI-Statutory-PD. Basis: ZASP (Zakon o avtorski in sorodnih pravicah) Art. 9(1)(2) — broad statutory-PD
carve-out.
- Statutes & Legislation: Pravno-informacijski sistem RS via
pisrs.si/uradni-list.si. Reused under ZASP Art. 9(1)(2). - Case Law: Sodna praksa (
sodnapraksa.si). Reused under the same ZASP Art. 9(1)(2) basis (judicial output is part of the broad coverage). - EU Metadata: EUR-Lex (EU public-domain notice).
Coverage scope (broad — with translation caveat)
ZASP Art. 9(1) excludes from copyright protection legislative acts, administrative acts, court decisions, and other official texts of a governmental or administrative nature.
Translation caveat (Art. 9(2)): Non-official translations of official texts ARE protected by copyright. If this MCP ever ingests non-official translations of Slovenian statutes (for example, translator-attributed English renderings), those would need a separate licensing basis — Art. 9 does not cover them.
See docs/audits/2026-05-17-eu-copyright-statutory-works-batch-3-BG-HR-SK-SI-SE.md
in the Ansvar architecture-documentation repo for the verbatim Art. 9
text and the coverage analysis.
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 Slovenian law -- turns out everyone building compliance tools for the CEE market has the same research frustrations.
So we're open-sourcing it. Navigating PISRS shouldn't require a law degree.
ansvar.eu -- Stockholm, Sweden
<p align="center"> <sub>Built with care in Stockholm, Sweden</sub> </p>