safe4 について
safe4はホステッドMCPサーバーで、予算、カテゴリ、取引先に加え、エージェントの支払い案が与えられたタスクに沿うかを判定します。有料の認可ごとに許可または拒否と理由を返し、改ざん検知可能な監査記録を残します。
主な機能
- 01割り当てられたタスクとの支払い照合
- 02予算と取引上限の適用
- 03サービスカテゴリと取引先の検証
- 04理由コード付きの判定
- 05ハッシュチェーン監査記録の追加
活用シーン
- 01支払い前にエージェントの購入を審査
- 02タスクに無関係な購入を拒否
- 03許可する取引先とカテゴリを制限
- 04支払い判定の記録を確認
MCP 対応
Streamable HTTP経由でMCPクライアントに `safe4_price` と `safe4_authorize` を提供します。認可はx402経由で1回ごとにUSDCで支払い、接続とツール一覧の取得は無料です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.safe4.ai/mcp/claude mcp add --transport http ai-safe4-safe4 https://api.safe4.ai/mcp/{"mcpServers":{"ai-safe4-safe4":{"type":"http","url":"https://api.safe4.ai/mcp/"}}}Cursor で開く{"servers":{"ai-safe4-safe4":{"type":"http","url":"https://api.safe4.ai/mcp/"}}}VS Code で開く{"mcpServers":{"ai-safe4-safe4":{"type":"http","url":"https://api.safe4.ai/mcp/"}}}{"mcpServers":{"ai-safe4-safe4":{"serverUrl":"https://api.safe4.ai/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
2このツールにパラメーターはありません。
詳細
Safe4 — AI エージェント向け決済ファイアウォール(MCP サーバー)
Safe4 は、AI エージェントが提案した決済を許可するかどうかを、実際に与えられたタスクに照らして購入内容を検証し、判定します。
想定しているのは、予算制限では見逃されるケースです。すべての予算内で、許可されたカテゴリに属し、承認済みの取引相手への決済でありながら、タスクの達成に役立たないために、誤った購入となるケースです。
このリポジトリは、ホスト型 MCP サーバーの公開マニフェストとクライアントの使用例です。サービス自体は api.safe4.ai で稼働しており、インストールするサーバーはありません。
接続
インストール不要の Streamable HTTP:
{
"mcpServers": {
"safe4": {
"type": "http",
"url": "https://api.safe4.ai/mcp/"
}
}
}
接続とツールの一覧表示は無料です。有料なのは safe4_authorize だけです。
ツール
safe4_price — 無料
現在の価格とエンドポイントが受け付ける決済ネットワークを返すため、エージェントは有料の呼び出しを確定する前に費用を確認できます。
safe4_authorize — 有料、USDC で呼び出しごとに x402 決済
提案された決済に対し、理由コード、一致した概念、ハッシュチェーン形式の監査エントリとともに、ALLOW または DENY の判定を返します。
決済情報なしで呼び出すと、判定の代わりに x402 チャレンジを返します。x402 対応クライアントは決済を行い、取得したペイロードを payment 引数に指定して再度呼び出します。
引数:
| 引数 | 意味 |
|---|---|
task | エージェントに与えられたタスク。プリンシパルが提示した内容 |
purchase | 購入するもの |
purchase_purpose | この購入がタスクにどう役立つか |
amount, currency | 提案された決済 |
counterparty | 決済の受取人 |
service_category | 購入対象のカテゴリ |
allowed_service_categories | プリンシパルが許可するカテゴリ |
allowed_counterparties | 任意。プリンシパルが許可する支払先 |
task_id | 任意。監査エントリに記録されます |
payment | x402 決済ペイロード。価格一覧を受け取る場合は省略します |
タスクと 2 つの許可リストはエージェントではなくプリンシパルの制約です。購入内容はこれらの制約に照らして検証されるため、エージェントが独自に task を設定すると、自分で自分の宿題を採点することになります。Safe4 は受け取ったすべてのフィールドを記録し、タスクのコンテキストにリクエスト由来の印を付けるため、制約が差し替えられた場合も、後から監査エントリで確認できます。
支払いなしで試す
このサンプルでは、無料で使える機能をすべて実行します。接続、ツール一覧の取得、価格の確認、チャレンジの取得を行い、署名する前に停止します。必要なのは httpx だけです。キーも、資金を入れたウォレットも必要ありません。
python examples/mcp_buyer_demo.py https://api.safe4.ai --dry-run
--dry-run を外し、SAFE4_BUYER_PRIVATE_KEY を設定すると、実際の判定を購入できます。このスクリプトは、サーバーが提示した金額と支払先に限って EIP-3009 認証に署名し、それ以外は何も行いません。スクリプトが資産を保管することはなく、Safe4 がキーを目にすることもありません。
判定の基準
順に行う 4 つのチェックがあり、購入はすべてを通過する必要があります。
- 予算と上限 — 取引ごと、日ごと、エージェント単位の制限。
- サービスカテゴリ — 購入のカテゴリが、プリンシパルの許可したカテゴリのいずれかである必要があります。
- 取引相手 — タスクに
allowed_counterpartiesが指定されている場合、それ以外の相手への決済は拒否されます。支払先の差し替えを検出するのはこのチェックだけです。この攻撃ではタスクの文面とカテゴリは同一です。 - タスクと購入内容の一致 — 単に単語が 1 つか 2 つ共通しているだけではなく、購入内容が「何を買うのか」をタスクで説明できる必要があります。
すべての判定は、ハッシュチェーン形式の監査ログに追記されます。各エントリには直前のエントリのハッシュが含まれるため、記録は改ざんを検知でき、再起動や再デプロイをまたいで連続性が保たれます。
決済
x402 を通じて、USDC で呼び出しごとに料金が発生します。エンドポイントは 402 チャレンジで条件を提示し、購入者は提示されたネットワークのうち都合のよいものを選んで支払います。Safe4 はウォレットのキーを保管せず、購入者の資金も預かりません。
リンク
- API ドキュメント — https://api.safe4.ai/docs
- OpenAPI スキーマ — https://api.safe4.ai/openapi.json
- x402 ディスカバリー — https://api.safe4.ai/.well-known/x402
- サイト — https://safe4.ai
セキュリティ
報告方法については、SECURITY.md をご覧ください。エクスプロイトの詳細を含む公開 issue は作成しないでください。
ライセンス
このリポジトリのマニフェストとクライアントのサンプルは、MIT ライセンスです。これらが説明するホステッドサービスは、別の商用製品です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。