@cyanheads/ris-austria-mcp-服务器
搜索奥地利综合联邦和州法律、法院裁决,以及官方RIS通过MCP提供的正版联邦州议会公告。 无钥匙. (原始内容存档于2012-10-12). STIO or Streamable HTTP.
概览
奥地利法律 RIS 空间研究所政府的官方法律信息系统:联邦、州和市政法、法院裁决、1848年的官方公报、立法草案和部长法令。 每份文件都有其约束力的标签。 不需要 API 密钥 .
工具
| 工具 | 说明 |
|---|---|
ris_search_legislation | 搜索综合联邦、州和市政法,当日有效(今天违约),加上选定法律的英文译文 |
ris_search_case_law | 17个法院代码的每个法院或法庭搜索判例法 |
ris_search_gazette | 浏览联邦,州,区,市的地名录,联邦历史自动回溯到1848年 |
ris_search_drafts | 搜索部长级审查草案(Begutachtungsentwürfe)和政府法案(Regierungsvorlagen) |
ris_search_announcements | 搜查从社会保险通知到部长法令和部长会议会议记录的7个部门收藏 |
ris_lookup_citation | 解决其文件的一个奥地利法律引文("§6 DSG","BGBl. I Nr. 165/1999",一个Geschäftszahl, ECLI, Rechtssatz 号码,或RIS ELI链接) |
ris_get_document | 获取一个文档作为标记下, HTML, 或 XML, 或仅仅是其递解 URL, 并带有约束状态 |
ris_track_changes | 在日期窗口内的一个应用程序中列出每个添加、更改或删除的文档 |
ris_list_reference | 在线检索RIS词汇:应用程序、法院、州、部委、公报部分、引用格式、搜索语法 |
资源
| 资源 | 说明 |
|---|---|
ris://document/{application}/{documentNumber} | 一个 RIS 文件的下标文本 |
资源镜像 ris_get_document,所以只使用工具的客户端一无所获.
能力参考
ris_search_legislation 工具
- 搜索者为
query(全文)或title(标题,简称,或"DSG"等缩写).scope实值federal(违约) 或联邦州,municipality将国家范围改为国内法language: english搜索~138英文译文 in_force_as_of在奥地利默认为今天,并被呼应为appliedInForceAsOf· ;include_all_versions编辑entered_force_*编号 :left_force_*窗口是相互排斥的选项- 记录携带
law_id(每节律法都用它过滤),section_label, (中文(简体) ),abbreviation, (中文(简体) ),keywords,生效日期,eli, (中文(简体) ),celex_references,以及content_urls综合记录载有构成的引用promulgation作为original_gazette, (中文(简体) ),latest_change_gazette,以及latest_change_relation
ris_search_case_law 工具
court需要每个呼叫一个代码。 过滤器由query,引用norm("DSG 第1节"),,case_number, (中文(简体) ),decided_from编号 :decided_to,以及decision_type(单位:千美元)headnote, (中文(简体) ),full_text,或all,默认值). 法院专用过滤器包括:court_name(正义),state(lvwg/uvs), 和collection_number(vfgh/vwgh/uvs);一个被送错法院的失败,因为court_filter_mismatchnorm在所有三种拼写 RIS 索引下搜索任何拼写中的文章("第6条 DSGVO","DSGVO Art6","Artikel 6 MRK"),通知名称为发送的表达式- 记录携带
case_numbers(头条列出其涵盖的每一项决定),decision_date, (中文(简体) ),ecli, (中文(简体) ),norms_cited,以及guiding_principle头条; justiz 记录添加legal_areas,和 justiz 头条rechtssatz_numbers court: normenliste返回后,在norm_index而不是决定
ris_search_gazette 工具
scope实值federal(违约),联邦,district,或municipal过滤器number, (中文(简体) ),part, (中文(简体) ),type, (中文(简体) ),published_from编号 :published_to, (中文(简体) ),issuer, (中文(简体) ),district_authority,或municipality; 状态范围也采用series财务报告和审定财务报表state_era- 从一个时代(BgblAuth 2004+、BgblPdf 1945-2003、BgblAlt 1848-1940)开始,联邦查询得到答复
servedApplication; 跨越两个时代的日期范围失败, 如cross_tier_range拆分日期为 - 记录携带
application(代码)ris_get_document带入document_number,等于servedApplication, (中文(简体) ),binding(单位:千美元)authentic, (中文(简体) ),historical_record, (中文(简体) ),consolidated_informational, (中文(简体) ),authentic_pdf_url如果有的话,alex_url(ÖNB扫描)1848–1940,celex_references在适用的情况下,以及promulgation关于1848-2003年联邦条目
ris_search_drafts 工具
stage需要:review_drafts(与in_review_on)或(或)government_bills(2004年+,与decided_from编号 :decided_to(三);ministry接受“BMF”等缩写或全称- 记录携带
review_start财务报告和审定财务报表review_deadline或者说decided, (中文(简体) ),abbreviation财务报告和审定财务报表keywords其中RIS供应,加materials[](Erläuterungen、Textgegenüberstellung、Vorblatt/WFA,附件)type通过 amaterials[].url改为ris_get_document读取一个
ris_search_announcements 工具
collection需要:social_insurance, (中文(简体) ),veterinary, (中文(简体) ),court_rules, (中文(简体) ),trade_exam_rules, (中文(简体) ),health_structure_plans, (中文(简体) ),ministerial_decrees,或council_minutes。过滤器其收藏不接受失败为collection_filter_mismatch,包括:changed_since打开social_insurance财务报告和审定财务报表veterinary。 。 。 .issuer扩大部("BMF")和社会保险承运人("ÖGK")缩写- 记录携带
binding(单位:千美元)authentic, (中文(简体) ),administrative_directive,或preparatory, (中文(简体) ),authentic_pdf_url,以及document_url唯一可以浏览的议会会议记录和法令 - 每一集都增加了自己的元数据,用于RIS提供,例如:
case_numbers, (中文(简体) ),in_force_from编号 :in_force_until, (中文(简体) ),keywords, (中文(简体) ),court_name, (中文(简体) ),plan_state,以及session_number
ris_lookup_citation 工具
- 一个
citation被分类为规范("§6 DSG"),地名录号("BGBl. I Nr. 165/1999"),案例号("VfGH G 13/2025"),ECLI,Justiz Rechtssatz号码("RS0022961"),收藏号("VfSlg 19.632/2012"),或RIS ELI链接.kind强迫一条路线,court财务报告和审定财务报表state收缩它,和in_force_as_of针入规范的版本( 今天默认) - 回返
found, (中文(简体) ),kind,则arecord在匹配搜索工具的形状中alternatives_count当多个文档匹配时。 错过返回found: false与guidance而不是错误 - 一项规范符合上述法律:
- 法律与RIS文件相匹配("§2 EstG"- EstG 1988 §2;"AlVG 1977"- "AlVG",没有其年份存档;"VwGVG 2014 §28"- "VwGVG §28"),长标题由短标题来读取 ("StaatsanwaltschaftsG"- StAG §35"- StAG §35)
- 子条款和一个后缀“;”被搁置(“第6条第(1)款B-VG”-B-VG第6条),一个正则取名的缩略语与其他缩略语相同(“1. COVID-19-JuBG 第1条”)
- a 引用的版本被搁置("ABGB idF BGBl I 2010/28 §988" → ABGB § 988 于所请求的日期生效,绝不是修正法案的公报条目),并有说明称引用的版本没有被应用
- 引用若干条款的条目(“DSG §1,§24”),“ZPO §179”。 ZPO §275 Abs2")解决了第一个问题并命名了剩下的问题
- 欧盟法令RIS不合并("DSGVO Art32","RL 2006/123/EG","VO (EG)178/2002 Art3")返回
found: false及其Eur-Lex链接,不要求RIS - 一份没有其部分的公报编号("BGBl. Nr. 50/2025")回来时模棱两可,命名了第一,二,三等部分
- 一系列的公报 引用,作为综合记录
promulgation加入("BGBl. Nr. 267/1967 zuletzt geändert durch BGBl. I Nr. 17/2026"),用它的第一个引号解决并取出其他人的名字;在一份公报中的第一个引号不读取返回found: false没有搜索。 拥有联邦土地("LGBlNÖ Nr. 72/2016")的国家机关不需要state提示,并报告一个不同意的提示没有应用 - RIS ELI链接(合并-法律或正版-gazette记录)
eli或者说document_url结束https或者说http(a) 不论是否采用该办法)确定该规定的名称或条目,不论该规定是否有效;in_force_as_of财务报告和审定财务报表state不应用。 拼写公报的路径/eli/bgbl/{I|II|III}/{year}/{number}, (中文(简体) ),/eli/lgbl/{state}/{year}/{number},或/eli/{bgbl|rgbl|stgbl|gbloe}/{year}/{number}与1997年以前一样,除了日期、语言或格式部分之外,没有其他部分/eli/bgbl/II/2026/317, (中文(简体) ),/eli/bgbl/1974/60) (中文(简体) ). 其它/eli/排版,包括在文件编号之前剪接一个规定路径(/eli/bgbl/i/1999/165/A2P4页:1found: false, (中文(简体) ),kind: unknown,没有请求 - 一个Rechtssatz号码("RS0022961","RIS-Justiz RS0022961 [T3]","RW0001127")通过Justiz解决了该头条的音符问题,不管是什么
court提示; 不搜索括号内的 T 数字 - 一个VwSlg引用了另一种形状的VwGH商店("VwSlg 0017 F/1947","VwSlg 1485 A/1950","VwSlg 1809/50")在被引用年份内通过再一次搜索解决
ris_get_document 工具
- 演讲人:
document_number+ 键application,或由document_url: 记录本身document_url或者说eli(一个ELI或Dokument.wxe网页视图,读取其名称的文档),acontent_urls条目或草稿materials[].url· ;format实值markdown(违约),html, (中文(简体) ),xml,或urls_only - 每一个结果都带着
binding_status财务报告和审定财务报表authentic_pdf_url如果有的话 如果PDF是唯一的引渡(地区和市镇的颁布、法院规则、政党透明度决定、理事会会议记录以及没有HTML文件的配套草案),markdown返回从中提取的文本:带有一个纯文本--- Page N of M ---在每页前行,text_source: pdf,以及命名 PDF 的通知。 一个没有文本层的扫描 PDF, 一个超过 16 MiB, 或者一个无法及时获取的 PDF 返回一个通知, 而不是失败html财务报告和审定财务报表xml1848-1940年的公报,没有PDF可读 - Markdown在内容主机上将图像引用写作绝对URL. 仅是页面图像的递解会读取其 PDF 文本, 当 PDF 没有时, 将图像 URL 保留在通知中
- 超过40,000字节返回
kind: outline; 以sections以获取条目.html财务报告和审定财务报表xml返回4万多字节kind: link与byte_size财务报告和审定财务报表content_urls,因此读取markdown
ris_track_changes 工具
application(任何39个代码)changed_from编号 :changed_to· ;include_deleted添加清除, 没有其他工具报告- 记录携带
changed, (中文(简体) ),published,以及binding_status; 删除设置deleted: true与deleted_at - 法律行携带
section_label, (中文(简体) ),law_id,以及in_force_from编号 :in_force_until(没有结束日期与现在生效的日期不同),决定行随行case_numbers财务报告和审定财务报表decision_date
ris_list_reference 工具
topic选择17个静态表格中的1个:申请、法院、州、决定类型和类型、发布机构、部委、收集、阶段、间隔、章节类型、公报部分、法律类型、地区当局、justiz主题区域、搜索语法和引用格式- 回返
summary财务报告和审定财务报表entries(单位:千美元)value, (中文(简体) ),label, (中文(简体) ),details没有上游呼叫
ris://document/{application}/{documentNumber} 资源
text/markdown一、导 言application+ 键documentNumber从搜索或查询结果中; 内容与ris_get_document与format: markdown- 仅发布 PDF 的应用程序在有栅栏的块中返回其取出的案文,并附有一个名为 PDF 的注释;1848–1940 年的地名录和一个没有可取出的案文的 PDF 返回一个指向 PDF 或扫描的注释。 超大小文本返回大纲, 因此使用工具获取条目
特征
建造在 @cyanheads/mcp-ts-core: stdio和可流式的 HTTP 传输器,可插接式(none 编号 : jwt 编号 : oauth),可互换存储(in-memory, (中文(简体) ), filesystem, (中文(简体) ), Supabase, (中文(简体) ), Cloudflare KV/R2/D1),结构化记录,可选择的OpenTeleometry tracking.
具体国际空间年:
- 所有39项OGD申请:综合法律、联邦、州、区和市公报、17项法院和法庭汇编、立法管道和部门公告
- 引用通过精确的过滤器(分节加标题、公报编号、Geschäftszahl、Sammlungsnummer)而不是关键词搜索解决
- 日期为
YYYY-MM-DD; 以page财务报告和审定财务报表page_size(1-100,作为10或20页;默认20页);省略文本过滤器,而不是发送空白 - 法院、申请、州和部委守则来自
ris_list_reference - 工具描述为英文;标题、字段值和RIS出错信息为德文
方便代理输出 :
- 每个记录都带有打入式约束状态(
authentic, (中文(简体) ),consolidated_informational, (中文(简体) ),historical_record, (中文(简体) ),decision, (中文(简体) ),preparatory, (中文(简体) ),administrative_directive, (中文(简体) ),translation(中文(简体) ) - 网页成果报告
totalCount财务报告和审定财务报表truncated并响应服务器应用的内容,例如appliedInForceAsOf财务报告和审定财务报表servedApplication - 输入出错的原因( E)
court_filter_mismatch, (中文(简体) ),cross_tier_range, (中文(简体) ),invalid_query, (中文(简体) ),document_not_found,...)和"零打击"通知为下一个呼叫命名
开始
连接到主机实例, 没有安装 :
claude mcp add --transport http ris-austria-mcp-server https://ris-austria.caseyjhand.com/mcp
或者在当地运行它:
claude mcp add ris-austria-mcp-server -- npx -y @cyanheads/ris-austria-mcp-server
对于其他客户端,请将此添加到 MCP 配置文件中 :
{
"mcpServers": {
"ris-austria-mcp-server": {
"command": "npx",
"args": ["-y", "@cyanheads/ris-austria-mcp-server"]
}
}
}
不需要 API 密钥 。 对于 Docker 或源构建,请参见 运行服务器。 。 。 .
配置
| 变量 | 说明 | 默认 |
|---|---|---|
RIS_API_BASE_URL | RIS OGD REST API基础URL. | https://data.bka.gv.at/ris/api/v2.6 |
RIS_CONTENT_BASE_URL | 移植 URL 的文档内容主机和从中获取的文件 . https://www.ris.bka.gv.at 使用bot检查页面回答自动客户端. | https://ogd.ris.bka.gv.at |
RIS_CONTACT | 联系字符串附于用户代理 . | 无 |
RIS_FOLD_INPUT_SPELLINGS | 接受任何字母案件中的法院或应用代码,以及用其德文或英文名称表示的状态,在验证前将其折叠到代码上. false 恢复每个这样的字段的严格验证. | true |
MCP_TRANSPORT_TYPE | 运输: stdio 或者说 http。 。 。 . | stdio |
MCP_HTTP_PORT | HTTP 服务器端口. | 3010 |
MCP_SESSION_MODE | HTTP 会话模式 : stateless, (中文(简体) ), stateful,或 auto。 。 。 . | stateless |
MCP_AUTH_MODE | 认证 : none, (中文(简体) ), jwt,或 oauth。 。 。 . | none |
MCP_LOG_LEVEL | 日志级别 (debug, (中文(简体) ), info, (中文(简体) ), warning, (中文(简体) ), error(见a/c.5/49/70,附件). | info |
OTEL_ENABLED | 启用 打开几何。 。 。 . | false |
见 .env.example 用于完整可选覆盖列表.
运行服务器
地方发展
要求数 Bun v 1.4.4 (单位:千美元) 或更高(或Node.js v24+).
-
克隆并安装 :
git clone https://github.com/cyanheads/ris-austria-mcp-server.git cd ris-austria-mcp-server && bun install -
构建和运行 :
# One-time build bun run rebuild # Run the built server bun run start:stdio # or bun run start:http -
运行检查和测试 :
bun run devcheck # Lint, format, typecheck, security bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec
夹克
docker run --rm -p 3010:3010 ghcr.io/cyanheads/ris-austria-mcp-server:latest
图像默认为 HTTP 传输、 无国籍会话模式和日志到 /var/log/ris-austria-mcp-server运行到一个 MCP 客户端的 stdio,使用 "command": "docker" 与 "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/ris-austria-mcp-server:latest"]为了在当地建设, docker build -t ris-austria-mcp-server .; OpenTeleometry 端点依赖性默认安装——用 --build-arg OTEL_ENABLED=false 以略去它们.
项目结构
| 目录 | 目的 |
|---|---|
src/index.ts | createApp() 进入点——登记工具和资源. |
src/config | 可选的RIS端点,接触,和输入倍数配置,由Zod解析. |
src/mcp-server/tools | 工具定义*.tool.ts) (中文(简体) ). |
src/mcp-server/resources | 资源定义*.resource.ts) (中文(简体) ). |
src/services/ris | RIS请求构建,HTTP访问,正常化,以及静态参考数据. |
docs/design.md | 设计说明:工具表面,服务规格,活性确认的RIS API参考. |
tests/ | 单位和综合测试镜像 src/。 。 。 . |
framework-skills/ | 发展技能同步自 @cyanheads/mcp-ts-core。 。 。 . |
发展指南
见 CLAUDE.md 编号 : AGENTS.md 发展准则和建筑规则。 简本:
- 搬运工投掷,框架渔获量——否
try/catch在工具逻辑中 - 使用
ctx.log请求范围伐木,ctx.state租户范围储存 - 通过
createApp()内src/index.ts - 环绕 RIS API: 验证原始 = 与域类型正常化 = 返回输出计划; 永远不编织缺失字段
捐款
问题值得欢迎。 提交前进行检查和测试:
bun run devcheck
bun run test
许可证
阿帕奇-2.0 — 见 自由主义 详细情况.
RIS OGD数据为: CC BY 4.0 (英语) (归属:RIS, Bundeskanzleramt Österreich). 基本的法律文本是无版权的官方作品. 只有正式的、具有特别意义的公报措辞才具有法律约束力——综合的RIS文本是信息.