mcpField
R
Right Reasons

Right Reasons

ローカル
github.com/Right-Reasonsメモリ・ナレッジ633 週間前に更新

Right Reasons について

Right Reasonsは、業務知識を4層のオントロジーに整理し、AIエージェントが意思決定の根拠を決定的に取得できるようにします。バージョン管理された関係、人間によるレビュー、OPS Contractで組織の推論を外部の作業項目につなぎます。

主な機能

  1. 01業務知識を4層のオントロジーで整理
  2. 02関係をたどって推論を追跡
  3. 03SQLによる決定的なクエリ
  4. 04候補変更のレビューとバージョン管理
  5. 05外部作業向けOPS Contractの生成

活用シーン

  1. 01業務上の決定やルールの根拠を追跡
  2. 02AIが提案した知識変更をレビューして登録
  3. 03外部タスクに組織の背景情報を付与
  4. 04オントロジーの差分と監査履歴を確認

MCP 対応

MCPサーバーは、オントロジー検索、グラフ走査、候補変更、OPS Contract、Dolt操作のための18個のツールを提供します。知識変更は、人間の認証後にのみ正規オントロジーへ登録できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Right Reasons

AI エージェントが組織の推論に確定的にアクセスできるようにする、構造化されたビジネスオントロジーです。

Markdown + RAG を使う AI エージェントは、「なぜ?」という質問に対して想起率が 0%です。同じエージェントが Right Reasons を使うと、想起率は 100%になります。独立した 2 人の評価者が、48 セッションにわたって検証しました。実験結果の全文 →

実験結果

実際のビジネス領域で検証しました(48 回の実行、8 種類のタスク、独立した 2 人の LLM 評価者)。

指標Markdown + RAGRight Reasons差
エンティティ想起率0.5140.976+90%
「なぜ?」という質問の想起率0.0001.0000% → 100%
推論の品質1.96 / 54.33 / 5+121%
安定性(分散)1.4570.4723 倍安定
レイテンシ284.6s183.8s35% 高速化
ペア比較での勝利数020(引き分け 4)

手法と結果の全文 →

機能

Right Reasons は、ビジネスナレッジを 4 層のオントロジーにマッピングします。

LORE      (beliefs, worldview)
  ↓ interpreted_into
VISION    (goals, theses, priorities, boundaries)
  ↓ operationalized_into
RULES     (policies, decision rules, tactical concepts)
  ↓ applied_to
OPERATIONS (initiatives, decisions, tasks, events)

各層をつなぐすべての関係にはアサーションが付与されます。これは、その関係が存在する理由を明示的に説明するものです。これにより AI エージェントは、あらゆる業務上の意思決定から、その根拠となる基本的な信念までをたどることができます。

主な概念

  • 確定的な検索:ベクトル検索ではなく SQL クエリを使用します。確率的なハルシネーションは発生しません。
  • 具体化可能な関係:すべてのエッジに、バージョン管理された「なぜ?」の説明を付与できます。
  • 人間による検証:AI が提案した変更はすべて、差分ベースの承認を経ます(Dolt はデータ版の Git です)。
  • OPS Contracts:外部システムの作業に組織のコンテキストを付与する、推論エンベロープです。
  • EPICAL パイプライン:抽出 → 熟考 → 質問 → 調整 → 認証 → 読み込み。

クイックスタート

前提条件
  • Docker と Docker Compose
  • Python 3.11+
1. データベースを起動する
docker compose up -d

これにより、スキーマとサンプルのシードデータを使って Dolt が初期化されます(4 つすべての層にわたる 11 個のオブジェクト、8 個の関係)。

2. MCP サーバーをインストールする
cd mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e .
3. AI エージェントを接続する

Claude Desktop / Claude Code の MCP 設定に追加します。

{
  "mcpServers": {
    "right-reasons": {
      "command": "/path/to/mcp-server/.venv/bin/right-reasons-mcp",
      "env": {
        "RR_DOLT_HOST": "127.0.0.1",
        "RR_DOLT_PORT": "3307",
        "RR_DOLT_DATABASE": "right_reasons"
      }
    }
  }
}
4. 試してみる

エージェントに次のように尋ねます。

Why did we choose Provider A over Provider B for identity?
Use the get_explanation_packet tool with object ID "ex_ops_02".

エージェントは、次の推論の連鎖をたどります。

  • OPERATIONS:Provider A を選択(手頃な価格で、OIDC に対応)
  • RULES:まず手頃な ID プロバイダーを使い、後で移行を計画する
  • VISION:マイクロプレナー向けのセルフサービスツールを構築する
  • LORE:小規模事業者は自分で会計処理を行いたいと考えている

MCP ツール(18)

クエリツール(9)
ツール説明
list_objects層、タイプ、検索語、検証ステータスで絞り込んでオブジェクトを一覧表示
get_object単一オブジェクトの詳細を取得
list_relationsアサーションの説明付きで関係を一覧表示
get_relation_assertion関係のアサーション履歴全体を取得
traverse_graphオントロジーグラフをたどり、「なぜ?」の連鎖を追跡
get_schema_infoすべてのオブジェクトタイプ(14)と関係タイプ(20)を取得
get_authentication_trail誰が提案、確認、検証したかの監査履歴
get_explanation_packetオブジェクトのコンテキスト全体を 1 回の呼び出しで取得
query_sql高度なクエリ向けの読み取り専用 SQL
変更ツール(4)
ツール説明
create_sessionEPICAL インテークセッションを開始
propose_object候補オブジェクトをステージング(昇格の前に認証が必要)
propose_relation候補関係をステージング
promote_candidate認証済み候補を正式版に昇格
OPS Contract ツール(3)
ツール説明
generate_ops_contractオントロジーから外部作業向けの推論エンベロープを自動生成
get_ops_contract解決済みの参照を含むコントラクトを取得
list_ops_contractsステータスまたは種類でコントラクトを一覧表示
Dolt ツール(2)
ツール説明
dolt_status作業セットのステータス(git status と同様)
dolt_diffコミット間の行レベルの差分(git diff と同様)
dolt_commitメッセージを付けて変更をコミットします

EPICAL:知識がオントロジーに取り込まれる仕組み

Right Reasons では、AI エージェントが正規オントロジーに直接書き込むことはできません。すべての知識は EPICAL パイプラインを通過します。

Source docs ──▶ EXTRACT ──▶ PONDER ──▶ INTERROGATE ──▶ CALIBRATE ──▶ AUTHENTICATE ──▶ LOAD
                  │           │            │               │              │              │
               raw text    identify     challenge       adjust        human           promote to
               intake      candidate    claims &        confidence    validates       canonical
                           objects &    assumptions     scores        via Dolt        ontology
                           relations                                 diff review
ステージ実行内容担当
Extractソース文書を解析して断片化しますエージェント
Ponder候補となるオブジェクトと関係を特定しますエージェント
Interrogate主張を検証し、欠落を明らかにしますエージェント
Calibrate確信度と持続性のスコアを調整しますエージェント
Authenticate人間が Dolt の差分を確認し、承認または却下します人間
Load認証済みの候補を正規のステータスに昇格させますエージェント

認識論的な境界は厳格です。promote_candidate には、ステータスが authenticated または calibrated であることが必要です。エージェントが人間による検証を迂回することはできません。

OPS Contracts:外部作業のための推論エンベロープ

OPS Contracts は「ラストマイル」の課題、つまり組織の推論を実際に作業が行われるシステム(Jira、CI/CD、計画ツール)にどう届けるかを解決します。

OPS Contract はタスクマネージャーではありません。推論エンベロープ、つまり外部システムの作業項目に範囲を限定した組織的なコンテキストを添付するクリップです。

External work item          OPS Contract                    Ontology
(Jira, GitHub, etc.)        (reasoning envelope)            (4 layers)
┌──────────────┐     ┌─────────────────────┐     ┌──────────────────┐
│ TASK-123:    │────▶│ Clauses (from RULES)│◀────│ RULES: policies, │
│ Prepare      │     │ Constraints         │     │ decision rules   │
│ annual       │     │ Success criteria    │     ├──────────────────┤
│ report       │     │ References (31)     │     │ VISION: goals,   │
│              │     │ Reasoning chain (13)│     │ boundaries       │
└──────────────┘     └─────────────────────┘     ├──────────────────┤
                                                  │ LORE: beliefs,   │
                                                  │ worldview        │
                                                  └──────────────────┘

エージェントは、1 回の呼び出しでこれを生成します。

generate_ops_contract(
    external_work_ref="jira://TASK-123",
    description="Prepare annual report for submission",
    contract_kind="annual_reporting"
)

この契約は、実行エージェントに対して、このタスクがなぜ重要なのか、どのルールが適用されるのか、どの境界を越えてはならないのかを伝えます。エージェントがオントロジー全体を自ら照会する必要はありません。

スキーマ

完全なスキーマは schema/LOAD1st_bootstrap.sql にあります。

主要なテーブル:

  • rr_object — レイヤー、確信度、検証ステータスを含む正規のビジネスオブジェクト
  • rr_relation — オブジェクト間の型付きエッジ
  • rr_relation_assertion — バージョン管理された「なぜ?」の説明(再化可能な関係)
  • rr_object_type — 4 つのレイヤーにまたがる 14 種類の型
  • rr_relation_type — 5 つのファミリーに属する 20 種類の関係タイプ
  • ops_contract — 外部の作業項目向け推論エンベロープ
  • src_session、src_candidate_object、src_candidate_relation — EPICAL の取り込みパイプライン
  • src_authentication_event、rr_validation_record — 監査証跡
オブジェクト型(14)
レイヤー型説明
LORElore_item基盤となる信念または世界観の要素
VISIONstrategic_goalより長期的に実現したい成果
VISIONstrategic_thesis成功をどのように生み出すかに関する方向性を示す信念
VISIONstrategic_priority戦略的な方向性間の相対的な重み付け
VISIONstrategic_boundary戦略上の禁止領域または明示的な制限
RULESpolicy上位レイヤーの戦略から導かれる運用ポリシー
RULESdecision_rule行動を形作る個別のロジック
RULESescalation_rule上位へのエスカレーションまたは人間によるレビューのトリガー
RULEStactical_concept再利用可能な、適用済みの運用パターン
OPERATIONSinitiative範囲が定められた取り組みまたはプログラム
OPERATIONSsituation解釈を必要とする進行中の状況
OPERATIONSdecision選択または推奨された行動方針
OPERATIONStask具体的な行動単位
OPERATIONSevent観測された結果またはシグナル
関係タイプ(20)

5つのファミリーに分類されています。再実体化可能な関係(✓)には、バージョン管理された主張の説明を付与できます。

Transition — 推論の中核を形成するレイヤー間のリンク:

CodeDescriptionReifiable
interpreted_intoLORE → VISION の解釈上の移行✓
operationalized_intoVISION → RULES の運用化✓
applied_toRULES → OPERATIONS の適用✓

Structural — レイヤー内の関係:

CodeDescriptionReifiable
supports肯定的な貢献
constrains制限する関係
conflicts_with緊張または対立
depends_on依存関係
affects実質的な影響
relevant_to文脈上の関連性

Reasoning — 正当化と優先順位付け:

CodeDescriptionReifiable
justified_by明示的な推論による裏付け✓
validated_against別のオブジェクトに照らした検証✓
prioritized_over相対的な順位付け✓
escalates_toエスカレーション先✓

Governance — 所有権と権限:

CodeDescriptionReifiable
owned_by所有権
reviewed_byレビュー関係
authorized_by承認
overridden_by上書き(説明を伴う)✓

Feedback — 観察と結果:

CodeDescriptionReifiable
observed_inコンテキスト内での観察
resulted_in因果的な結果✓
evaluated_by評価✓

アーキテクチャ

┌─────────────┐     ┌──────────────┐     ┌──────────┐
│  AI Agent   │────▶│  MCP Server  │────▶│   Dolt   │
│ (Claude,    │     │  (Python /   │     │  (Git    │
│  GPT, etc.) │◀────│   FastMCP)   │◀────│  for     │
│             │     │  18 tools    │     │  data)   │
└─────────────┘     └──────────────┘     └──────────┘
                           │
                    stdio / SSE / HTTP
  • Dolt はデータに Git のセマンティクスを提供します:ブランチ、コミット、差分、マージ、PR 形式の検証
  • MCP はエージェントとツール間の通信における事実上の標準です(SDK のダウンロード数は9,700万件以上)
  • Python / FastMCP により、サーバーをシンプルに保てます(7ファイルで約700行)

例:OPS 契約の生成

generate_ops_contract(
    external_work_ref="jira://TASK-123",
    description="Prepare annual report for submission",
    contract_kind="annual_reporting"
)

以下を含む推論エンベロープを返します:

  • 条項:RULES レイヤーのオブジェクトから導出
  • 制約:ポリシーから取得
  • 成功基準:意思決定ルールと戦術的概念から取得
  • 参照:全4レイヤーにわたるすべての関連オブジェクトへの参照
  • 推論チェーン:LORE → VISION → RULES → OPS の全トレースを表示

ライセンス

Business Source License 1.1 — LICENSE を参照してください。

コントリビューション

Right Reasons は開発初期段階です。コントリビューションやビジネスでの利用に関心がある場合は、issue を作成するか、お問い合わせください。

コメント

MCP は初めてですか?

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

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