10月21日、Stripeが「Your AI agent can move money in Stripe」と題した記事を公開した。この記事では、StripeのMCPサーバーを通じてAIエージェントが送金を含む金融操作を実行できる仕組みと、そのための承認・制御フローについて詳しく紹介されている。
AIエージェントが「金を動かす」時代に入った。StripeのMCPサーバーを介して、AIエージェントがチェックアウトページの構築、財務レポートの生成、返金・価格調整の自動化に加え、Stripe Treasuryを使った実際の送金まで実行できるようになった。
ここで使われるModel Context Protocol(MCP)は、Anthropicが2024年に公開したオープン規格で、AIエージェントが外部ツールやAPIと標準化された方法でやり取りするためのプロトコルだ。StripeはこのMCPを実装したサーバーを提供することで、エージェントがStripeの各種機能を呼び出せるようにしている。
問題は「どこまで自律させるか」だ。エージェントが数百ドルの返金や送金をミスなく自動実行できるか、人間はどう制御するか——この記事はその設計を具体的に示している。
エージェントをStripeに接続する2つの方法
方法1:OAuthで「あなたの代理」として動かす
最もシンプルな出発点は、StripeのMCPをクライアントに追加してOAuth認証でアクセスを許可するやり方だ。アカウントやサンドボックスを選択し、リソースへの読み取り/書き込みアクセスを細かく設定できる。
この方式では、ライブモードで返金や送金を実行する際にStripeが人間の確認を要求する。エージェントが操作を試みると一旦止まり、ユーザーが確認した後に「やり直して」と伝えることで処理が完了する。クライアント側でツール呼び出しの許可確認を無効にしていても、この確認ステップはStripe側で強制される。

方法2:エージェント専用のAPIキーで「独立した主体」として動かす
OAuthはログインセッションに紐づくため、ヘッドレスで動くエージェント——例えばカスタマーサポートキューを監視して返金対応を自動化するボット——には使えない。確認のたびに特定の人間にルーティングされてしまうからだ。
こうしたケースでは、エージェントタグ付きAPIキーを作成する。Dashboardの「Giving an AI agent access to operate your account」オプションから作成でき、通常のAPIキーと同様にパーミッション設定・ローテーション・有効期限を管理できる。ただし通常のAPIキーと異なるのは、後述するApproval rules(承認ルール)の対象になる点だ。

最も重要な設計:Approval rules
エージェントを独立した主体として動かす場合、制御の核心はApprovals機能にある。これは「条件に応じて承認を要求するルール」を定義する仕組みで、たとえば以下のように設定できる。
- 50ドル未満の返金:自動実行
- 500ドル超の返金:サポートチームの誰かが承認する必要あり
- 自己承認は不可:人間でもエージェントでも、自分のリクエストを自分で承認できない
設定は数分で完了する:
- Settings > Approvals > Create rule を開く
- トリガーアクション(例:返金の作成)を選択
- 条件(例:金額が500ドル超)を設定
- (任意)アクター条件をエージェントタグ付きAPIキーに絞る
- レビュアーを指定(例:サポートスペシャリストロールのユーザー)
- 「Require approval」を選択して有効化

承認ルールに引っかかると、APIは処理を完了せずapproval_requiredエラーを返す。同時にStripeが自動で承認リクエストを送信する。エージェントはこの際に理由を付与できる。
curl -X POST https://api.stripe.com/v2/core/approval_requests/apreq_123/update \
-H "Authorization: Bearer sk_live_..." \
--json '{"reason": "Refund requested via support ticket #4821"}'
指定レビュアーはDashboardでリクエストの詳細(エージェントが書いた理由文も含む)を確認して承認または却下する。承認されればStripeが自動的に処理を実行。未承認のまま14日が経過するとリクエストは自動で失効する。
なお、エージェントタグ付きAPIキーを作成した時点で、返金・送金・外部振替をカバーするデフォルトのルールが自動適用される。ゼロから設計しなくてもベースラインの管理は担保される設計だ。
Webhookでエージェントに結果を通知する
エージェントはWebhookで承認の結果を受け取れる。サポートされているイベントは以下の通りだ。
v2.core.approval_request.created
v2.core.approval_request.approved
v2.core.approval_request.canceled
v2.core.approval_request.rejected
v2.core.approval_request.expired
v2.core.approval_request.succeeded
v2.core.approval_request.failed
承認・却下・失敗いずれのケースも明示的にイベントが発行されるため、エージェント側でループを閉じた設計が可能だ。
まとめ:2段階の制御をどう使い分けるか
Stripeは制御の仕組みを2層に分けている。
- 人間確認(OAuth方式):接続した瞬間から自動で有効。追加設定不要。
- 承認ルール(エージェントキー方式):エージェントがインフラとして本番稼働する段階で設計する。
元記事では、多くのチームは最初に前者から始め、自動化が実験フェーズを超えてインフラになった段階で後者を重ねると説明されている。
詳細はYour AI agent can move money in Stripeを参照していただきたい。




