Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Access Austrian laws, court decisions & legal documents via the RIS API.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"ris": {
"command": "npx",
"args": [
"-y",
"ris-mcp-ts"
]
}
}
}Run this in your terminal
claude mcp add ris -- npx -y ris-mcp-tsPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ris": {
"command": "npx",
"args": [
"-y",
"ris-mcp-ts"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"ris": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ris-mcp-ts"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account Honeyfield-Org, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.9.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, HotCodePush
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP (Model Context Protocol) server that gives AI assistants access to Austria's official legal database — the Rechtsinformationssystem (RIS).
Ask your AI assistant about Austrian law, and it will search and retrieve legal documents directly from the official government API. No API key required.
Once connected, you can ask your AI assistant things like:
"What does Austrian law say about tenancy rights?"
"Find Constitutional Court decisions on freedom of expression."
"Show me §1295 of the ABGB (Austrian Civil Code)."
"What laws about climate protection were published in 2024?"
"Look up the building code for the province of Salzburg."
"Get the full text of document NOR40052761."
The server translates these natural language requests into structured API calls against the RIS Open Government Data API.
Run directly without installation:
pnpm dlx ris-mcp-ts
Or install globally:
pnpm add -g ris-mcp-ts
Add to your Claude Desktop config (Settings > Developer > Edit Config):
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "ris": { "command": "npx", "args": ["-y", "ris-mcp-ts"] } } }
Note: The "Add custom connector" UI in Claude Desktop only supports remote MCP servers (HTTP/SSE). Local stdio servers like this one must be configured via the JSON file.
Tip: You can also use
pnpm dlxinstead ofnpxin all configuration examples if you prefer pnpm.
Add to your project or user settings:
claude mcp add ris -- npx -y ris-mcp-ts
Add to .vscode/mcp.json in your project:
{
"servers": { "ris": { "type": "stdio", "command": "npx", "args": ["-y", "ris-mcp-ts"] } } }
Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for global access):
{
"mcpServers": { "ris": { "command": "npx", "args": ["-y", "ris-mcp-ts"] } } }
Add to your Windsurf MCP config at ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "ris": { "command": "npx", "args": ["-y", "ris-mcp-ts"] } } }
Any MCP-compatible client can connect via stdio transport:
npx -y ris-mcp-ts
| Tool | Description |
|---|---|
ris_bundesrecht | Search federal laws (ABGB, StGB, UGB, etc.) |
ris_landesrecht | Search state/provincial laws (all 9 provinces) |
ris_judikatur | Search court decisions (16 court types) |
ris_bundesgesetzblatt | Search Federal Law Gazettes (BGBl I/II/III) |
ris_landesgesetzblatt | Search State Law Gazettes (LGBl) |
ris_regierungsvorlagen | Search government bills |
ris_dokument | Retrieve full document text by ID or URL |
ris_dokument_abschnitt | Return one section of an open document by character offset (feeds the document viewer widget) |
ris_bezirke | Search district authority announcements |
ris_gemeinden | Search municipal law and regulations |
ris_sonstige | Search miscellaneous collections (8 sub-apps) |
ris_history | Track document change history (36 app types) |
ris_verordnungen | Search state ordinance gazettes |
One widget, all eleven search tools. There is a single interactive result list, and every search tool renders into it: federal law, state law, case law, the federal and state law gazettes, government bills, district authority announcements, municipal law, the miscellaneous collections, change history and the ordinance gazettes. The screenshots below are the same widget in two different hosts, not two different features.
`ris_dokument` opens a reader instead. A single document can run to a quarter of a million characters, far past what one answer may carry, so the viewer loads it section by section as you scroll, offers an outline to jump by where the document has one, and links back into RIS. The full text still reaches the chat either way — the widget is never the only copy.
Hosts that support the MCP Apps extension render the hits as an interactive list — page through results without retyping the search, open a document in the browser, or request its full text with one click. The widget follows the host's light or dark theme; the shots below show both.
In Claude In ChatGPT
The expanded detail view, light theme — metadata, the three actions, and pagination
RIS is a German-language database, so these work best in German. Each of these lands on a different tool:
"Zeig mir das Verbrauchergewährleistungsgesetz" —
ris_bundesrecht
"Finde aktuelle OGH-Rechtsprechung zu Verjährung" —
ris_judikatur
"Was steht im Tiroler Landesrecht zum Naturschutz?" —
ris_landesrecht
"Zeig mir BGBl. I Nr. 175/2021" —
ris_bundesgesetzblatt
In a host without MCP Apps support the same prompts return the full text answer instead — see the table below.
| Host | What you get |
|---|---|
| claude.ai | Result list (pagination, document links) + document viewer (outline navigation, lazy loading) |
| ChatGPT | Result list (pagination) + document viewer (outline navigation, lazy loading) |
| Claude Code, and any client without MCP Apps support | The regular text results, unchanged |
The chat answer is always complete. The widgets are an addition to it, never a replacement — a host that does not render them loses nothing.
ris_bundesrecht — Federal Laws
Search Austrian federal laws such as ABGB, StGB, UGB, and more.
Inputs:
| Parameter | Type | Description |
|---|---|---|
suchworte | string | Full-text search (e.g., "Mietrecht", "Schadenersatz") |
titel | string | Search in law titles (e.g., "ABGB", "Strafgesetzbuch") |
paragraph | string | Section number (e.g., "1295" for §1295, "7" for Art 7) |
abschnitt_typ | string | Type of section paragraph refers to: "Paragraph" (default), "Artikel" (article-based laws like B-VG), "Anlage" (annex) |
applikation | string | "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English translations) |
fassung_vom | string | Date for historical version (YYYY-MM-DD) |
seite | number | Page number (default: 1) |
limit | number | Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size) |
response_format | string | "markdown" (default) or "json" |
All parameters are optional. At least one search parameter (suchworte, titel, or paragraph) should be provided.
Note:
applikation="Erv"(English translations) uses a different parameter vocabulary internally (SearchTerms/Title) and does not supportparagraph/abschnitt_typorfassung_vom.
ris_landesrecht — State/Provincial Laws
Search state laws of the nine Austrian provinces.
Inputs:
| Parameter | Type | Description |
|---|---|---|
suchworte | string | Full-text search |
titel | string | Search in law titles |
bundesland | string | Province: Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland |
paragraph | string | Section number (e.g., "1" for §1, "7" for Art 7) |
abschnitt_typ | string | Type of section paragraph refers to: "Paragraph" (default), "Artikel", "Anlage" |
fassung_vom | string | Date for historical version (YYYY-MM-DD) |
gesetzesnummer | string | Exact law number (Gesetzesnummer) of a specific state law |
applikation | string | "LrKons" (consolidated, default) |
seite | number | Page number |
limit | number | Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size) |
response_format | string | "markdown" or "json" |
ris_judikatur — Court Decisions
Search court decisions from Austrian courts.
Inputs:
| Parameter | Type | Description |
|---|---|---|
suchworte | string | Full-text search in decisions |
gerichtsbarkeit | string | Court system / data collection to search — the RIS "Applikation" (see below; default "Justiz") |
dokumenttyp | string | "rechtssatz" (headnotes only), "entscheidungstext" (full texts only), or "beide" (both, default) |
gericht | string | Actual court within the jurisdiction (e.g., "OGH", "OLG Wien"); applies to gerichtsbarkeit="Justiz" |
rechtsgebiet | string | Broad legal area: "Zivilrecht" or "Strafrecht" (Justiz) |
fachgebiet | string | OGH subject area (e.g., "Arbeitsrecht"); Justiz, needs dokumenttyp "entscheidungstext"/"beide" |
| entscheidungsart | string | Decision type (
Only the beginning is shown; read the rest in the repo