mcpField
R
ris

ris

ローカル
github.com/Honeyfield-Org法務・行政201 日前に更新

ris について

RIS MCP Serverは、オーストリアの公式法律データベースをAIアシスタントに接続し、法律調査や文書検索を支援します。連邦・州法、裁判例、公報の検索と全文取得に対応します。

主な機能

  1. 01連邦法と州法の検索
  2. 02各種裁判所の判決検索
  3. 03連邦・州の公報検索
  4. 04文書全文の取得
  5. 05文書変更履歴の追跡
  6. 06MarkdownまたはJSON出力

活用シーン

  1. 01オーストリア法の条文を探す
  2. 02特定の裁判所の判決を調べる
  3. 03州の条例を検索する
  4. 04IDを指定して文書全文を取得する

MCP 対応

公式RIS APIを13種類のツールとしてMCPクライアントに公開し、法律資料の検索と全文取得を可能にします。APIキーは不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"honeyfield-org-ris": {
"command": "npx",
"args": [
"-y",
"ris-mcp-ts"
]
}
}
}
起動コマンドnpx -y ris-mcp-ts

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmris-mcp-ts1.8.3

ツール

13

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
limitanyいいえ1 ページあたりの結果数:10、20、50、100(デフォルト:20)。各ヒットは構造化ペイロードを約 1k 文字消費するため、閲覧には 20、広範な調査には 50 を推奨します。ページがペイロードの上限を超える場合は、次に小さいページサイズで返され、その旨が page_size、query.limit、notice に示されます。
seiteintegerいいえページ番号(デフォルト:1)
titelstringいいえ法律名を検索します(例:"ABGB"、"Strafgesetzbuch")
paragraphstringいいえ検索する条項番号(例:"1295" は §1295、"7" は Art 7)
suchwortestringいいえ広範な全文検索語(例:"Mietrecht"、"Schadenersatz")。ヒットは関連度ではなく法律名のアルファベット順に返されます。法律または条項が分かっている場合は、"titel" および/または "paragraph" を優先してください。
applikationenumいいえデータソース - "BrKons"(統合版、デフォルト)、"Begut"(草案)、"BgblAuth"(官報)、"Erv"(英訳)BrKons | Begut | BgblAuth | Erv
fassung_vomstringいいえこの日時点の統合版(YYYY-MM-DD)—その日に有効だった法律の本文を取得します。"Erv" ではサポートされていません。
abschnitt_typenumいいえ"paragraph" が指す条項の種類:"Paragraph"(デフォルト)、"Artikel"(B-VG のような条文番号で編成された法律)、または "Anlage"(付属書)。"Art 7 B-VG" には "Artikel" が必要です。Paragraph | Artikel | Anlage
response_formatenumいいえ「markdown」(デフォルト)または「json」markdown | json

詳細

RIS MCP サーバー

CI npm version License: MIT Node.js MCP MCP Registry

AI アシスタントからオーストリアの公式法律データベース、**Rechtsinformationssystem(RIS)**にアクセスできるMCP(Model Context Protocol)サーバーです。

AI アシスタントにオーストリアの法律について質問すると、政府公式 API から法律文書を直接検索して取得します。API キーは不要です。

できること

接続すると、AI アシスタントに次のような質問ができます。

「オーストリアの法律では、借家人の権利についてどのように定めていますか?」

「表現の自由に関する憲法裁判所の判決を探してください。」

「ABGB(オーストリア民法典)の §1295 を表示してください。」

「気候保護に関する法律で、2024 年に公布されたものはありますか?」

「ザルツブルク州の建築基準法を調べてください。」

「文書 NOR40052761 の全文を取得してください。」

このサーバーは、自然言語によるリクエストをRIS Open Government Data APIへの構造化された API 呼び出しに変換します。

機能

  • RIS の主要なコレクションを網羅する13 種類の専用ツール
  • 連邦法(ABGB、StGB、UGB など)と9 つすべての州の州法
  • 16 種類の裁判所による判決(最高裁判所、憲法裁判所、行政裁判所など)
  • 法律公報 — 連邦(BGBl)および州(LGBl)
  • 政府法案、省令、閣議議事録
  • プレフィックスに基づくスマートルーティングによる文書全文の取得
  • 36 種類の申請タイプにわたる変更履歴の追跡
  • 対応ホストではインタラクティブな検索結果リスト(MCP Apps)を表示し、それ以外では全文形式の回答を提供
  • Markdown および JSON の出力形式
  • 無料でオープン — オーストリアの Open Government Data API を使用し、API キーは不要です

クイックスタート

インストールせずに直接実行できます。

pnpm dlx ris-mcp-ts

または、グローバルにインストールします。

pnpm add -g ris-mcp-ts

設定

Claude Desktop

Claude Desktop の設定に追加します(「Settings」>「Developer」>「Edit Config」)。

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}

注: Claude Desktop の「Add custom connector」UI が対応しているのは、リモート MCP サーバー(HTTP/SSE)のみです。このサーバーのようなローカル stdio サーバーは、JSON ファイルで設定する必要があります。

ヒント: pnpm を使う場合は、すべての設定例で npx の代わりに pnpm dlx も使用できます。

Claude Code

プロジェクトまたはユーザーの設定に追加します。

claude mcp add ris -- npx -y ris-mcp-ts
VS Code(GitHub Copilot)

プロジェクトの .vscode/mcp.json に追加します。

{
  "servers": {
    "ris": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}
Cursor

プロジェクトの .cursor/mcp.json に追加します(グローバルにアクセスする場合は ~/.cursor/mcp.json に追加します)。

{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}
Windsurf

Windsurf MCP の設定 ~/.codeium/windsurf/mcp_config.json に追加します。

{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}
その他の MCP クライアント

MCP に対応したクライアントであれば、stdio トランスポート経由で接続できます。

npx -y ris-mcp-ts
# or: pnpm dlx ris-mcp-ts

利用可能なツール

ツール説明
ris_bundesrecht連邦法(ABGB、StGB、UGB など)を検索します
ris_landesrecht州法(全9州)を検索します
ris_judikatur裁判所の判決(16種類の裁判所)を検索します
ris_bundesgesetzblatt連邦官報(BGBl I/II/III)を検索します
ris_landesgesetzblatt州官報(LGBl)を検索します
ris_regierungsvorlagen政府提出法案を検索します
ris_dokumentID または URL で文書の全文を取得します
ris_dokument_abschnitt文字オフセットで公開文書の一節を返します(文書ビューアーウィジェットにデータを渡します)
ris_bezirke地区当局の告知を検索します
ris_gemeinden市町村の法律と規則を検索します
ris_sonstigeその他のコレクション(8つのサブアプリ)を検索します
ris_history文書の変更履歴を追跡します(36種類のアプリ)
ris_verordnungen州の条例官報を検索します

インタラクティブな検索結果リスト

1つのウィジェットで、11種類すべての検索ツールに対応します。 インタラクティブな検索結果リストは1つだけで、すべての検索ツールの結果がここに表示されます。連邦法、州法、判例、連邦官報と州官報、政府提出法案、地区当局の告知、市町村の法律、その他のコレクション、変更履歴、条例官報に対応しています。以下のスクリーンショットは、別々の機能ではなく、異なる2つのホストで同じウィジェットを表示したものです。

ris_dokument は代わりにリーダーを開きます。 1つの文書が25万文字に及ぶこともあり、1つの回答に収められる量を大幅に超えるため、ビューアーはスクロールに合わせて文書を一節ずつ読み込みます。また、文書にアウトラインがある場合は、そこから目的の箇所に移動でき、RIS へのリンクも表示されます。どちらの場合も全文はチャットに届くため、ウィジェットだけにしか内容がないということはありません。

MCP Apps 拡張機能に対応しているホストでは、検索結果がインタラクティブなリストとして表示されます。検索をやり直さずに結果をページ送りしたり、ブラウザーで文書を開いたり、ワンクリックで全文を取得したりできます。ウィジェットはホストのライトテーマまたはダークテーマに追従します。以下の画像は両方のテーマを示しています。

Claude 内で動作する RIS ウィジェット。「ris-mcp / ris_bundesrecht」と表示されたコネクターの行の下に、「Verbrauchergewährleistungsgesetz」の検索結果が40件表示され、最初の項目が並んでいます。それぞれに「Bundesrecht」タグが付いています。ChatGPT 内で動作する同じ RIS ウィジェット。ChatGPT 独自の入力欄(プレースホルダーは「ChatGPT fragen」)の上に、「Verbrauchergewährleistungsgesetz」の検索結果が40件表示され、最初の項目が並んでいます。
Claude 内ChatGPT 内

ライトテーマで「Verjährung」を検索した判例検索結果。7,466件が表示され、展開された検索結果には裁判所、判決日、事件番号が表示されています。「Im RIS öffnen」、「PDF」、「Volltext in den Chat」の各操作と、画面下部のページ送りコントロールも確認できます。
ライトテーマでの詳細表示 — メタデータ、3つの操作、ページ送り

### プロンプトの例

RIS はドイツ語のデータベースなので、ドイツ語での利用が最適です。以下の各例では、異なるツールが呼び出されます。

「消費者保証法を表示して」 — ris_bundesrecht

「時効に関する最新のOGH判例を検索して」 — ris_judikatur

「自然保護に関するチロル州法の内容を教えて」 — ris_landesrecht

「BGBl. I Nr. 175/2021を表示して」 — ris_bundesgesetzblatt

MCP Apps に対応していないホストでは、同じプロンプトに対して代わりに全文の回答が返されます。下の表をご覧ください。

ホスト表示内容
claude.ai結果一覧(ページネーション、文書リンク)+文書ビューアー(アウトラインナビゲーション、遅延読み込み)
ChatGPT結果一覧(ページネーション)+文書ビューアー(アウトラインナビゲーション、遅延読み込み)
Claude Code、およびMCP Appsに対応していないクライアント通常のテキスト結果(変更なし)

チャットの回答は常に完全です。ウィジェットは回答に追加されるものであり、置き換えるものではありません。ウィジェットを表示しないホストでも、情報が失われることはありません。

ツールリファレンス

ris_bundesrecht — 連邦法

ABGB、StGB、UGB などのオーストリア連邦法を検索します。

入力:

パラメーター型説明
suchwortestring全文検索(例:「Mietrecht」、「Schadenersatz」)
titelstring法律のタイトルを検索(例:「ABGB」、「Strafgesetzbuch」)
paragraphstring条項番号(§1295の場合は「1295」、Art 7の場合は「7」など)
abschnitt_typstringparagraph が指す条項の種類:「Paragraph」(既定値)、「Artikel」(B-VGなど、条文で構成される法律)、「Anlage」(附属書)
applikationstring「BrKons」(統合版、既定値)、「Begut」(草案)、「BgblAuth」(官報)、「Erv」(英訳)
fassung_vomstring過去の版の日付(YYYY-MM-DD)
seitenumberページ番号(既定値:1)
limitnumber1ページあたりの結果数:10、20、50、100(既定値:20)。20を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring「markdown」(既定値)または「json」

すべてのパラメーターは任意です。少なくとも1つの検索パラメーター(suchworte、titel、またはparagraph)を指定してください。

注: applikation="Erv"(英訳)では内部的に異なるパラメーター名(SearchTerms/Title)が使用され、paragraph/abschnitt_typおよびfassung_vomには対応していません。

ris_landesrecht — 州法

オーストリアの9つの州の州法を検索します。

入力:

パラメーター型説明
suchwortestring全文検索
titelstring法律のタイトルを検索
bundeslandstring州:Wien、Niederoesterreich、Oberoesterreich、Salzburg、Tirol、Vorarlberg、Kaernten、Steiermark、Burgenland
paragraphstring条項番号(§1の場合は「1」、Art 7の場合は「7」など)
abschnitt_typstringparagraph が指す条項の種類:「Paragraph」(既定値)、「Artikel」、「Anlage」
fassung_vomstring過去の版の日付(YYYY-MM-DD)
gesetzesnummerstring特定の州法の正確な法律番号(Gesetzesnummer)
applikationstring「LrKons」(統合版、既定値)
seitenumberページ番号
limitnumber1ページあたりの結果数:10、20、50、100(既定値:20)。20を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring「markdown」または「json」
ris_judikatur — 裁判所の判決

オーストリアの裁判所の判決を検索します。

入力:

パラメーター型説明
suchwortestring判決の全文検索
gerichtsbarkeitstring検索対象の裁判所システム/データコレクション — RIS の「Applikation」(下記参照。デフォルトは「Justiz」)
dokumenttypstring「rechtssatz」(判旨のみ)、「entscheidungstext」(全文のみ)、または「beide」(両方、デフォルト)
gerichtstring管轄内の実際の裁判所(例:「OGH」、「OLG Wien」)。gerichtsbarkeit="Justiz" の場合に適用されます
rechtsgebietstring大まかな法分野:「Zivilrecht」または「Strafrecht」(Justiz)
fachgebietstringOGH の専門分野(例:「Arbeitsrecht」)。Justiz で、dokumenttyp が「entscheidungstext」または「beide」の場合に必要です
entscheidungsartstring決定の種類(例:「Erkenntnis」、「Beschluss」)。指定できる値は管轄によって異なります
sammlungsnummerstring集録番号:VfSlg(Vfgh)または VwSlg(Vwgh)
normstring法規範(例:「1319a ABGB」)
geschaeftszahlstring事件番号(例:「5Ob234/20b」)
entscheidungsdatum_vonstring決定日の開始(YYYY-MM-DD)
entscheidungsdatum_bisstring決定日の終了(YYYY-MM-DD)
sortierungstring決定日順で並べ替え:「datum_auf」(古い順)または「datum_ab」(新しい順)
seitenumberページ番号
limitnumber1ページあたりの結果数:10、20、50、100(デフォルト:20)。20 を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring「markdown」または「json」

利用可能な gerichtsbarkeit の値(16):

値裁判所システム
Justiz最高裁判所(OGH)、高等地方裁判所(OLG)、地方裁判所(LG)— デフォルト
Vfgh憲法裁判所
Vwgh最高行政裁判所
Bvwg連邦行政裁判所
Lvwg州行政裁判所
Dskデータ保護機関
AsylGH難民裁判所(歴史的機関、2013年まで)
Normenliste法規範の索引
Pvak人事代表監督委員会
Gbk平等処遇委員会
Dok懲戒委員会
Verg連邦調達庁(歴史的機関、2014年に解散)
Uvs独立行政審判部(歴史的機関、2014年に解散)
Ubas独立連邦難民審判部(歴史的機関、2014年に解散)
Umse環境審判部(歴史的機関、2014年に解散)
Bks連邦通信委員会(歴史的機関、2014年に解散)
ris_bundesgesetzblatt — 連邦官報

連邦官報(BGBl)を検索します。連邦法令の公式な公示が掲載されています。

入力:

パラメーター型説明
bgblnummerstring官報番号(例:「120」)
teilstring「1」(I=法律)、「2」(II=規則)、「3」(III=条約)
jahrgangstring年(例:「2023」)
suchwortestring全文検索
titelstringタイトルを検索
applikationstring「BgblAuth」(2004年以降の真正版、デフォルト)、「BgblPdf」(PDF)、「BgblAlt」(1945~2003年)
seitenumberページ番号
limitnumber1ページあたりの結果数:10、20、50、100(デフォルト:20)。20 を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring「markdown」または「json」
ris_landesgesetzblatt — 州官報

州官報(LGBl)を検索します。州法令の公式な公示が掲載されています。

入力:

パラメーター型説明
lgblnummerstring官報番号(例:「50」)
jahrgangstring年(例:「2023」)
bundeslandstring州名
suchwortestring全文検索
titelstringタイトルを検索
applikationstring「LgblAuth」(真正版、デフォルト)、「Lgbl」(一般)、「LgblNO」(ニーダーエスターライヒ州)
seitenumberページ番号
limitnumberページあたりの結果数:10、20、50、100(デフォルト:20)。20 を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果のサイズを参照)
response_formatstring「markdown」または「json」
ris_regierungsvorlagen — 政府法案

政府法案、つまり議会に提出された法律の草案を検索します。

入力:

パラメーター型説明
suchwortestring全文検索
titelstringタイトルを検索
beschlussdatum_vonstring承認日(開始)(YYYY-MM-DD)
beschlussdatum_bisstring承認日(終了)(YYYY-MM-DD)
einbringende_stellestring提出省庁(例:BKA、BMF、BMJ、BMK)
im_ris_seitstring最近追加された期間:EinerWoche、ZweiWochen、EinemMonat、DreiMonaten、SechsMonaten、EinemJahr
sortierung_richtungstring昇順または降順
sortierung_spaltestringKurztitel、EinbringendeStelle、Beschlussdatum
seitenumberページ番号
limitnumberページあたりの結果数:10、20、50、100(デフォルト:20)。20 を推奨します。構造化ペイロードの上限を超えるページは、次に小さいサイズで返されます(結果のサイズを参照)
response_formatstring「markdown」または「json」
ris_dokument — 文書全文の取得

ID または URL を指定して、法律文書の全文を取得します。2 段階の方法を使用し、まず URL に直接アクセスし、次に検索 API にフォールバックします。

入力:

パラメーター型説明
dokumentnummerstringRIS 文書番号(例:「NOR40052761」)
urlstring文書の内容への直接 URL
response_formatstring「markdown」(デフォルト)または「json」

dokumentnummer または url の少なくとも一方が必要です。長い文書は 25,000 文字で切り詰められます。

対応する文書プレフィックス:

プレフィックス種類
NOR連邦法令
LBG, LKT, LNO, LOO, LSB, LST, LTI, LVB, LWI州法(9 州)
JWR, JWT最高行政裁判所(VwGH)
JFR, JFT憲法裁判所(VfGH)
JJR, JJT通常裁判所(Justiz)
BVWG, LVWG連邦/州行政裁判所
DSB, PDK, GBK, PVAB, DKT, NL, ASYLGHデータ保護、均等待遇、人事、懲戒、法令一覧、難民認定
VERG, JUR, JUT, UBAS, UMSE, BKS旧管轄機関(2014 年廃止)
BGBLA, BGBL, BGBLPDF連邦官報(真正版/1945~2003 年/PDF)
REGV政府法案
BVB地区当局
VBL規則官報
MRP, ERL, PRUEF, AVSV, SPG, KMGER閣議議事録、通達、商工試験、社会保険、医療計画、裁判所公告

ルーティングレジストリ全体は DOCUMENT_ROUTES(src/client.ts)にあります。不明なプレフィックスは Justiz 検索にフォールバックします。

ris_dokument_abschnitt — 文書のセクション

RIS 文書ビューアーですでに開いている文書から、1 つのセクションを返します。ビューアーウィジェット向けであり、直接使用することを想定していません。文書の全文を取得する場合は ris_dokument を使用してください。

このツールはアプリ専用(_meta.ui.visibility: ["app"])として宣言されています。このフラグに対応するホストでは、モデルから非表示になり、ビューアーウィジェットのみが呼び出せます。可能な場合は文書キャッシュから、ris_dokument が生成したものと同じテキストを返すため、ビューアーが保持するオフセットは同じ文書を参照します。

入力:

パラメーター型説明
dokumentnummerstring開いている文書のRIS文書番号。文書を開いたris_dokumentの呼び出しから取得します
urlstring番号ではなくURLで開いた文書の直接URL
offsetnumber文書テキスト内の文字オフセット。0を指定すると、最初のセクションとアウトラインが返されます(デフォルト:0)

dokumentnummerまたはurlのいずれかが必須です。各セクションの長さは25,000文字です。

出力(structuredContent):

フィールド型説明
textstring要求した文書テキストのセクション
total_lengthnumber文書テキスト全体の長さ。呼び出し間で比較し、文書が再取得されてオフセットがずれていないか確認します
next_offsetnumber | null次のセクションを要求するオフセット。文書の末尾ではnullです
outlinearray文書内のジャンプ先。offsetが0の場合のみ返されます。見出しがない文書では空です
dokumentnummerstringこのセクションが属する文書のRIS文書番号(URLで開いた文書にはありません)
source_urlstring文書テキストのレンダリング元となったRISのURL
ris_bezirke — 地区行政機関の公告

地区行政機関の公告を検索します。

注: 以下でのみ利用できます:Niederoesterreich、Oberoesterreich、Tirol、Vorarlberg、Burgenland、Steiermark。

入力:

パラメーター型説明
suchwortestring全文検索
titelstringタイトルを検索
bundeslandstring州名
bezirksverwaltungsbehoerdestring地区行政機関名
kundmachungsnummerstring公告番号
kundmachungsdatum_vonstring開始日(YYYY-MM-DD)
kundmachungsdatum_bisstring終了日(YYYY-MM-DD)
im_ris_seitstring最近追加された期間:EinerWoche、ZweiWochen、EinemMonat、DreiMonaten、SechsMonaten、EinemJahr
seitenumberページ番号
limitnumber1ページあたりの結果数:10、20、50、100(デフォルト:20)。20を推奨します。構造化ペイロードの予算を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring"markdown"または"json"
ris_gemeinden — 市町村法

市町村法(地域の条例および規則)を検索します。

入力:

パラメーター型説明
suchwortestring全文検索
titelstringタイトルを検索
bundeslandstring州名
gemeindestring市町村名(例:"Graz")
applikationstring"Gr"(市町村法、デフォルト)または"GrA"(官報)
im_ris_seitstring最近追加された期間
seitenumberページ番号
limitnumber1ページあたりの結果数:10、20、50、100(デフォルト:20)。20を推奨します。構造化ペイロードの予算を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_formatstring"markdown"または"json"

追加のパラメーターは、選択したアプリケーションによって異なります。ソースコードでGr(市町村法)およびGrA(官報)固有のパラメーターを確認してください。

ris_sonstige — その他のコレクション

その他の法律コレクションおよび専門データベースを検索します。

入力:

パラメーター型説明
applikation文字列必須。 検索対象のコレクション(下記参照)
suchworte文字列全文検索
titel文字列タイトルを検索
datum_von文字列開始日(YYYY-MM-DD)
datum_bis文字列終了日(YYYY-MM-DD)
im_ris_seit文字列最近追加されたもの
seite数値ページ番号
limit数値1ページあたりの結果数:10、20、50、100(デフォルト:20)。20を推奨します。構造化ペイロードの予算を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_format文字列"markdown" または "json"

利用可能なコレクション:

値説明
Mrp閣議議事録(Ministerratsprotokolle)
Erlaesse省令
Upts政党の透明性報告書
KmGer裁判所のお知らせ
Avsv社会保険規則
Avn獣医関連のお知らせ
Spg医療構造計画
PruefGewO営業許可試験

各コレクションには、追加の固有パラメーターがあります。詳細はツールの説明を参照してください。

ris_history — 文書の変更履歴

RIS データベース全体で、文書の作成、変更、削除を追跡します。

入力:

パラメーター型説明
applikation文字列必須。 アプリケーションの種類(36 種類。下記参照)
aenderungen_von文字列変更開始日(YYYY-MM-DD)
aenderungen_bis文字列変更終了日(YYYY-MM-DD)
include_deleted真偽値削除済みの文書を含める(デフォルト:false)
seite数値ページ番号
limit数値1ページあたりの結果数:10、20、50、100(デフォルト:20)。20を推奨します。構造化ペイロードの予算を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_format文字列"markdown" または "json"

利用可能なアプリケーション(36 種類):

連邦法:Bundesnormen、BgblAuth、BgblAlt、BgblPdf、RegV 州法:Landesnormen、LgblAuth、Lgbl、LgblNO、Vbl、Gemeinderecht、GemeinderechtAuth 判例法:Justiz、Vfgh、Vwgh、Bvwg、Lvwg、Dsk、Gbk、Pvak、AsylGH その他:Bvb、Mrp、Erlaesse、PruefGewO、Avsv、Spg、KmGer、Dok、Normenliste 歴史的なもの(2014-01-01 に管轄が廃止されましたが、変更履歴の追跡は継続):Verg、Upts、Uvs、Ubas、Umse、Bks

ris_verordnungen — 州条例公報

州条例公報(Verordnungsblätter)を検索します。

注: 現在利用できるのは、Tirol のデータのみです(2022年1月以降)。

入力:

パラメーター型説明
suchworte文字列全文検索
titel文字列タイトルを検索
bundesland文字列州名
kundmachungsnummer文字列公示番号
kundmachungsdatum_von文字列開始日(YYYY-MM-DD)
kundmachungsdatum_bis文字列終了日(YYYY-MM-DD)
seite数値ページ番号
limit数値1ページあたりの結果数:10、20、50、100(デフォルト:20)。20を推奨します。構造化ペイロードの予算を超えるページは、次に小さいサイズで返されます(結果サイズを参照)
response_format文字列"markdown" または "json"
### 結果サイズ

各ツールのテキストブロックは、25,000 文字に制限されています。検索ツールの structuredContent にもシリアライズ後の上限があり、45,000 文字です。これを超えるページは、次に小さい RIS ページサイズ(100 → 50 → 20 → 10)で配信され、page、page_size、has_more と、そのサイズに書き換えられた query のエコー、およびテキストとペイロードの両方にドイツ語の notice が含まれます。 エコーされた query.limit と query.seite を使ってページを指定してください。limit: 20 を推奨します。幅広く調査する場合は 50 が適しており、100 で配信されるのは、ヒット件数が少ない場合に限られます。 デフォルト値は Claude Code に合わせて調整されています。Claude Code は、構造化ペイロードが 25,000 トークンを超える結果を拒否するためです(実測値:58,659 文字で拒否、46,311 文字で受け入れ。これより少ない上限は、トークン化の効率が悪いコンテンツを考慮した余裕分です)。claude.ai ははるかに大きなペイロードを表示できるため、上限は不要です。 より大きな結果を受け入れるクライアントを使うセルフホストユーザーは、RIS_STRUCTURED_CONTENT_BUDGET 環境変数に正の整数を設定して上限を引き上げられます。

開発

前提条件
  • Node.js >= 20.19.0(Vite 7 のウィジェットビルドに必要)
セットアップ
git clone https://github.com/Honeyfield-Org/ris-mcp-ts.git
cd ris-mcp-ts
pnpm install
pnpm run build
スクリプト
スクリプト説明
pnpm run devホットリロード(tsx)で起動します
pnpm run buildTypeScript をコンパイルします
pnpm startコンパイル済みのバージョンを実行します
pnpm testサーバーのテストを実行します
pnpm run test:uiウィジェットのテストを実行します(jsdom)
pnpm run gen:uiウィジェットのバンドルを src/generated/ にビルドします(dev/test/typecheck の前に自動実行されます)
pnpm run check型チェック + リント + フォーマットチェック + 両方のテストスイートを実行します
pnpm run inspect手動テスト用に MCP Inspector を起動します
プロジェクト構成
src/
├── index.ts           # Entry point (stdio transport)
├── server.ts          # MCP server setup, delegates to tools/
├── client.ts          # HTTP client for RIS API
├── types.ts           # Zod schemas + TypeScript types
├── parser.ts          # JSON parsing and response normalization
├── formatting.ts      # Output formatting (markdown/json)
├── helpers.ts         # Shared helper functions
├── constants.ts       # Static mappings and configuration
├── widgets.ts         # MCP Apps widget resource + tool metadata
├── tools/             # One file per tool handler
│   ├── index.ts
│   ├── bundesrecht.ts
│   ├── landesrecht.ts
│   ├── judikatur.ts
│   └── ...
└── __tests__/         # Unit and integration tests

ui/                    # Widget sources (browser code, built by Vite)
├── trefferliste/      # The result-list widget
└── shared/            # Host bridge, shared states and theme

貢献

ガイドラインについては、CONTRIBUTING.md を参照してください。

ライセンス

MIT


オーストリア連邦首相府(Bundeskanzleramt)が提供するオープンガバメントデータ APIを基盤としています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。