Skip to main content
ClaudeWave
cyanheads avatar
cyanheads

ris-austria-mcp-server

View on GitHub

Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP.

MCP ServersOfficial Registry1 stars0 forksTypeScriptApache-2.0Updated today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/cyanheads/ris-austria-mcp-server
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "ris-austria": {
      "command": "node",
      "args": ["/path/to/ris-austria-mcp-server/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/cyanheads/ris-austria-mcp-server and follow its README for install instructions.
Use cases

MCP Servers overview

<div align="center">
  <h1>@cyanheads/ris-austria-mcp-server</h1>
  <p><b>Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP.</b>
  <div>9 Tools • 1 Resource</div>
  </p>
</div>

<div align="center">

[![Version](https://img.shields.io/badge/Version-0.2.5-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/ris-austria-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/ris-austria-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/ris-austria-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)

</div>

<div align="center">

[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/ris-austria-mcp-server/releases/latest/download/ris-austria-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=ris-austria-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvcmlzLWF1c3RyaWEtbWNwLXNlcnZlciJdfQ==) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22ris-austria-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fris-austria-mcp-server%22%5D%7D)

[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)

</div>

<div align="center">

**Public Hosted Server:** [https://ris-austria.caseyjhand.com/mcp](https://ris-austria.caseyjhand.com/mcp)

</div>

---

[RIS](https://www.ris.bka.gv.at/) (Rechtsinformationssystem des Bundes) is the Austrian government's official legal database: consolidated federal, state, and municipal law, case law across every Austrian court and tribunal, the authentic gazettes at every level of government (whose promulgated text is binding under Austrian law), the pre-parliamentary lawmaking pipeline, and ministerial decrees. This server wraps the keyless RIS OGD REST API (v2.6, CC BY 4.0) for MCP agents — the **entire** OGD application surface, back to the Reichsgesetzblatt of 1848. It labels every document's binding status and never presents non-authentic text as the authentic wording.

## Tools

Nine tools split by document class, plus a deterministic citation resolver, document retrieval, a change feed, and an offline vocabulary reference:

| Tool | Description |
|:---|:---|
| `ris_search_legislation` | Search consolidated federal, state, and municipal law — one document per §/Artikel/Anlage — filtered to the version in force on a given date (defaults to today). Also serves English translations of selected laws. |
| `ris_search_case_law` | Search Austrian case law (Judikatur) in one court or tribunal per call — VfGH, VwGH, ordinary courts, BVwG, LVwG, DSB, the party-transparency senate, and ten more. |
| `ris_search_gazette` | Browse the promulgation record at every level — federal (three era tiers back to 1848, auto-routed), state law & ordinance gazettes, district, and municipal — the compliance-monitoring surface. |
| `ris_search_drafts` | Search the federal lawmaking pipeline: ministerial drafts in public review (Begutachtungsentwürfe) and government bills (Regierungsvorlagen). |
| `ris_search_announcements` | Search sectoral official gazettes and executive documents: social-insurance notices, veterinary notices, court rules, trade-exam regulations, health structure plans, ministerial decrees, council-of-ministers minutes. |
| `ris_lookup_citation` | Resolve one Austrian legal citation ("§ 6 DSG", "BGBl. I Nr. 165/1999", "RGBl. Nr. 189/1902", a Geschäftszahl, "VfSlg 19.632/2012") deterministically to its canonical document. |
| `ris_get_document` | Fetch one document's full text as markdown/HTML/XML, or its export URLs, with binding-status labeling and the authentic PDF wherever one exists. |
| `ris_track_changes` | Exact-dated change feed per application — every document added or changed in a window, deletions included. The delta-sync primitive. |
| `ris_list_reference` | Ground the domain vocabulary offline — applications and coverage windows, court codes, Bundesländer, decision kinds, ministries, district authorities, gazette eras and parts, citation formats, search syntax. |

### `ris_search_legislation`

Search consolidated law (BrKons federal, LrKons state, Gr municipal) with in-force-date handling correct by default.

- Full-text `query` with RIS boolean grammar (`UND`/`ODER`/`NICHT` or `AND`/`OR`/`NOT`, parentheses, quoted phrases) and `title` matching title, short title, or abbreviation ("DSG", "ABGB")
- `scope` routes federal or one of the nine Bundesländer; `municipality` narrows a state scope to municipal law (selected norms, six Bundesländer); `language: english` serves the Erv collection of selected English translations
- **`in_force_as_of` defaults to today** — omitting the date upstream silently searches all historical versions; `include_all_versions` is the explicit opt-in, and the applied date is echoed in every response
- Force-window filters (`entered_force_from/to`, `left_force_from/to`) track provisions entering or leaving force in a date range — new-law and repeal monitoring
- Section-range filtering (`section_from`/`section_to`/`section_type` — §, Artikel, Anlage), law-level grouping via `law_id` (Gesetzesnummer), Systematik `index`, `changed_since` windows
- Output per document: section label, in-force date, ELI, parsed CELEX references (the EU-transposition hook), and export URLs (XML/HTML/PDF/RTF)

---

### `ris_search_case_law`

Search decisions and headnotes across Austria's courts and tribunals — 17 applications.

- One application per call (`court`, required): `vfgh`, `vwgh`, `justiz`, `bvwg`, `lvwg`, `dsk`, `upts` (party-transparency senate), plus ten historical/specialized tribunals — cross-court research fans out one call per court
- Filter by cited provision (`norm` — "DSG §1", "DSGVO Art32"), exact case number (`case_number`, Geschäftszahl), decision date range, decision kind (Erkenntnis/Beschluss/…), and full-text query
- `decision_type` targets headnotes (Rechtssätze), full decision texts, or both
- Court-conditional filters: `issuing_body` (dsk/dok/pvak/verg), `court_name`, `legal_area`, `subject_area` (justiz — "Datenschutzrecht", "Insolvenzrecht"), `state` (lvwg/uvs), `collection_number` (VfSlg/VwSlg cites), `party` (upts), commission/senate/discrimination ground (gbk), media statute (bks)
- Output per decision: case numbers, decision date, ECLI, cited norms, keywords, the guiding principle (Leitsatz) on headnote documents, and headnote/decision URLs

---

### `ris_search_gazette`

Browse the promulgation record at every level of government — what `ris_lookup_citation` (point lookup) can't express.

- `scope`: federal, one of the nine Bundesländer, `district` (Bezirksverwaltungsbehörden), or `municipal` (authentic municipal promulgations)
- **Federal history is one logical series, auto-routed across three era tiers**: BgblAuth (2004+, authentic), BgblPdf (Staats- und Bundesgesetzblatt 1945–2003), BgblAlt (Reichs-, Staats- und Bundesgesetzblatt 1848–1940, metadata + ÖNB-hosted scans) — with a notice naming which tier served. One call serves one tier, so a date range crossing 2004-01-01 or 1945-01-01 is rejected with the boundary to split at rather than answered from one side of it; RIS carries no federal gazette for 1941–1944
- Filter by publication date range, gazette `part` (BGBl. I/II/III, or `pre_1997` for the partless era), document `type`, issuing ministry, district authority, or municipality
- State scopes serve the authentic Landesgesetzblätter by default; `series: ordinance_gazette` switches to the Verordnungsblätter, `state_era: legacy` selects the state's earlier non-authentic series (Niederösterreich's systematic LgblNO, or the historical Lgbl elsewhere)
- Point lookup by gazette number ("BGBl. II Nr. 171/2026" or "171/2026")
- Every record carries a binding label (`authentic`, `historical_record`, or `consolidated_informational`) and the amtssigniert PDF URL when present; the metadata-only 1848–1940 gazettes link to their ÖNB ALEX scan

---

### `ris_search_drafts`

Watch federal law before it becomes law.

- `stage: review_drafts` — ministerial drafts in public review (Begutachtungsentwürfe), including "what is in review **right now**" via `in_review_on`
- `stage: government_bills` — bills adopted by the council of ministers (Regierungsvorlagen, 2004+), filtered by adoption date
- `ministry` accepts the abbreviation ("BMF") — the server expands it to RIS's exact designation
- Output includes review deadlines and council adoption dates

---

### `ris_search_announcements`

Sectoral official gazettes and executive documents — seven collections, five of them legally binding authentic publications.

- `collection`: `social_insurance` (Avsv), `veterinary` (Avn), `court_rules` (KmGer), `trade_exam_rules` (PruefGewO), `health_structure_plans` (Spg — ÖSG/RSG), `ministerial_decrees` (Erlässe), `council_minutes` (Ministerratsprotokolle)
- Collection-aware filters: issue numbers, issuers (insurance carriers, mi
ai-agentaustriaaustrian-lawbunbundesgesetzblattcase-lawgazettelegal-researchlegislationmcpmcp-servermodel-context-protocolrisstdiostreamable-httptypescript

What people ask about ris-austria-mcp-server

What is cyanheads/ris-austria-mcp-server?

+

cyanheads/ris-austria-mcp-server is mcp servers for the Claude AI ecosystem. Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP. It has 1 GitHub stars and was last updated today.

How do I install ris-austria-mcp-server?

+

You can install ris-austria-mcp-server by cloning the repository (https://github.com/cyanheads/ris-austria-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is cyanheads/ris-austria-mcp-server safe to use?

+

cyanheads/ris-austria-mcp-server has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains cyanheads/ris-austria-mcp-server?

+

cyanheads/ris-austria-mcp-server is maintained by cyanheads. The last recorded GitHub activity is from today, with 3 open issues.

Are there alternatives to ris-austria-mcp-server?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy ris-austria-mcp-server to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: cyanheads/ris-austria-mcp-server
[![Featured on ClaudeWave](https://claudewave.com/api/badge/cyanheads-ris-austria-mcp-server)](https://claudewave.com/repo/cyanheads-ris-austria-mcp-server)
<a href="https://claudewave.com/repo/cyanheads-ris-austria-mcp-server"><img src="https://claudewave.com/api/badge/cyanheads-ris-austria-mcp-server" alt="Featured on ClaudeWave: cyanheads/ris-austria-mcp-server" width="320" height="64" /></a>