🍣

StripeとMCP(Model Context Protocol)を使って、顧客サポートやマーケ活動・経理作業を効率化してみよう

2025/04/15に公開

Model Context Protocol(MCP)は、AIモデルが外部ツールやAPIと対話するためのプロトコルとして注目を集めています。StripeがこのMCPを実装したことで、自然言語を使った決済システムの操作が可能になり、顧客サポートやマーケティング企画・経営分析などの部門が、Stripe上にあるデータの取得や分析、操作をより簡単に行えるようになりました。

本記事では、Stripeが提供するMCPを使った業務フローの例を解説します。今担当している業務の中で使えるものがないかや、「こういう使い方もできそうではないか?」とアイディアを深める参考にお使いください。

Stripeが提供するMCPサーバーについて

Stripeは、自社のAPI機能をAIモデルから利用できるようにするためのMCPサーバーを「agent-toolkit」の一部として提供しています。

https://github.com/stripe/agent-toolkit/tree/main/modelcontextprotocol

2025年4月時点では、以下のようなリソースにアクセスできます。

  • customers: 顧客情報の作成・参照・更新・削除
  • paymentLinks: 支払いリンクの生成・管理
  • invoices: 請求書の発行・送信・管理
  • subscriptions: サブスクリプションの作成・更新・キャンセル
  • products & prices: 商品とその価格の管理
  • paymentIntents: 決済プロセスの管理
  • balance: Stripe上の残高データ

Stripe MCP サーバーのセットアップと基本的な使い方

このMCPツールを直接使う場合は、npxコマンドで実行します。Stripeの制限付きAPIキーまたはシークレットキーが必要ですので、事前に用意しましょう。

# Stripe MCP サーバーをnpxで直接起動する方法
npx -y @stripe/mcp --tools=all --api-key=YOUR_STRIPE_SECRET_KEY

または、特定のツールだけを有効にすることも可能です:

npx -y @stripe/mcp --tools=customers.create,customers.read,paymentLinks.create --api-key=YOUR_STRIPE_SECRET_KEY

MCP Inspectorを使用してサーバーをテストすることもできます:

# MCP Inspectorでサーバーをテストする
npx @modelcontextprotocol/inspector npx -y @stripe/mcp --tools=all --api-key=YOUR_STRIPE_SECRET_KEY

これにより、ブラウザベースのインターフェースが起動し、リアルタイムでAPI呼び出しの詳細を確認・テストできます。

MCPクライアントの設定(Claude Desktop)

Stripe MCPを開発以外のメンバーが活用できる場所の1つが、Claude Desktopです。Claudeのデスクトップアプリですが、MCPを利用した外部サービス連携なども簡単に行うことができます。

https://claude.ai/download

  1. Claude Desktopがインストールされていることを確認します。
  2. ~/Library/Application Support/Claude/claude_desktop_config.json(macOSの場合)を作成または編集します:
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=customers.read,products.read,prices.read,subscriptions.read",
        "--api-key=rk_test_xxxx"
      ]
    }
  }
}

これで、Claude Desktopを起動すると、自動的にStripe MCPサーバーが起動され、Claudeがツールとして利用できるようになります。

実践的なユースケース:コードを書かずにStripeを操作する

MCPの最も強力な特徴の一つは、開発者だけでなく、技術的なバックグラウンドを持たないユーザーでも自然言語でAPIを操作できることです。特にClaude Desktopなどのクライアントを使用する場合、コードを全く書かずにStripe機能にアクセスできます。

1. カスタマーサポート担当者のワークフロー

カスタマーサポート担当者は、Claude DesktopとStripe MCPサーバーを使って、顧客情報の確認や簡単な操作を自然言語で行うことができます:

「メールアドレスがjohn@example.comの顧客情報を探して表示してください」のように質問することで、Stripe上にある顧客データを取得できます。

また、続けて「この顧客のサブスクリプションを教えて」と質問すると、契約中のサブスクリプションがあるかどうかもレポートしてくれます。

この他にも、「支払いが完了していない請求書のリストアップ」についても、MCP経由で簡単に行えます。

SlackやBacklog MCPと連携させた社内通知や、メール送信系のMCPと組み合わせたリマインドメール送信などのワークフローを設計することで、請求管理業務などもより効率化することが期待できます。

必要な権限

このワークフローでは、サブスクリプションや請求書・顧客データの読み取り権限を付与しましょう。

  • subscriptions.read
  • invoices.read
  • customers.read

分析内容によっては、商品や料金データの読み取り権限(products.readprices.read)も付与する必要があります。

MCP設定の例

{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=subscriptions.read,customers.read,invoices.read",
        "--api-key=rk_test_xxxx"
      ]
    }
  }
}

2. マーケティング担当者による支払いリンク作成

マーケティング担当者が新製品の支払いリンクを素早く作成する例についても考えてみましょう。たとえば次のプロンプトをClaudeに渡してみましょう。

「新しいマーケティングキャンペーン用に、「夏季特別セミナー」という名前で98,000円の支払いリンクを作成してください。」

このプロセスでは、Claudeが自然言語の指示を解釈し、適切なStripe APIコール(products.createprices.createpaymentLinks.createなど)に変換して実行しています。

必要な権限

このワークフローでは、Payment Linksを作成するために必要な書き込み権限を付与する必要があります。

  • prices.create
  • products.create
  • paymentLinks.create

MCP設定の例

{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=products.read,prices.read,paymentLinks.create",
        "--api-key=rk_test_xxxx"
      ]
    }
  }
}

3. 経理担当者による売上データの分析

経理担当者などが、売上データを分析する際にもこのMCPが利用できます。たとえば次のようにClaudeへ指示してみましょう。

「先月(2024年3月)のStripeでの売上データを製品カテゴリ別に集計し、前月と比較してください」

決済データを元に分析結果を書いてくれます。また、分析ツールの利用を促すことで、ビジュアライズなども可能ですので、こちらもお試しください。

必要な権限

この用途では、決済データに関するリソースを読み取る権限を付与しましょう。

  • paymentIntents.read
  • balance.read

MCP設定の例

{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=paymentIntents.read,balance.read",
        "--api-key=rk_test_xxxx"
      ]
    }
  }
}

AIによる意図しないデータ変更を防止するために

なるべく--tools=allは利用しない

Stripe MCPを試す際は、権限設定作業を省略するために--tools=allを設定しがちです。しかし本番環境でこの設定を利用すると、AIが意図しない操作を行うリスクを抱えることになります。テスト環境で価格に関する調査をしていた時に、ハルシネーションの発生を指摘するとStripe側のデータを変更しようとしたことがありました。テスト環境であったことや、terraformで料金データを管理していたこともあったため問題はありませんでしたが、これが本番環境で発生した時のことを考えるとなかなかゾッとします。

不必要な操作をさせないためにも、必要最低限の権限だけをツールとして提供するようにしましょう。

APIキーの権限を絞る

もう1つのガードレールとして、APIキーの権限を絞りましょう。Stripeには権限を絞った制限付きAPIキーを作ることができます。

https://docs.stripe.com/keys#create-restricted-api-secret-key

APIキーレベルで触れるリソースを制限することで、ユーザーがMCPの設定を間違えた場合にも、意図しないリソースの操作を防止できます。

MCPの設定はユーザーごとに行うため、管理側で完全な制御を目指すことは困難です。しかしStripeに接続するためのAPIキーを発行するフローやAPIキーの権限を管理することは可能です。

制限付きAPIキーを活用して、安全かつ便利なStripeライフを楽しみましょう!


追加リソース:

デジタルキューブ

Discussion