storefront-guard について
Fortikは、AIショッピングエージェントが決済前に店舗を確認するためのサービスです。ドメインや証明書の履歴、詐欺情報、法人記録などの公開情報を調べ、事前登録を求めずに説明可能な信頼スコアと推奨事項を返します。
主な機能
- 01ドメインと証明書の履歴確認
- 02HTTPSと既知の詐欺リストの確認
- 03法人および法的実体の照合
- 04信頼スコアと推奨事項の返却
- 05MCP、HTTP、RESTのインターフェース
活用シーン
- 01決済前の店舗の信頼性評価
- 02結果に応じた取引の保留や停止
- 03フィードバックによる取引結果の記録
MCP 対応
ローカルのstdio MCPサーバーと、リモートのstreamable HTTP MCPサーバーを提供します。MCPクライアントは`verify_storefront`を呼び出して店舗の検証結果を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y storefront-guard-mcp-serverGOOGLE_SAFE_BROWSING_API_KEYシークレットGoogle Safe Browsing API key for scam domain checks. Optional — degrades gracefully if not set.SAM_GOV_API_KEYシークレットSAM.gov API key for US federal exclusions check. Optional — skipped if not set.URLHAUS_AUTH_KEYシークレットURLhaus Auth-Key for malware URL lookups. Optional — degrades gracefully if not set.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | 検証するストアフロントのベアドメイン。例:'example-shop.com'。完全な URL が指定された場合は、プロトコルとパスを削除してください。 |
詳細
Fortik
エージェント型コマースのためのリアルタイム加盟店検証。 ショッピングエージェントは支払いの前に、ドメインを指定して verify_storefront を呼び出します。すると、エージェントが行動に移せる、わかりやすい英語の判定付き信頼スコアが2秒以内に返されます。
Fortikは、AIショッピングエージェントがチェックアウト前に実行する信頼性チェックです。加盟店に事前登録を求めず、その場で独立した公開情報源から直接証拠を収集します。
これは、VisaのTrusted Agent Protocolのような加盟店側のエージェント検証プロトコルを反転させたものです。そうしたプロトコルでは、加盟店が着信したエージェントの正当性を確認します。Fortikでは、エージェントが支払いを確定する前に、加盟店の正当性を確認します。
チェック項目
- ドメイン登録期間と最近の変更 — 無料の公開RDAP検索を利用します。登録から数日しか経っていないドメインや、過去2週間以内に登録情報が変更されたドメインは危険信号です。
- SSL証明書の発行履歴 — 無料の公開Certificate Transparencyログ(crt.sh)を利用します。その他の点では長く運用されているドメインでも、証明書がごく最近再発行されていれば、ドメイン自体が古く信頼できるように見えても、乗っ取りやホスティング環境の変更を示している可能性があります。
- HTTPSの有効性 — 現在サイトが有効な証明書を提供しているかどうかを確認します。
- 既知の詐欺サイトのブロックリスト — URLhausとGoogle Safe Browsingを利用します。
- 法人登録 — OpenCorporatesを使って米国の法人情報を検索します。
- 法人名の検証 — GLEIF法人レジストリと照合します。
- ウェブトラフィックのランキング — Trancoのトップ100万ランキングを参照します。
- 連邦政府による取引除外 — SAM.govで取引停止措置を確認します。
- FDAの取り締まり情報 — 他のリスクがある場合の補強シグナルとして使用します。
信頼スコアから差し引かれる項目にはすべて、reasons 配列にわかりやすい理由が付記されます。これは意図的に説明可能なヒューリスティックであり、ブラックボックスモデルではありません。
セットアップ
Node.js 18+が必要です。
npm install
npm run build
.env.example を .env にコピーし、キーを入力します。
実行方法
ローカルのMCPサーバー(stdio)として実行:
npm start
x402決済対応のリモートMCPサーバー(streamable HTTP)として実行:
npm run start:http
# POST http://localhost:3000/mcp
従量課金制のx402 HTTP APIとして実行:
npm run start:x402
# POST http://localhost:4021/verify { "domain": "example-shop.com" }
REST API(APIキー認証)として実行:
npm run start:rest
# POST http://localhost:4022/verify { "domain": "example-shop.com" }
# Header: X-API-KEY: your-key
3つのサーバーをすべて同時に実行:
npm run start:all
# MCP: http://localhost:3000/mcp
# x402: http://localhost:4021/verify
# REST: http://localhost:4022/verify
フィードバックエンドポイント
取引後に結果データを送信し、今後のMLスコアリングの学習データ作成に役立てます。
POST http://localhost:4022/feedback
Header: X-API-KEY: your-key
Body: { "domain": "example-shop.com", "outcome": "legit" | "scam" }
推奨フィールドの使い方
すべての検証結果には、数値の trustScore とともにトップレベルの recommendation 文字列が含まれます。生のスコアに対して独自のしきい値ロジックを実装するのではなく、この値に基づいてエージェントの処理を分岐してください。
| 値 | エージェントに推奨される動作 |
|---|---|
proceed | 通知せずに取引を完了します。信頼スコアはリスクが低く、信頼度も高いことを示します。 |
pause_for_confirmation | 支払いの前に処理を停止し、recommendationReason をユーザーに表示します。 |
do_not_proceed | 取引をブロックし、ユーザーに積極的に通知します。通知なしで失敗させないでください。 |
recommendationReason は、ユーザーにそのまま表示できる、1行のわかりやすい説明です。
料金
x402経由で1回あたり$0.01です。ウォレットアドレスを PAY_TO_ADDRESS に、ネットワークを X402_NETWORK に設定してください(デフォルト:base)。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
PAY_TO_ADDRESS | はい(x402) | USDC決済用のウォレットアドレス |
X402_NETWORK | いいえ | ブロックチェーンネットワーク(デフォルト:base) |
PRICE_USD | いいえ | 1回あたりの料金(デフォルト:0.01) |
API_KEYS | はい(REST) | 有効なAPIキーをカンマ区切りで指定 |
GOOGLE_SAFE_BROWSING_API_KEY | いいえ | 未設定の場合も正常に動作します |
SAM_GOV_API_KEY | いいえ | 未設定の場合も正常に動作します |
URLHAUS_AUTH_KEY | いいえ | 未設定の場合も正常に動作します |
FEEDBACK_LOG | いいえ | フィードバックJSONLログのパス(デフォルト:feedback.jsonl) |
MCP_PORT | いいえ | MCPサーバーのポート(デフォルト:3000) |
X402_PORT | いいえ | x402サーバーのポート(デフォルト:4021) |
REST_PORT | いいえ | REST APIのポート(デフォルト:4022) |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。