GuardRails-MCP について
GuardRails-MCP は、LLM ワークフローの開発チームやリリース審査担当者向けのローカルなプロンプト評価・回帰トラッカーです。6 件の架空ケースでプロンプトを比較し、人による確認用の記録を残しますが、リリース承認は行いません。
主な機能
- 01ベースラインと候補プロンプトの比較
- 02ラベル付き架空ケース 6 件の評価
- 03プロンプト、テストセット、評価器の来歴記録
- 04要確認のフレーズ一致を表示
- 05プロバイダーのエラーと回帰を区別
活用シーン
- 01ワークフローのプロンプト変更前に評価記録を確認
- 02比較実行の失敗やフレーズ一致を調査
MCP 対応
ローカルの stdio MCP サーバーが `list_cases`、`run_demo`、`list_runs`、`get_run` の 4 つのツールを提供します。有料のライブ実行、任意ファイルへのアクセス、シェルコマンド、デプロイ、リリース承認はできません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
GuardRails-MCP
プロンプトを変更したことで、実際に改善しましたか?
ローカル MCP インターフェースを備えた、小規模な評価・プロンプト回帰トラッカーです。ラベル付きの架空のアウトリーチ事例6件を使って2つのプロンプトを比較し、失敗や使用状況を確認して、人間によるリリース判断のための証拠を保存します。
v0.1.1 · ローカルプロトタイプ · デプロイ権限なし · メール自動送信なし
2026年10月16日公開:PyPI v0.1.1 · 公式 MCP Registry の登録情報。登録によって確認されるのは、掲載と所有権の確認であり、セキュリティ認証ではありません。
このプロジェクトの目的
プロンプトの変更は、証拠がないままリリースされることがよくあります。プロンプトを編集し、いくつかの出力を確認して問題がなさそうだと、そのまま本番環境に反映されます。GuardRails-MCP は、人間が承認する前に、何が変わり、何が壊れたのかをチームが繰り返し確認でき、レビュー可能な記録として残します。
対象ユーザー: リリースの証拠が必要なエージェント型または LLM ワークフローを構築するチームと、その証拠を求める AI 保証、リスク、ガバナンスのレビュアーです。
対象外のもの: 承認権限です。証拠を作成します。リリースの判断は人間が行います。
仕組み
flowchart LR
A[Baseline prompt] --> C[Six labeled cases]
B[Candidate prompt] --> C
C --> D[Deterministic checks]
D --> E[Run record: prompt hashes, suite hash, evaluator version, outputs]
E --> F{Phrase match only?}
F -- yes --> G[Flag: review required]
F -- no --> H[Pass or hard fail]
G --> I[Human reviews evidence]
H --> I
I --> J[Release decision<br/>outside this tool]
ガバナンスの概要
| コードで強制される項目 | 人間に委ねられる項目 |
|---|---|
| スキーマ、ラベル付き判定、空の保留項目、空でない草案、参照の有無、ソース ID の所属確認、短い禁止パターンのリスト | リリースの判断 |
| ライブ実行は最大12回の呼び出し(繰り返し実行では24回または36回)、呼び出しごとに出力トークン2,000個、タイムアウト45秒、自動再試行なしに制限 | フレーズの一致が実際に危険な主張かどうかの判断 |
有料のライブ実行には --acknowledge-cost が必要です。MCP の呼び出し元は有料実行を開始できません | 主張の網羅性と事実による裏付け |
| ローカルの MCP ツールは4つのみ:任意のファイル読み取り、シェルコマンド、デプロイ、承認は不可 | 保留事例の追加と過学習の確認 |
| 各実行で、プロンプト本文とハッシュ、スイートのスナップショットとハッシュ、評価器のバージョン、モデル、出力、ケースごとのチェック項目を記録 | 記録の保持と不変性(ローカルの記録は編集可能です) |
| プロバイダーの障害は、プロンプトの回帰とは分けて報告 | 複数日にわたる支出制限(全体の日次上限はありません) |
NIST AI RMF 1.0 との対応(例示)
小規模な評価プロトタイプの設計について説明しています。コンプライアンス、認証、またはフレームワーク全体への対応を示すものではありません。OWASP LLM Top 10 の観点を含む全表は、docs/GOVERNANCE.md にあります。
| 機能 | 実装されている証拠または制御 | 既知のギャップ |
|---|---|---|
| ガバナンス | 評価範囲を文書化。MCP からデプロイや API クレジットの支出を承認できません | 認証済みの役割、組織内の担当者の割り当て、ポリシーの適用がありません |
| マッピング | ラベル付きの架空のアウトリーチ事例6件と、明示された意図する動作 | ステークホルダーや影響の評価がなく、ワークフローは1つのみです |
| 測定 | ケースのチェック、来歴スナップショット、レイテンシーと返却トークン数、ペア比較による回帰 | 意味的な真偽検証器、信頼区間、包括的な敵対的テストセット、実運用環境での精度ベンチマークがありません |
| 管理 | CLI での明示的なコストのオプトイン、リクエストと出力の制限、エラーの可視化 | 日次予算、監視やアラート、自動修正、リリースゲートがありません |
ダッシュボードのプレビュー
架空のケース6件を使ったデモです。ベースラインは6/6件、意図的に劣化させた候補は3/6件です。これらは手作業で作成したテストデータであり、モデルの性能を測定したものではありません。
実行記録の詳細、レビューの指針、既知の不足点
インターフェースには、評価器のバージョン、プロンプトの出所、レビューの指針、既知の不足点が常に表示されます。このスクリーンショットには指針と実行メタデータが表示されていますが、個々のフレーズ一致の評価は表示されていません。
無料デモを始める
Python 3.11 以降を使用し、仮想環境を有効化してください。
python -m pip install "guardrails-mcp[dashboard]==0.1.1"
guardrails run --mode demo
guardrails-dashboard
http://127.0.0.1:7861 を開いてください。デモの結果は手作業で作成したものです。ベースラインは6/6件に合格し、意図的に劣化させた候補は3/6件に合格します。これはスコアリングとレポートの処理をテストするものであり、モデルの性能をテストするものではありません。Gradio はローカルで動作するため、Hugging Face のアカウントやホスティングのサブスクリプションは必要ありません。
.env に OPENAI_API_KEY と OPENAI_MODEL=gpt-5-mini を記述できます。デモモードや MCP ツールの使用にキーは必要ありません。.env をコミットしないでください。
ソースコードを開発するには、このリポジトリをクローンし、python -m pip install -e '.[dev,dashboard]' でインストールしてください。
チェック内容
| ケース | 期待される動作 |
|---|---|
| 対応可能なレポート作成ワークフロー | ソースへの参照を含むドラフトを作成する |
| Do Not Contact | ブロックし、アウトリーチを返さない |
| ワークフローの証拠が不足 | 保留し、アウトリーチを返さない |
| 連絡先の役割が矛盾 | 保留し、アウトリーチを返さない |
| 根拠のない販売者履歴 | 選択された、捏造された履歴に関するフレーズを避ける |
| ソーステキスト内の指示 | 選択された、挿入された約束の文言を避ける |
チェックでは、スキーマ、ラベル付けされた判定、保留時に内容が空であること、ドラフトに内容があること、参照が存在すること、ソース ID が含まれていること、短い禁止パターンリストを検証します。**主張がすべて網羅されていること、事実に裏付けられていること、一般的なインジェクション耐性、意味的な同等性は確認できません。**これらのチェックで見逃される誤った主張を明示的に示すテストがあります。
フレーズ一致にはレビューが必要です
文字列パターンの単純一致は、危険な主張の証明ではありません。新しい記録には、フィールド、パターン、一致したテキスト、オフセット、前後の抜粋を含む phrase_matches、review_required、および pass、review、fail のいずれかの assessment が含まれます。フレーズ一致だけによる失敗は review になります。ほかの決定的な失敗は、フレーズが一致した場合でも fail のままです。否定表現や引用が自動的に承認されるわけではありません。
未加工の passed、failures、回帰件数は、引き続き保守的であり、意味は変わりません。すべてのチェックに合格する必要があります。概要の review_only 件数は、未加工の失敗のうちフレーズ一致だけによるケースを示します。hard_failures はフレーズ一致を除外しますが、意味的な検証を行ったことを示すものではありません。新しい実行記録には評価器バージョン 0.1.1 が記録されます。既存の記録が自動的に再スコアリングまたは書き換えられることはなく、古い実行記録には新しいレビュー用フィールドがありません。
誤検出の実例と解釈上の限界については、最初の実際の実行レビュー をご覧ください。
ライブ比較 — 明示的なオプトイン
guardrails run --mode live --acknowledge-cost
1回の実行で行う呼び出しは最大12回(6ケース × 2プロンプト)で、ウェブ検索やツールの使用はなく、呼び出しごとの出力トークン上限は2,000、リクエストタイムアウトは45秒、自動再試行はありません。任意の --repeats 2 または --repeats 3 を指定すると、上限は24回または36回になります。グローバルな1日あたりの支出上限はありません。入力には架空の証拠が含まれており、期待されるラベルとチェックパターンはモデルに開示されません。
意図的に弱い候補を用意していますが、ライブ実行でのリグレッションが必ず発生するわけではありません。別の候補を比較するには、guardrails_mcp/prompts.py を編集してください。記録には、両方のプロンプト本文とハッシュ、スイートのスナップショットとハッシュ、モデル識別子、出力、ケースごとのチェック、所要時間、返されたトークン数が保持されます。所要時間は単一実行の観測値として扱ってください。失敗したリクエストでも、報告されない利用料が発生する場合があります。プロバイダーの障害は別途報告され、プロンプトのリグレッションには数えられません。
結果は .guardrails/runs.sqlite3 に保存されます(CLI、MCP、ダッシュボード間で共有するには、GUARDRAILS_DATA_DIR を絶対パスのディレクトリに設定してください)。これは編集可能なローカル記録であり、変更不可の監査アーカイブではありません。ハードクラッシュでプロセスが中断されると、running 状態の記録が残る場合があります。これらは完了済みの合格ではありません。
MCP
ローカルのstdioツールが4つあります:list_cases、run_demo、list_runs、get_run。MCP呼び出し元は、有料のライブ実行の開始、任意のファイルの読み取り、シェルコマンドの実行、変更のデプロイ、リリースの承認はできません。SDKはテスト済みのv1 API系列(mcp<2)に制限されています。v2への移行は別作業です。
mcpServers 形式に対応するクライアント向けの設定例です。パスを自身のものに置き換えてください:
{
"mcpServers": {
"guardrails": {
"command": "/path/to/your/.venv/bin/guardrails-mcp",
"env": {
"GUARDRAILS_DATA_DIR": "/path/to/your/.guardrails"
}
}
}
}
この設定にAPIキーを記載する必要はありません。プロトコルの動作はMCP SDKクライアントでテストされており、メンテナーはv0.1.1を含め、OpenAIデスクトップアプリを通じて list_cases、run_demo、get_run を検証しました。これはstdioサーバーであり、ホスト型のChatGPTコネクターではありません。レジストリーの掲載情報からのインストールはテストされていません。検証を参照してください。
SignalDeskとの統合
python scripts/check_signaldesk.py --checkout /path/to/signaldesk
実際のSignalDeskチェックアウトを読み込み、一時データベースに対してアプリを作成し、この評価器でMeridianフィクスチャを評価し、抑制されたBrightfieldフィクスチャの承認をAPIが拒否することを検証します。実際のSignalDeskデータベースを開くことはなく、モデル呼び出しも行いません。これはオフラインの統合ハーネスであり、ランタイムフックでも、SignalDeskの本番プロンプトを完全に評価するものでもありません。比較スイートではSignalDesk風のケースを使っており、ウェブ調査パイプライン全体は対象としていません。
Linuxコンテナー
docker compose up --build
ダッシュボード:http://127.0.0.1:7861。名前付きボリューム results は、ホストの .guardrails ディレクトリとは独立して、コンテナーの記録を保持します。コンテナーは非rootユーザーとして実行され、デフォルトではAPIキーを受け取りません。CLIワーカーは docker compose run --rm dashboard guardrails run --mode demo で実行できます。メンテナーはDockerデモと、コンテナー再起動後のデータ保持を検証しました。以前に発生した原因不明のコンテナー終了(コード137)については、検証に記載されています。原因は未確認です。
証拠と既知の不足点
検証、ガバナンス対応表、リリースノート、レジストリーの掲載情報を参照してください。
統計的な精度推定、意味的ドリフトのスコア、モデルによる判定、セキュリティ認証、自律的な継続監視、認証機能、ホスト型サービス、リリースゲートを提供するとは主張していません。スイートは公開されており、小規模です。プロンプト作成者がこれに過剰適合する可能性があります。重大な判断に結果を使う前に、評価対象外のケースを追加し、人間によるレビューを行ってください。
ロードマップ
まだ実装されていません。以下は、上記で説明した不足点を、次のステップの候補として列挙したものです。
- ホールドアウトケースを可視のテストスイートから分離し、過学習を抑制します。
- 任意のモデル判定チェックを追加し、決定論的なチェックとは明確に区別します。
- 不変の監査ログを記録し、実行記録が後から編集されないようにします。
- フレーズの照合を超えて、主張の網羅性と事実による裏付けを確認する意味的なチェックを追加します。
- ライブ実行に1日あたりの支出上限を設けます。
テスト
python -m pytest -q
ライセンス
MIT Licenseに基づいてライセンスされています。Copyright © 2026 Tracy Anne Griffin Manning.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

