payment-guard-mcp について
payment-guard-mcp は、送金を扱うエージェント向けの MCP サーバーです。支払い前に EVM アドレス、ENS 名、決済 URL、トークンコントラクトを判定し、チェック範囲も示します。
主な機能
- 01制裁・詐欺リストによる EVM アドレス確認
- 02決済 URL とリダイレクト先の検査
- 03ENS 名の解決とスクリーニング
- 04トークンのハニーポット・税率リスク確認
- 05対象範囲を添えた判定の返却
活用シーン
- 01エージェントの送金前に受取先を確認
- 02x402 または加盟店 URL の支払い前確認
- 03トークン購入・承認前のコントラクト確認
MCP 対応
MCP クライアントに、アドレス、決済 URL、ENS、制裁リスト、トークンの各チェックツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| chain | enum | いいえ | EVM チェーン(デフォルトは eth)。eth | base | polygon | arbitrum | optimism |
| address | string | はい | EVM アドレス(0x + 40 桁の 16 進数)または ENS 名(例:name.eth)。 |
詳細
payment-guard-mcp
エージェントが送金する直前に、送金先を確認する MCP サーバーです。暗号資産アドレス、ENS 名、または決済 URL を渡すと、判定結果を返します。決定論的に動作し、LLM は使用せず、無料です。
エージェントは、暗号資産の決済経路、x402 エンドポイント、決済リンクを通じて、自ら実際のお金を動かし始めています。よくある問題は、制裁対象のアドレスや詐欺アドレスに誤って送金してしまうことです。通常、送金は取り消せません。まず実行するチェックが screen_address です。
インストール
{ "mcpServers": { "payment-guard": { "command": "npx", "args": ["-y", "payment-guard-mcp"] } } }
ツール
screen_address:メインのガード機能です。EVM アドレスまたは ENS 名を受け取り、OFAC 制裁リスト、詐欺・不正行為のブロックリスト、オンチェーンのシグナル(新規作成された未使用のアドレス、コントラクト)をチェックします。safe、caution、block のいずれかを返します。screen_payment:x402 または加盟店の決済 URL を検査し、Punycode のホスト、登録可能ドメイン外にある既知ブランド名、短縮 URL、不正利用されやすい TLD、新規登録ドメイン、リダイレクト後の最終 URL を確認します。check_sanctioned:アドレスまたは ENS 名を対象に、OFAC のみをすばやくチェックします。resolve_name:ENS 名をアドレスに解決し、そのアドレスをスクリーニングします。解決できない名前も検出します。なりすましの類似名は検出しません。screen_token:トークンを購入、スワップ、または承認する前に、ハニーポットの挙動(購入できても売却できない)、極端に高い売却税、ブロックリストへの該当がないか、コントラクトをチェックします。
オンチェーンチェックは Ethereum、Base、Polygon、Arbitrum、Optimism で実行されます。データは OFAC SDN リスト、コミュニティの詐欺リスト(ethereum-lists、ScamSniffer)、公開 RPC ノード、ENS から取得します。
ENS の対象範囲:名前を namehash に変換し、メインネットの ENS レジストリで resolver(node) を呼び出した後、addr(bytes32) を直接呼び出します。返されたアドレスを制裁リストと詐欺リストに照らしてスクリーニングします。紛らわしい文字のチェックや ENSIP-15 による正規化は行わないため、類似名や同形異字の名前は検出されません。ENSIP-10 のワイルドカード解決と CCIP-Read に対応していないため、Basenames、.cb.id、ガス代不要のサブネームなどのオフチェーン名や L2 の名前は、ウォレットで解決できる場合でも、ここでは未解決として報告されます。
ハニーポットの対象範囲:購入と売却のシミュレーションには api.honeypot.is を使用し、Ethereum と Base のみを対象とします。Polygon、Arbitrum、Optimism では 400 Invalid chain が返されるため、ハニーポットと税のフィールドは設定されません。レスポンスには対応チェーンが示されます。シミュレーションを実行していない場合、判定が safe になることはなく、caution になります。詐欺ブロックリストに該当した場合は block になります。
URL の対象範囲:類似名のルールでは、14 個のブランド名を部分文字列として照合し、そのブランド名が登録可能ドメインでない場合にフラグを立てます。paypal.com.secure-pay.xyz は検出されますが、編集距離や同形異字の対応表はないため、paypa1.com は検出されません。比較対象はリダイレクト後の最終 URL のみで、各リダイレクト先は個別に確認しません。
制裁チェックの対象範囲を明記すると、OFAC はチェーン別ではなく通貨別に制裁対象アドレスを公開しています。そのため、EVM 形式のすべてのリスト(ETH、ARB、BSC、ETC、USDC、USDT)を統合してチェックし、その結果をあらゆる EVM チェーンに適用します。Bitcoin、Tron、Solana、Monero など、EVM 以外の制裁対象アドレスはチェックされません。EVM アドレスのみ受け付けるためです。すべてのレスポンスに、この内容を示す対象範囲オブジェクトが含まれます。リストを読み込めない場合、結果は clear ではなく、unknown になります。
ルールの更新
このサーバーは1日に1回ほど、ルールフィードに新しいルールセットがあるか問い合わせ、あれば適用します。リクエストには2つの情報が含まれます。問い合わせ元のサーフェス(ここでは facade)と、すでにインストールされているルールのバージョンです。マシン ID、ユーザー ID、ファイル名、スキャンした内容などは送信されません。
バンドルは Ed25519 で署名され、このパッケージにコンパイルされた公開鍵を使って検証されるため、どのミラーから配信されても問題ありません。署名、スキーマ、または ReDoS チェックに失敗したバンドルは破棄され、既存のルールがそのまま維持されます。--offline を指定するか、AGENT_GUARDS_NO_FEED=1 または ~/.agent-guards/config.json 内の {"feed": false} を設定すると、更新は無効になります。バンドルの形式と、独自に検証する方法については、こちらをご覧ください:https://github.com/mlawsonking/MCP/blob/main/rules/README.md
https://payment-guard.vercel.app を呼び出します(上書きするには PAYMENT_GUARD_API を設定してください)。このリポジトリにある6つのエージェントガードの1つです。MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。