mcpField
R
ruleverdict

ruleverdict

ローカル
github.com/CloudCorpRecordsAI・エージェント01 週間前に更新

ruleverdict について

ruleverdictは、事実やテキストに領域別ルールを適用し、根拠文書付きの決定を返すMCPサーバーです。ルールの確認、草案作成、公開、検証と利用状況の確認にも対応します。

主な機能

  1. 01ルールに基づく決定
  2. 02文書を根拠とする説明
  3. 03必要な事実とルールの確認
  4. 04ポリシーテキストからの草案作成
  5. 05YAMLルールセットの登録と検証
  6. 06文書と利用状況の管理

活用シーン

  1. 01構造化された事実によるケース判定
  2. 02領域ごとに必要な入力の確認
  3. 03ポリシー文書から引用付き草案を作成
  4. 04ルールセットと月間上限の確認

MCP 対応

MCPクライアントに、判定、ルール、文書、利用状況のツールを提供します。リクエストをai-rete-ragサービスに転送し、応答をそのまま返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-ruleverdict": {
"command": "npx",
"args": [
"-y",
"@reneturcios/ruleverdict"
]
}
}
}
起動コマンドnpx -y @reneturcios/ruleverdict

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

パッケージ
npm@reneturcios/ruleverdict0.1.0
ocighcr.io/cloudcorprecords/ruleverdict:0.1.0

ツール

9

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
textstringいいえこの呼び出しのテキスト内容。
as_ofstringいいえこの日付時点で評価します(任意)。
factsobjectいいえこの呼び出しの事実ペイロード。
domainstringはいこの呼び出しの対象となるドメイン。
pattern_01booleanいいえ評価する最初のパターン。
pattern_02booleanいいえ評価する2番目のパターン。
fact_sourcesobjectいいえ事実の情報源(任意)。

詳細

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

コメント

MCP は初めてですか?

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

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