Cline ( Roo Code ) MCPでStripeのデータを操作する
StripeのMCPを使って、料金プランを返すAPIの実装を行う方法を紹介。MCPでStripeのデータを取得し、lookup_keysを使ってプランを絞り込む実装を行います。MCPの活用で開発フローの自動化や半自動化が期待できます。
目次
前回の記事では、StripeのMCPを利用した決済処理の実装方法を紹介しました。Stripe MCPでは、これ以外にもStripe APIを操作する機能も提供されています。今回はコード生成以外のユースケースで、Stripe MCPを活用する方法を紹介します。
今回作るもの: 料金プランを返すAPIに利用するデータを、Stripeから取得する
複数のプランや契約期間を提供する場合、対応するプランのリストを取得するAPIや関数が必要です。もっともシンプルな実装方法はStripeのPrices APIで全ての料金を返すことですが、これをすると個別契約やオプションプランまでもが一覧に出てきてしまいます。そのためStripeではlookup_keys
という検索キーを利用してデータ取得を行うことが一般的です。以下の例では定数としてキーの値を持たせた状態で、APIへの実装を行なっています。

このような実装を行う場合、これまでは対応する lookup_key
の値をStripeダッシュボードからコピーアンドペーストでアプリケーションコードへ移す必要がありました。しかしMCPを使うことで、このデータ取り込みやデータ作成などもAIエージェントに任せることができます。
ということで、早速MCPを使って試してみましょう。なお、Roo CodeやClinetでのMCP登録方法については、以前の記事をご覧ください。
MCPでStripeのデータを操作する
エージェントに指示を出しましょう。MCPを使いたい場合、体感としては、なるべく利用したいMCPの名前を明示的に指示する方が安定して動作する様子です。
Stripe MCPを使って、月額1000円のスタータープランという商品を追加して。
新しいサービスのプランを追加する指示を出してみました。さっそくエージェントがMCPを使って商品や料金リソースを作り始めます。

作成されたデータをStripeダッシュボードで確認してみましょう。確かに商品と料金は作成されていましたが、よく見るとサブスクリプションではなく買い切りの料金になっています。Stripe MCPとMCPが内部で利用しているツールがまだまだ開発プレビュー版なので、この辺りは今後の精度向上に期待ですね。

今回は商品情報作成だけMCPで行い、料金はダッシュボードで手作業にて追加することにしました。
Stripe上にあるデータを実装に落とし込んでみる
料金の登録を済ませた後は、いよいよ料金データAPIの実装を始めましょう。料金データを取得した上で、lookup_keysを使う形のAPIを作るようにエージェントへ指示します。
料金プランを取得するGET APIを作りたい。Stripe MCPを使って、Stripeアカウントに登録された料金データを全て取得してください。
その後、test / liveの切り替えを簡単にするため、lookup_keysを使って全てのプランを返すGETのAPIを実装しましょう。
エージェントがMCPを使って、商品・料金データの取得を開始しました。

商品から追加した料金データも取得できているのが経過を見ていると伺えます。

最終的に生成されたコードの一部がこちらです。よくみるとStripe上にあるデータを使っていない実装になっています。この辺りはモデルが知っている実装方法に引っ張られているのかもしれませんし、プロンプトの問題なのかもしれません。

ということで修正依頼を出しましょう。すでにデータの取得自体は終わっているためか、lookup_keys
の情報はすぐに出てきました。

その後の実装をみると、こちらもきっちりlookup_keys
を使った処理になっています。これならばSandbox / 本番環境どちらでも同じコードで動きますし、大口契約などの料金表に出したくないデータを除外することができます。

Stripe MCPに感じた未来の開発体験
今回の例以外にも、Stripe MCPがあることで今・将来さまざまな開発フローが自動化・半自動化されていきます。
例えばStripeが提供するTest Clock APIをMCPが使えるようになれば、サブスクリプションを契約期間途中で解約やプラン変更した場合の日割り料金シミュレーションや未払い時のフローなどのシミュレーションもエージェントに任せることができます。他にもWebhook APIが使えるようになれば、Stripe Webhookで利用する署名シークレットの発行と環境変数やシークレットストアへの反映などもエージェントがやってくれそうです。
他にも事業サイドでは、システム障害やバグが発生した際の影響範囲調査について、Stripe側の顧客データチェックなどはAIがやってくれるようになるかもしれません。
このようにMCPやエージェントを作るためのSDKがあるサービスを利用することで、今そこにある開発者体験以外の可能性についても考えることができます。
ぜひ皆さんも、Stripe MCPを動かしてみて、他のツールとのコラボレーションなどを検討してみてください。