SuperAPI AI 工具集

ris-mcp-ts

ris-mcp-ts 是一个面向奥地利官方法律数据库 Rechtsinformationssystem(RIS)的 MCP(Model Context Protocol)服务器,让 AI 助手能够直接检索奥地利联邦法律、州法律、法院判决、法律公报、政府法案等法律文件。它基于奥地利开放政府数据 API,无需 API 密钥,免费开源。服务器提供 13 个专用工具,覆盖联邦法律(如 ABGB、StGB、UGB)、9 个州的州法律、16 类法院判决、联邦与州法律公报、政府法案、部长令、内阁会议记录等,并支持全文文档获取、变更历史追踪、Markdown 与 JSON 输出。用户可用自然语言提问,服务器将其转换为结构化 API 调用。支持通过 npx 直接运行或全局安装,可配置到 Claude Desktop、VS Code(GitHub Copilot)、Cursor、Windsurf 等 MCP 兼容客户端。

访问官网

工具介绍

用途

ris-mcp-ts 是一个 MCP(Model Context Protocol)服务器,为 AI 助手提供访问奥地利官方法律数据库 Rechtsinformationssystem(RIS)的能力。用户可以用自然语言向 AI 助手询问奥地利法律问题,服务器会将这些请求转换为针对 RIS 开放政府数据 API 的结构化调用,并直接检索官方法律文件。无需 API 密钥。

主要能力

  • 提供 13 个专用工具,覆盖 RIS 的主要法律集合。
  • 支持联邦法律(ABGB、StGB、UGB 等)以及全部 9 个州的州法律。
  • 支持来自 16 类法院(最高法院、宪法法院、行政法院等)的法院判决。
  • 支持联邦法律公报(BGBl)和州法律公报(LGBl)。
  • 支持政府法案、部长令、内阁会议记录。
  • 支持通过文档 ID 或 URL 获取法律文件全文,采用直接 URL 访问优先、搜索 API 回退的双重策略。
  • 支持跨 36 种应用类型的变更历史追踪。
  • 在支持 MCP Apps 的宿主中提供交互式结果列表;在其他宿主中提供完整文本答案。
  • 支持 Markdown 和 JSON 输出格式。
  • 免费开源,使用奥地利开放政府数据 API,无需 API 密钥。

使用方式

可直接运行而无需安装,或全局安装。

配置到 Claude Desktop(设置 > 开发者 > 编辑配置): macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

注意:Claude Desktop 的“添加自定义连接器”界面仅支持远程 MCP 服务器(HTTP/SSE)。像本服务器这样的本地 stdio 服务器必须通过 JSON 文件配置。

提示:如果偏好 pnpm,可在所有配置示例中使用 pnpm dlx 代替 npx。

也可添加到项目或用户设置中,支持 VS Code(GitHub Copilot)、Cursor、Windsurf 等。

VS Code(GitHub Copilot):添加到项目中的 .vscode/mcp.json。 Cursor:添加到项目中的 .cursor/mcp.json(或全局的 ~/.cursor/mcp.json)。 Windsurf:添加到 ~/.codeium/windsurf/mcp_config.json。

其他 MCP 客户端:任何兼容 MCP 的客户端均可通过 stdio 传输连接。

可用工具

  • ris_bundesrecht:搜索奥地利联邦法律,如 ABGB、StGB、UGB 等。所有参数可选,但至少应提供一个搜索参数(suchworte、titel 或 paragraph)。注意:applikation="Erv"(英文翻译)内部使用不同的参数词汇(SearchTerms / Title),不支持 paragraph / abschnitt_typ 或 fassung_vom。
  • ris_landesrecht:搜索奥地利九个州的州法律。
  • ris_judikatur:搜索奥地利法院的法院判决。提供 16 个 gerichtsbarkeit 值。
  • ris_bundesgesetzblatt:搜索联邦法律公报(BGBl),即联邦立法的官方出版物。
  • ris_landesgesetzblatt:搜索州法律公报(LGBl),即州立法的官方出版物。
  • ris_regierungsvorlagen:搜索政府法案,即提交给议会的立法草案。
  • ris_dokument:通过 ID 或 URL 获取法律文件全文。至少需要 dokumentnummer 或 url 之一。长文档截断至 25,000 字符。支持多种文档前缀,完整路由注册表位于 DOCUMENT_ROUTES(src/client.ts);未知前缀回退到 Justiz 搜索。
  • ris_dokument_abschnitt:返回已在 RIS 文档查看器中打开的文档的某一节。面向查看器小部件,而非直接使用;获取文档全文请使用 ris_dokument。该工具声明为仅应用可见(_meta.ui.visibility: ["app"]),遵循该标志的宿主会将其对模型隐藏,仅允许查看器小部件调用。至少需要 dokumentnummer 或 url 之一。每节 25,000 字符。
  • ris_bezirksverwaltungsbehoerde:搜索地区行政当局的公告。注意:仅适用于 Niederoesterreich、Oberoesterreich、Tirol、Vorarlberg、Burgenland、Steiermark。
  • ris_gemeinderecht:搜索市政法——地方法令和法规。附加参数取决于所选应用。
  • ris_sonstige:搜索杂项法律集合和专用数据库。每个集合有附加特定参数。
  • ris_aenderungen:追踪 RIS 数据库中文档的创建、修改和删除。提供 36 种应用。
  • ris_verordnungsblaetter:搜索州法令公报(Verordnungsblätter)。注意:目前仅有 Tirol 的数据(自 2022 年 1 月起)。

交互式结果列表

一个部件适用于全部十一个搜索工具。所有搜索工具都渲染到同一个交互式结果列表中:联邦法律、州法律、判例法、联邦和州法律公报、政府法案、地区当局公告、市政法、杂项集合、变更历史和法令公报。ris_dokument 则打开一个阅读器。单个文档可能长达 25 万字符,远超单次回答可承载的量,因此查看器在滚动时逐节加载,提供大纲跳转(若文档有大纲),并链接回 RIS。全文仍会到达聊天,部件从不是唯一副本。

支持 MCP Apps 扩展的宿主会将命中结果渲染为交互式列表——无需重新输入搜索即可翻页、在浏览器中打开文档,或一键请求全文。部件跟随宿主的浅色或深色主题。

在不支持 MCP Apps 的宿主中,相同提示会返回完整文本答案。聊天答案始终完整,部件是补充而非替代。

示例提示

RIS 是德语数据库,因此以下提示最好用德语。每个提示对应不同工具:

  • "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

输出与限制

每个工具的文本块上限为 25,000 字符。搜索工具的 structuredContent 有 45,000 字符(序列化后)的独立预算;超过该预算的页面会以下一个更小的 RIS 页面大小(100 → 50 → 20 → 10)交付,并重写 page、page_size、has_more 和查询回显,同时在文本和负载中加入德语提示。建议使用 limit: 20;50 适合广泛调查;100 仅在命中结果较小时才会交付。默认值针对 Claude Code 校准,其拒绝结构化负载超过 25,000 token 的结果(实测:58,659 字符被拒绝,46,311 字符被接受;低于该值的余量覆盖分词更差的内容);claude.ai 可渲染大得多的负载,无需预算。自托管者若客户端接受更大结果,可通过 RIS_STRUCTURED_CONTENT_BUDGET 环境变量(正整数)提高预算。

运行要求

Node.js >= 20.19.0(Vite 7 部件构建所需)。

项目结构

参见 CONTRIBUTING.md 了解指南。

数据来源

基于奥地利联邦总理府(Bundeskanzleramt)提供的开放政府数据 API 构建。