Install
$ agentstack add mcp-ansvar-systems-austrian-law-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v1.0.3 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
About
Austrian Law MCP Server
> ### ▶ 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 RIS (Rechtsinformationssystem) alternative for the AI age.
[](https://registry.modelcontextprotocol.io) [](https://opensource.org/licenses/Apache-2.0) [](https://github.com/Ansvar-Systems/Austria-law-mcp) [](https://github.com/Ansvar-Systems/Austria-law-mcp/actions/workflows/ci.yml) [](https://github.com/Ansvar-Systems/Austria-law-mcp/actions/workflows/check-updates.yml) [](docs/EUINTEGRATIONGUIDE.md) [](docs/EUINTEGRATIONGUIDE.md)
Query 5,101 Austrian statutes -- from Datenschutzgesetz and Strafgesetzbuch to Allgemeines bürgerliches Gesetzbuch, Arbeitsverfassungsgesetz, and more -- directly from Claude, Cursor, or any MCP-compatible client.
If you're building legal tech, compliance tools, or doing Austrian legal research, this is your verified reference database.
Built by Ansvar Systems -- Stockholm, Sweden
Why This Exists
Austrian legal research means navigating the RIS (Rechtsinformationssystem des Bundes), juggling Bundesgesetze, Landesgesetze, and RIS-Suchabfragen. Whether you're:
- A lawyer validating citations in a brief or contract
- A compliance officer checking DSGVO obligations or Arbeitsverfassungsgesetz requirements
- A legal tech developer building tools on Austrian law
- A researcher tracing legislative history from Regierungsvorlage to enacted statute
...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 Austrian law searchable, cross-referenceable, and AI-readable.
Example Queries
Once connected, just ask naturally -- in German or English:
- "Was sagt das Datenschutzgesetz (DSG 2018) § 4 über Einwilligung?"
- "Ist das Arbeitsverfassungsgesetz (ArbVG) noch in Kraft?"
- "Suche nach Bestimmungen über Datenschutz im österreichischen Recht"
- "Welche EU-Richtlinien setzt das DSG 2018 um?"
- "Finde die Strafbestimmungen im Strafgesetzbuch (StGB) zu Computerbetrug"
- "Was regelt das ABGB (Allgemeines bürgerliches Gesetzbuch) über Vertragsabschluss?"
- "Suche nach Arbeitnehmerschutzvorschriften im ArbVG"
- "Which Austrian laws implement the GDPR?"
- "Compare NIS2 implementation requirements across Austrian statutes"
What's Included
| Category | Count | Details | |----------|-------|---------| | Statutes | 5,101 statutes | Comprehensive Austrian federal legislation | | Provisions | 56,760 sections | Full-text searchable with FTS5 | | Preparatory Works | 2,674 documents | Regierungsvorlagen and parliamentary materials (Premium) | | Case Law | 230,201 decisions | OGH, VfGH, VwGH (Premium tier) | | Database Size | ~1.5 GB | Optimized SQLite, portable | | Daily Updates | Automated | Freshness checks against RIS |
Verified data only -- every citation is validated against official sources (ris.bka.gv.at). Zero LLM-generated content.
See It In Action
Why This Works
Verbatim Source Text (No LLM Processing):
- All statute text is ingested from RIS (Rechtsinformationssystem des Bundes) 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 BGBl number + paragraph/section
- Cross-references help navigate without loading everything at once
Technical Architecture:
RIS OGD API → Parse → SQLite → FTS5 snippet() → MCP response
↑ ↑
Provision parser Verbatim database query
Traditional Research vs. This MCP
| Traditional Approach | This MCP Server | |---------------------|-----------------| | Search RIS by Gesetzestitel | Search by plain German: "Datenschutz Einwilligung" | | Navigate multi-paragraph statutes manually | Get the exact provision with context | | Manual cross-referencing between laws | build_legal_stance aggregates across sources | | "Ist dieses Gesetz noch in Kraft?" → manual check | check_currency tool → answer in seconds | | Find EU basis → dig through EUR-Lex | get_eu_basis → linked EU directives instantly | | Check RIS for updates | Daily automated freshness checks | | No API, no integration | MCP protocol → AI-native |
Traditional: Search RIS → Download PDF → Ctrl+F → Cross-reference with Regierungsvorlage → Check EUR-Lex → Repeat
This MCP: "Welche EU-Richtlinie liegt dem DSG 2018 § 4 zur Einwilligung zugrunde?" → Done.
Available Tools (13)
Core Legal Research Tools (8)
| Tool | Description | |------|-------------| | search_legislation | FTS5 search on 56,760 provisions with BM25 ranking | | get_provision | Retrieve specific provision by BGBl number + paragraph/section | | validate_citation | Validate citation against database (zero-hallucination check) | | build_legal_stance | Aggregate citations from statutes, case law, preparatory works | | format_citation | Format citations per Austrian 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 Austrian statute | | get_austrian_implementations | Find Austrian laws implementing EU act | | search_eu_implementations | Search EU documents with Austrian 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
Austria is an EU member state. Austrian law is heavily shaped by EU directives and regulations, particularly in data protection, financial services, consumer protection, and environmental law.
| Metric | Value | |--------|-------| | EU Member Since | 1995 | | GDPR Implementation | DSG 2018 (Datenschutzgesetz) | | NIS2 Implementation | NISG 2024 (Netz- und Informationssystemsicherheitsgesetz) | | Authority | Datenschutzbehörde (DSB) | | EUR-Lex Integration | Automated metadata fetching |
Key Austrian EU Implementations
- GDPR (2016/679) → Datenschutzgesetz 2018 (DSG 2018)
- NIS2 Directive (2022/2555) → NISG 2024
- AI Act (2024/1689) → Austrian implementation in progress
- eIDAS (910/2014) → E-Government-Gesetz, Signaturgesetz
- AML Directive (2015/849) → Finanzmarkt-Geldwäschegesetz (FM-GwG)
- Consumer Rights Directive (2011/83) → Konsumentenschutzgesetz (KSchG)
See [EUINTEGRATIONGUIDE.md](docs/EUINTEGRATIONGUIDE.md) for detailed documentation.
Data Sources & Freshness
All content is sourced from authoritative Austrian legal databases:
- RIS - Rechtsinformationssystem des Bundes -- Official federal law database, Bundeskanzleramt
- EUR-Lex -- Official EU law database (metadata only)
Data Provenance
| Field | Value | |-------|-------| | Authority | Bundeskanzleramt Österreich | | Retrieval method | RIS OGD API | | Language | German | | License | AT-Statutory-PD — Austrian statutory public domain (UrhG §7(1) "Freie Werke") | | Coverage | 5,101 federal statutes | | Last ingested | 2026-02-25 |
Automated Freshness Checks (Daily)
A [daily GitHub Actions workflow](.github/workflows/check-updates.yml) monitors all data sources:
| Source | Check | Method | |--------|-------|--------| | Statute amendments | RIS API date comparison | All 5,101 statutes checked | | New statutes | RIS Bundesgesetzblatt 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](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 RIS publications. However: > - This is a research tool, not a substitute for professional legal counsel > - Court case coverage is available in Premium tier only -- do not rely solely on this for case law research in the free tier > - Verify critical citations against primary sources (ris.bka.gv.at) for court filings > - EU cross-references are extracted from Austrian statute text, not EUR-Lex full text
Before using professionally, read: [DISCLAIMER.md](DISCLAIMER.md) | [PRIVACY.md](PRIVACY.md)
Client Confidentiality
Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See [PRIVACY.md](PRIVACY.md) for Österreichischer Rechtsanwaltskammertag (ÖRAK) compliance guidance.
Documentation
- [EU Integration Guide](docs/EUINTEGRATIONGUIDE.md) -- Detailed EU cross-reference documentation
- [EU Usage Examples](docs/EUUSAGEEXAMPLES.md) -- Practical EU lookup examples
- [Security Policy](SECURITY.md) -- Vulnerability reporting and scanning details
- [Disclaimer](DISCLAIMER.md) -- Legal disclaimers and professional use notices
- [Privacy](PRIVACY.md) -- Client confidentiality and data handling
Development
Setup
git clone https://github.com/Ansvar-Systems/Austria-law-mcp
cd Austria-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 RIS
npm run build:db # Rebuild SQLite database
npm run drift:detect # Run drift detection
npm run check-updates # Check for amendments and new statutes
npm run db:update-seed # Update database from seed data
Performance
- Search Speed:
Built with care in Stockholm, Sweden
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Ansvar-Systems
- Source: Ansvar-Systems/Austrian-law-mcp
- License: Apache-2.0
- Homepage: https://austria-law-mcp.vercel.app
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v1.0.3 Imported from the upstream source.