Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search Austrian federal and state law, court decisions, and the authentic Bundesgesetzblatt (RIS).
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.
MCP_LOG_LEVEL, RIS_CONTACT, RIS_API_BASE_URL, RIS_CONTENT_BASE_URLYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://ris-austria.caseyjhand.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"ris-austria": {
"command": "npx",
"args": [
"-y",
"@cyanheads/ris-austria-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"RIS_CONTACT": "your-value",
"RIS_API_BASE_URL": "your-value",
"RIS_CONTENT_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http ris-austria https://ris-austria.caseyjhand.com/mcpclaude mcp add ris-austria --env MCP_LOG_LEVEL=your-value --env RIS_CONTACT=your-value --env RIS_API_BASE_URL=your-value --env RIS_CONTENT_BASE_URL=your-value -- npx -y @cyanheads/ris-austria-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ris-austria": {
"url": "https://ris-austria.caseyjhand.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ris-austria": {
"command": "npx",
"args": [
"-y",
"@cyanheads/ris-austria-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"RIS_CONTACT": "your-value",
"RIS_API_BASE_URL": "your-value",
"RIS_CONTENT_BASE_URL": "your-value"
}
}
}
}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-austria": {
"type": "http",
"url": "https://ris-austria.caseyjhand.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"ris-austria": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/ris-austria-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"RIS_CONTACT": "your-value",
"RIS_API_BASE_URL": "your-value",
"RIS_CONTENT_BASE_URL": "your-value"
}
}
}
}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.
ChatGPT connects only to servers on the internet:
https://ris-austria.caseyjhand.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
MCP_LOG_LEVEL envRIS_CONTACT envRIS_API_BASE_URL envRIS_CONTENT_BASE_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
ris_search_legislationSearch Austrian consolidated law and English translations: federal law (scope: federal, the default), one Bundesland (scope: burgenland … wien), municipal law (municipality plus a state scope — selected norms in 6 Bundesländer), or English translations of selected federal laws (l
ris_search_case_lawSearch Austrian case law (Judikatur) in ONE court or tribunal per call — court is required: vfgh (Constitutional Court), vwgh (Supreme Administrative Court), justiz (ordinary courts incl. OGH, selected decisions), bvwg (federal administrative), lvwg (state administrative), dsk (d
ris_search_gazetteBrowse Austria’s promulgation record — the authentic, legally binding gazettes — at every level of government. scope picks the jurisdiction: federal (default; the Bundesgesetzblatt across three era tiers auto-routed by year — BgblAuth 2004+ authentic, BgblPdf 1945–2003, BgblAlt 1
ris_search_draftsSearch Austria’s federal lawmaking pipeline BEFORE promulgation — the monitoring counterpart to ris_search_gazette (what will become law). stage selects the phase: review_drafts (Begutachtungsentwürfe — draft laws a ministry has put into public review, before any government bill
ris_search_announcementsSearch Austria’s sectoral official gazettes and executive documents — seven collections behind one collection enum: social_insurance (Amtliche Verlautbarungen der Sozialversicherung, authentic), veterinary (Amtliche Veterinärnachrichten, authentic), court_rules (Kundmachungen der
ris_lookup_citationResolve a single Austrian legal citation to its canonical RIS document deterministically — no keyword search. Four routes are auto-detected from the citation shape (or forced with kind): a norm citation — section-first ("§ 6 DSG", "Art 10 B-VG"), abbreviation-first ("DSG §1", "EM
ris_get_documentFetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_l
ris_track_changesTrack every document added or changed in one RIS application within an exact date window (changed_from/changed_to), optionally including deletions (include_deleted) — the delta-sync and monitoring primitive for mirrors and watchers, and the only surface that reports removals. Unl
ris_list_referenceGround the opaque German codes across the RIS surface — static and offline, no upstream call. Topics: applications (all 39, with coverage windows, binding status, and content formats), courts (17 codes with Geschäftszahl examples and successor mapping), states (the three Bundesla
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 7, 2026
The registry name was verified with the GitHub account cyanheads, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 222 ms (HTTP 200)
No sign-in needed
Read 9 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 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.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.6.1) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
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
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
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.
@cyanheads/ris-austria-mcp-server Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP. 9 Tools • 1 Resource
Public Hosted Server: https://ris-austria.caseyjhand.com/mcp
Austrian law from RIS, the government's official legal information system: federal, state, and municipal law, court decisions, official gazettes back to 1848, draft legislation, and ministerial decrees. Every document is labeled with its binding status. No API key required.
| Tool | Description |
|---|---|
ris_search_legislation | Search consolidated federal, state, and municipal law as in force on a date (default today), plus English translations of selected laws |
ris_search_case_law | Search case law in one court or tribunal per call, across 17 court codes |
ris_search_gazette | Browse the federal, state, district, and municipal gazettes, with federal history auto-routed back to 1848 |
ris_search_drafts | Search ministerial review drafts (Begutachtungsentwürfe) and government bills (Regierungsvorlagen) |
ris_search_announcements | Search seven sectoral collections, from social-insurance notices to ministerial decrees and council-of-ministers minutes |
ris_lookup_citation | Resolve one Austrian legal citation ("§ 6 DSG", "BGBl. I Nr. 165/1999", a Geschäftszahl or ECLI) to its document |
ris_get_document | Fetch one document as markdown, HTML, or XML, or just its rendition URLs, with its binding status |
ris_track_changes | List every document added, changed, or deleted in one application within a date window |
ris_list_reference | Look up RIS vocabularies offline: applications, courts, states, ministries, gazette parts, citation formats, search syntax |
| Resource | Description |
|---|---|
ris://document/{application}/{documentNumber} | Markdown text of one RIS document |
The resource mirrors ris_get_document, so tool-only clients lose nothing.
ris_search_legislation toolquery (full text) or title (title, short title, or abbreviation such as "DSG"). scope is federal (default) or a Bundesland, municipality switches a state scope to municipal law, and language: english searches the ~138 English translationsin_force_as_of defaults to today in Austria and is echoed as appliedInForceAsOf; include_all_versions and the entered_force_* / left_force_* windows are mutually exclusive alternativeslaw_id (filter on it for every section of a law), section_label, abbreviation, keywords, in-force dates, eli, celex_references, and content_urlsris_search_case_law toolcourt is required, one code per call. Filter by query, cited norm ("DSG §1"), case_number, decided_from/decided_to, and decision_type (headnote, full_text, or all, the default). Court-specific filters include court_name (justiz), state (lvwg/uvs), and collection_number (vfgh/vwgh/uvs); one sent to the wrong court fails as court_filter_mismatchcase_numbers (a headnote lists every decision it covers), decision_date, ecli, norms_cited, and guiding_principle on headnotescourt: normenliste returns indexed laws under norm_index instead of decisionsris_search_gazette toolscope is federal (default), a Bundesland, district, or municipal. Filter by number, part, type, published_from/published_to, issuer, district_authority, or municipality; state scopes also take series and state_eraservedApplication; a date range spanning two eras fails as cross_tier_range with the dates to split atbinding (authentic, historical_record, consolidated_informational), authentic_pdf_url where one exists, alex_url (ÖNB scan) for 1848–1940, celex_references where applicable, and promulgation on federal entries from 1848–2003ris_search_drafts toolstage is required: review_drafts (with in_review_on) or government_bills (2004+, with decided_from/decided_to); ministry accepts an abbreviation such as "BMF" or a full designationreview_start and review_deadline or decided, abbreviation and keywords where RIS supplies them, plus materials[] (Erläuterungen, Textgegenüberstellung, Vorblatt/WFA, annexes) classified by type. Pass a materials[].url to ris_get_document to read oneris_search_announcements toolcollection is required: social_insurance, veterinary, court_rules, trade_exam_rules, health_structure_plans, ministerial_decrees, or council_minutes. A filter its collection doesn't accept fails as collection_filter_mismatch, including changed_since on social_insurance and veterinary. issuer expands ministry ("BMF") and social-insurance carrier ("ÖGK") abbreviationsbinding (authentic, administrative_directive, or preparatory), authentic_pdf_url, and document_url, the only browsable view of council minutes and decreescase_numbers, in_force_from/in_force_until, keywords, court_name, plan_state, and session_numberris_lookup_citation toolcitation per call, classified as a norm ("§ 6 DSG"), gazette number ("BGBl. I Nr. 165/1999"), case number ("VfGH G 13/2025") or ECLI, or collection number ("VfSlg 19.632/2012"). kind forces a route, court and state narrow it, and in_force_as_of pins a norm's version (default today)found, kind, and a record in the matching search tool's shape, with alternatives_count when several documents matched. A miss returns found: false with guidance instead of an errorfound: false with its EUR-Lex link, without a RIS requestris_get_document tooldocument_number + application, or by a document_url from content_urls or a draft's materials[].url; format is markdown (default), html, xml, or urls_onlybinding_status and authentic_pdf_url where one exists. Where a PDF is the only rendition (district and municipal promulgations, court rules, party-transparency decisions, council minutes, and draft companions filed without HTML), markdown returns the text extracted from it: plain text with a --- Page N of M --- line before each page, text_source: pdf, and a notice naming the PDF. A scanned PDF with no text layer, one over 16 MiB, or one that cannot be fetched in time returns a notice with the usable URL instead of failing, as do html and xml there and the 1848–1940 gazettes, which have no PDF to readkind: outline; re-call with sections to fetch entries. html and xml over 40,000 bytes return kind: link with byte_size and content_urls, so read with markdownris_track_changes toolapplication (any of the 39 codes) plus changed_from/changed_to; include_deleted adds removals, which no other tool reportschanged, published, and binding_status; deletions set deleted: true with deleted_atsection_label, law_id, and in_force_from/in_force_until (no end date is not the same as in force now), and decision rows carry case_numbers and decision_dateris_list_reference tooltopic selects one of 17 static tables: applications, courts, states, decision types and kinds, issuing bodies, ministries, collections, stages, changed-since intervals, section types, gazette parts, law types, district authorities, justiz subject areas, search syntax, and citation formatssummary and entries (value, label, details) with no upstream callris://document/{application}/{documentNumber} resourcetext/markdown of one document, addressed by application + documentNumber from a search or lookup result; same content as ris_get_document with format: markdownOnly the beginning is shown; read the rest in the repo