ruleverdict について
ruleverdictは、事実やテキストに領域別ルールを適用し、根拠文書付きの決定を返すMCPサーバーです。ルールの確認、草案作成、公開、検証と利用状況の確認にも対応します。
主な機能
- 01ルールに基づく決定
- 02文書を根拠とする説明
- 03必要な事実とルールの確認
- 04ポリシーテキストからの草案作成
- 05YAMLルールセットの登録と検証
- 06文書と利用状況の管理
活用シーン
- 01構造化された事実によるケース判定
- 02領域ごとに必要な入力の確認
- 03ポリシー文書から引用付き草案を作成
- 04ルールセットと月間上限の確認
MCP 対応
MCPクライアントに、判定、ルール、文書、利用状況のツールを提供します。リクエストをai-rete-ragサービスに転送し、応答をそのまま返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | いいえ | この呼び出しのテキスト内容。 |
| as_of | string | いいえ | この日付時点で評価します(任意)。 |
| facts | object | いいえ | この呼び出しの事実ペイロード。 |
| domain | string | はい | この呼び出しの対象となるドメイン。 |
| pattern_01 | boolean | いいえ | 評価する最初のパターン。 |
| pattern_02 | boolean | いいえ | 評価する2番目のパターン。 |
| fact_sources | object | いいえ | 事実の情報源(任意)。 |
詳細
ruleverdict
推測ではなく、ルールエンジンに判断を求めましょう。ruleverdict は ai-rete-rag サービス向けの小さな クライアントです。このサービスは自由形式のモデル出力ではなく、決定論的なルールで案件を判断します。 ドメインの構造化された事実や自由形式のテキストを渡すと、そのドメインのルールセットに基づいて判定し、 ルールの根拠となる文書を使って説明します。
判断だけでなく、ドメインのライフサイクル全体をカバーします。ルールが必要とする事実を確認し、ルール そのものを調べ、編集可能な YAML として取得し、記述されたポリシーから新しいルールの草案を作成できます (各草案には、ルール化する文が引用されます。保存されるのは、保存を指示した後だけです)。さらに、 ルールセットの差し替え、ポリシーテキストのナレッジベースへの取り込み、月間の判定クォータの確認も 行えます。応答はサービスから返された内容そのままで、途中で切り詰めたり、名前を変更したり、要約したり することはありません。
設定
次の 2 つの環境変数でクライアントを制御します。
AI_RETE_RAG_API_KEY(任意) — 設定すると、すべてのリクエストでAuthorization: Bearer <key>として送信されます。 設定しなくてもエラーにはなりません。共有デモドメインはキーなしで動作し、ドメインのクレーム不足や クォータ超過などの制約に関する問題は、ローカルで失敗するのではなく、API からエラーとして返されます。AI_RETE_RAG_API_URL(任意) — API のベース URL です。 デフォルトはhttps://ai-rete-rag.comです(下記の「エンドポイントの出典」を参照)。
ツール
decide— 構造化されたfactsや自由形式のtextを使ってドメイン内の判断を行います。判定は ルールエンジンに基づき、文書を根拠とした説明が付随します。 任意の引数:as_of(判断の評価基準日)、fact_sources(各事実の出所)、取得モードのフラグpattern_01(Pattern 01:ルールスコープ取得)およびpattern_02(Pattern 02:作業メモリへの取得)。 呼び出し例:decide(domain="loan", facts={...})。get_parameters— ドメインのルールが判断に使う事実を、判断への影響が大きい順に返します。decideを呼び出す前に収集する内容を確認できます。list_rules— ドメインのルールを確認します。条件、判定、顕著性、重複を確認できます。get_rule_source— ドメインのルールセットを編集可能な YAML として取得します。import_policy_rules— 記述されたポリシー文書を、それぞれルール化する文を引用したルールの草案に変換します。 保存はされません。put_rules— YAML からドメインのルールセットを作成または置き換えます。保存せずに検証するにはdry_runを指定します。ingest_text— ポリシーテキストをドメインのナレッジベースに追加します。任意でeffective_from/effective_untilの日付、または置き換えるバージョンを指すsupersedesポインターを指定できます。list_documents— ドメインに取り込まれた文書を参照します。get_usage— プランと、月間の判定クォータの残量を確認します。
設定されていない任意の引数は、リクエストに一切含まれません。
上流からの 2xx 以外の応答では ai-rete-rag error: HTTP <status> が返され、API に到達できない場合は
ai-rete-rag unreachable が返されます。
エンドポイントの出典
元のプロジェクトのREADMEでは、9つのツール、実際に動作するdecideの例、Pattern 01/Pattern 02のモード、2つの環境変数名、オプションキーの動作、dry-run/何も保存されないワークフローのセマンティクスが固定されていますが、リクエストパスは記載されていません。以下は再構成したものであり、その旨を明記しています。
POST <base>/api/decide。引数をJSONボディとして送信します(decideで使用)。GET <base>/api/domains/{domain}/parameters(get_parametersで使用)。GET <base>/api/domains/{domain}/rules(list_rulesで使用)。GET <base>/api/domains/{domain}/rules/source(get_rule_sourceで使用)。POST <base>/api/domains/{domain}/rules/import。ボディは{"text": "..."}です(import_policy_rulesで使用)。PUT <base>/api/domains/{domain}/rules。ボディは{"rules": "...", "dry_run": ...}です(put_rulesで使用)。POST <base>/api/domains/{domain}/documents。ボディは{"text": "...", ...}です(ingest_textで使用)。GET <base>/api/domains/{domain}/documents(list_documentsで使用)。GET <base>/api/usage(get_usageで使用)。
ドメインのパスセグメントはURLエンコードされます。
CLI
各ツールは、1つのJSON引数文字列を受け取るサブコマンドです。
npx @reneturcios/ruleverdict decide '{"domain":"loan","facts":{"income":85000}}'
npx @reneturcios/ruleverdict get_parameters '{"domain":"loan"}'
npx @reneturcios/ruleverdict list_rules '{"domain":"loan"}'
npx @reneturcios/ruleverdict get_rule_source '{"domain":"loan"}'
npx @reneturcios/ruleverdict import_policy_rules '{"domain":"loan","text":"Loans need verified income."}'
npx @reneturcios/ruleverdict put_rules '{"domain":"loan","rules":"rules: []","dry_run":true}'
npx @reneturcios/ruleverdict ingest_text '{"domain":"loan","text":"Policy text"}'
npx @reneturcios/ruleverdict list_documents '{"domain":"loan"}'
npx @reneturcios/ruleverdict get_usage '{}'
npx @reneturcios/ruleverdict --version
出力はツールの結果テキスト(成功時は上流のレスポンスボディ)です。終了コード:成功時は0、実行時エラー時は1、使用方法のエラー時は2です。
MCP サーバー
npx -y @reneturcios/ruleverdict mcp
MCP クライアントの設定(キーは省略可能です。キーがある場合はクライアントの環境から渡してください)。
{
"mcpServers": {
"ruleverdict": {
"command": "npx",
"args": ["-y", "@reneturcios/ruleverdict", "mcp"],
"env": {
"AI_RETE_RAG_API_KEY": "<your key>"
}
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/ruleverdict
docker run --rm ghcr.io/cloudcorprecords/ruleverdict get_usage '{}'
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
ライセンス
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。