ris-mcp is a proof of concept showing how an MCP client can search published
Austrian court decisions and federal statutes from a local database grounded in official
open data. It is published for others to study, fork, and develop further.
ris-mcp ist ein Proof of Concept: Er zeigt, wie ein MCP-Client veröffentlichte
österreichische Judikatur und Bundesgesetze in einer lokalen Datenbank aus amtlichen offenen
Daten durchsuchen kann. Das Projekt ist zur Prüfung, Weiterverwendung und Fortentwicklung veröffentlicht.
Once the plug-in is active, you just chat with Claude as usual — it looks up the answer in the local database of Austrian law and returns the real text, not a guess. A few examples:
Sobald das Plug-in aktiv ist, stellen Sie Claude Ihre Fragen wie gewohnt — das Tool schlägt den Text in der lokalen Datenbank nach und liefert den tatsächlichen Wortlaut statt einer Vermutung. Ein paar Beispiele:
“Was sagt § 879 ABGB zu sittenwidrigen Verträgen?”
“Find recent OGH decisions on termination of a tenancy for cause.”
“Suche aktuelle OGH-Entscheidungen zur Auflösung eines Mietvertrages aus wichtigem Grund.”
“Summarise how the Verfassungsgerichtshof has interpreted Art. 7 B-VG since 2020.”
“Fasse zusammen, wie der VfGH Art. 7 B-VG seit 2020 ausgelegt hat.”
“Hol mir den Volltext von OGH 6 Ob 123/24a.”
“List VwGH decisions on asylum status from the past year.”
“Liste VwGH-Entscheidungen zum Asylstatus aus dem letzten Jahr auf.”
“Explain § 1295 ABGB in plain German for a non-lawyer.”
“Erkläre § 1295 ABGB in einfacher Sprache für Nicht-Juristen.”
Claude reads the actual decision or statute before answering. If it can't find something, it says so — that's the whole point of grounding it in a real database. Not legal advice. Some examples above require the full database to be downloaded first — see Status for what is available today.
Claude liest die tatsächliche Entscheidung oder den Gesetzestext, bevor es antwortet. Findet es nichts, sagt es das — genau das ist der Sinn der lokalen Datenbank. Dies ersetzt keine Rechtsberatung. Manche der obigen Beispielfragen setzen den vollständigen Datenbestand voraus — siehe Status, was heute bereits verfügbar ist.
The server and live importer work as a technical demonstration. This repository does not provide a public pre-built corpus, hosted endpoint, support commitment, or product roadmap.
Server und Live-Import funktionieren als technische Demonstration. Dieses Repository bietet keinen öffentlichen fertigen Datenbestand, keinen gehosteten Endpunkt, keine Supportzusage und keinen Produktfahrplan.
Proof-of-concept limitation: no public pre-built database is provided. Step 3 below builds one directly from the official RIS API; it currently takes about 3–4 days and roughly 40 GB of disk space.
Einschränkung des Proof of Concept: Eine öffentliche fertige Datenbank wird nicht bereitgestellt. Schritt 3 baut sie direkt aus der offiziellen RIS-API auf; das dauert derzeit etwa 3–4 Tage und benötigt ungefähr 40 GB Speicherplatz.
This is the path if you use the Claude Desktop app on Mac or Windows and don't write code day to day. Setup is short, but the initial data import is not.
Diese Anleitung ist für Sie, wenn Sie die Claude-Desktop-App auf Mac oder Windows verwenden und im Alltag nicht programmieren. Die Einrichtung ist kurz, der erstmalige Datenimport jedoch nicht.
uv (a tiny helper that launches the plug-in).
1. Installieren Sie uv (ein kleines Hilfsprogramm, das das Plug-in startet).
Open the Terminal app (Mac) or PowerShell (Windows) and paste:
Öffnen Sie die Terminal-App (Mac) oder PowerShell (Windows) und fügen Sie ein:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
In Claude Desktop click Settings → Developer → Edit Config. A JSON file opens in your text editor. (Claude Desktop's menu is English-only, even on a German system.)
Klicken Sie in Claude Desktop auf Settings → Developer → Edit Config. Eine JSON-Datei öffnet sich im Texteditor. (Die Claude-Desktop-Menüs sind englisch, auch auf deutschsprachigen Systemen.)
{}), replace its contents with:
Ist die Datei leer (oder zeigt nur {}), ersetzen Sie den Inhalt durch:
{
"mcpServers": {
"ris": {
"command": "uvx",
"args": ["ris-mcp", "serve"]
}
}
}
"ris" entry inside mcpServers (mind the comma):
Gibt es bereits andere Plug-ins, ergänzen Sie den Eintrag "ris" innerhalb von mcpServers (Komma beachten):
{
"mcpServers": {
"some-other-plugin": { "command": "...", "args": [...] },
"ris": {
"command": "uvx",
"args": ["ris-mcp", "serve"]
}
}
}
PATH, so
"command": "uvx" can fail to resolve even when uvx works
perfectly in Terminal. Replace "uvx" with the absolute path. To find it,
run uvx ris-mcp doctor in Terminal — it prints the exact path on the
“uvx on PATH” line. Your config will look like:
Claude Desktop auf macOS übernimmt den PATH Ihrer Shell nicht, daher
kann "command": "uvx" fehlschlagen, obwohl uvx im Terminal einwandfrei
funktioniert. Ersetzen Sie "uvx" durch den absoluten Pfad. Um ihn zu finden,
führen Sie im Terminal uvx ris-mcp doctor aus — der Pfad erscheint in der
Zeile „uvx on PATH“. Ihre Config sieht dann etwa so aus:
"command": "/Users/YOUR-USERNAME/.local/bin/uvx"
Save the file. Quit and re-open Claude Desktop. A 🔌 plug icon should show ris-mcp as connected.
Speichern Sie die Datei. Beenden Sie Claude Desktop und öffnen Sie es erneut. Ein 🔌-Symbol zeigt, dass ris-mcp verbunden ist.
Back in the terminal:
Wieder im Terminal:
uvx --from ris-mcp ris-ingest --full
Leave the terminal open while this runs. If interrupted, existing records are retained,
but the API scan starts again from the beginning. After a completed import, use
ris-ingest --delta to fetch only later changes.
Lassen Sie das Terminal währenddessen offen. Bei einer Unterbrechung bleiben bestehende
Einträge erhalten, der API-Durchlauf beginnt jedoch wieder am Anfang. Nach einem vollständigen
Import ruft ris-ingest --delta nur spätere Änderungen ab.
Run this in the terminal to confirm each piece is in place:
Prüfen Sie im Terminal, dass alle Teile an Ort und Stelle sind:
uvx ris-mcp doctor
You should see a short report with green ✅ lines for Python, uvx, the database file, and the number of indexed decisions. Any ❌ or ⚠️ line tells you exactly what to fix. Then open Claude Desktop and try one of the example questions above.
Sie erhalten einen kurzen Bericht mit grünen ✅-Zeilen für Python, uvx, die Datenbankdatei und die Anzahl indexierter Entscheidungen. Jede ❌- oder ⚠️-Zeile sagt Ihnen genau, was zu tun ist. Anschließend öffnen Sie Claude Desktop und probieren eine der Beispielfragen oben.
Don't use Claude Desktop? The same plug-in works with Claude Code, Cursor, ChatGPT (via MCP connectors) and any tool that speaks the Model Context Protocol. See the developer instructions on GitHub.
Sie nutzen nicht Claude Desktop? Das Plug-in funktioniert auch mit Claude Code, Cursor, ChatGPT (über MCP-Connectors) und jedem Tool, das das Model Context Protocol unterstützt. Details in der Entwickleranleitung auf GitHub.
To try the server sooner, import one source without federal law first. For example, this builds a VfGH-only database; you can run the full command from step 3 later.
Um den Server früher auszuprobieren, importieren Sie zunächst eine Quelle ohne Bundesrecht. Dieses Beispiel baut eine reine VfGH-Datenbank auf; den vollständigen Befehl aus Schritt 3 können Sie später ausführen.
uvx --from ris-mcp ris-ingest --full --applikation Vfgh --no-include-bundesrecht
The Austrian government's official RIS open-data API, published by the Federal Chancellery. No third-party data broker involved.
Die offizielle RIS-OGD-API des Bundeskanzleramts. Kein Zwischenhändler, kein Datenhandel.
Austrian statutes and published decisions are amtliche Werke under § 7 öUrhG and therefore in the public domain. This project redistributes them under Creative Commons Zero.
Gesetze und veröffentlichte Entscheidungen sind amtliche Werke gemäß § 7 öUrhG und damit gemeinfrei. Dieses Projekt verbreitet sie unter Creative Commons Zero weiter.
Not legal advice. Claude can misread, miss, or paraphrase things. Always verify quotes against the source — every answer links back to RIS.
Keine Rechtsberatung. Claude kann missverstehen, auslassen oder paraphrasieren. Prüfen Sie Zitate immer an der Originalquelle — jede Antwort enthält den Link ins RIS.
The plug-in and database run locally on your machine. However, your questions are still sent to Claude's servers (Anthropic) for processing, as with any Claude conversation. Do not paste privileged client content you would not share with a cloud service.
Das Plug-in und die Datenbank laufen lokal auf Ihrem Rechner. Ihre Fragen werden aber wie bei jeder Claude-Unterhaltung an die Server von Anthropic geschickt. Geben Sie keine vertraulichen Mandantsinhalte ein, die Sie einem Cloud-Dienst nicht anvertrauen würden.
This repository is a working proof of concept and a starting point for others. It has no announced roadmap or ongoing support commitment. Fork it, adapt it, or use its ingestion, SQLite, and MCP patterns in another Austrian legal-information project.
Dieses Repository ist ein funktionsfähiger Proof of Concept und Ausgangspunkt für andere. Es gibt keinen angekündigten Fahrplan und keine laufende Supportzusage. Sie können es forken, anpassen oder seine Import-, SQLite- und MCP-Muster in einem anderen österreichischen Rechtsinformationsprojekt verwenden.