/ ディレクトリ / プレイグラウンド / Stripe
● 公式 stripe 🔑 自分のキーが必要

Stripe

作者 stripe · stripe/agent-toolkit

公式 Stripe MCP — 顧客、料金、サブスクリプション、返金をクエリします。 チャットからテスト用の請求書と支払いリンクを作成します。

Stripe の公式 MCP、エージェント ツールキットの一部。 Stripe API をラップします: 顧客、製品、価格、請求書、サブスクリプション、支払いリンク、払い戻し、残高、検索。 テストモードでは安全です。 ライブ モードでは、すべての書き込みは実際のお金になります。ゲートは慎重に行ってください。

なぜ使うのか

主な機能

ライブデモ

実際の動作

stripe.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "stripe",
      "command": "npx",
      "args": [
        "-y",
        "@stripe/mcp",
        "--tools=all"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "stripe": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@stripe/mcp",
          "--tools=all"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add stripe -- npx -y @stripe/mcp --tools=all

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Stripe

顧客の請求が失敗する理由を調査する

👤 第一線で活躍するサポートエンジニアと創設者 ⏱ ~10 min beginner

使うタイミング: お客様は「カードが 3 回拒否されました」と言います。 Stripe 側で実際に何が起こったのかを見たいと考えています。

前提条件
  • 料金/顧客の読み取りを伴うストライプ制限付き API キー — ダッシュボード.ストライプ.com/apikeys → 制限付きキー → 顧客、請求、支払い意図の読み取りを許可
フロー
  1. 顧客を見つける
    電子メール「[email protected]」で Stripe 顧客を見つけます。 デフォルトの支払い方法と合計支出額を表示します。✓ コピーしました
    → 支払い方法の詳細を含む顧客記録
  2. 最近失敗した請求を取得する
    過去 30 日間のこの顧客のステータス != 'succeeded' の請求をリストします。 それぞれについて、失敗コードとメッセージを表示します。✓ コピーしました
    card_declined/expired_cardなどを含む失敗リスト。 コード
  3. 行動を説明し、推奨する
    実際の問題は何ですか? 顧客に伝える内容を推奨します (例: 「カードの有効期限が切れています - 更新してください」、または「不正行為のブロック - 別のカードをお試しください」)。✓ コピーしました
    → お客様目線での分かりやすい説明

結果: 「後でもう一度試してください」ではなく、実際の原因でサポート チケットを解決しました。

注意点
  • 請求のみを見る - 請求に至らなかった支払い意図を見逃します — ステータスが「requires_payment_method」または「キャンセル」の支払いインテントも確認してください
  • お客様は「拒否」と言ったが、それは 3DS の放棄だった — ユーザーが閉じた 3DS チャレンジは「requires_action」として表示され、期限切れになります。 タイムラインをチェックする

取引のテスト請求書と支払いリンクを作成する

👤 カスタム取引を成立させる営業担当者と運用担当者 ⏱ ~5 min beginner

使うタイミング: 顧客と 1 回限りのカスタム価格に同意し、請求書または支払いリンクをすぐに必要としています。

前提条件
  • TESTモードキー(sk_test_...) — 常にテストモードで開始してください。 フローが検証された後にのみライブキーに切り替えてください。
フロー
  1. 顧客を検索または作成する
    電子メール「[email protected]」で Stripe 顧客を検索します。 存在しない場合は、「BigCo Inc」という名前で作成します。✓ コピーしました
    → 返された顧客ID
  2. 一回限りの価格 + 請求書アイテムを作成する
    1 回限りの請求書アイテムを作成します: $4,500、説明「第 2 四半期オンボーディング サービス」。 その顧客に添付します。 次に、請求書を作成して完成させます。✓ コピーしました
    → hosts_invoice_url を含む請求書
  3. 成果物の確認
    ホストされた請求書の URL と作成された内容の概要を教えてください。 電子メールで送信しないでください。手動で転送します。✓ コピーしました
    → URL + 概要; 驚くようなメールは送信されませんでした

結果: 90 秒以内に請求書を顧客に送信できます。

注意点
  • チャットからの顧客への自動メール送信は強力な手段ですauto_advance: false を使用し、確認するまで send_invoice をスキップしてください。 MCP は、明示的な確認なしに本番環境の顧客に電子メールを送信すべきではありません
  • テストモードとライブモードの混同は「テスト」にリアルマネーが流れることを意味する — 変更の前に、必ず API キーのプレフィックス (sk_test_sk_live_) を検査してください。 MCP にエコーバックしてもらいます
組み合わせ: supabase

現在の MRR と Stripe サブスクリプションからのチャーンを計算します

👤 財務業務を行う創業者 ⏱ ~15 min intermediate

使うタイミング: 月次レビュー。 MRR/チャーンをソースから直接読み取って素早く確認したい場合。

フロー
  1. アクティブなサブスクリプションをプルする
    すべてのアクティブな Stripe サブスクリプションをリストします (status='active' または 'trialing')。 価格 ID ごとにグループ化し、MRR 相当額を合計します。✓ コピーしました
    → 価格ごとの合計 + 総計
  2. プルは今月キャンセルされました
    過去 30 日間にキャンセルされたサブスクリプションをリストします。 それぞれについて、開始日、貢献した MRR、および顧客を表示します。✓ コピーしました
    → 収益に影響を与えるチャーンリスト
  3. 純新規 MRR を計算する
    純新規 MRR = 今月の新規 - 今月の解約。 計算して 3 行の要約を書きます。✓ コピーしました
    → 計算の内訳を含む単一の数値

結果: 月次レビューに貼り付けることができる正確な MRR スナップショット。

注意点
  • 年間計画には月次の正規化が必要です — MRR を合計する場合は、年間価格を 12 で割ります。 MCP はあなたのためにこれを行うわけではありません
  • 割引とクレジットの総額と純額の偏り — MRR 規則 (割引総額と割引後) を決定し、一貫して適用します。
組み合わせ: filesystem

適切なガードレールを使用して返金を処理する

👤 返金権限を備えたサポートリード ⏱ ~5 min beginner

使うタイミング: 顧客が返金を要求した場合。 料金を確認し、問題なく処理したいと考えています。

前提条件
  • 返金付きの API キー:書き込み — 制限付きキー、最小限のスコープのみを付与
フロー
  1. 料金を見つけて検証する
    Stripe 料金 ch_xxx を見つけます。 金額、顧客、ステータス、およびすでに返金されたかどうか (一部または全額) を表示します。✓ コピーしました
    → 請求内容と返金履歴
  2. 払い戻しをプレビューする
    200ドルのうち50ドルを返金したい(一部)。 払い戻しの電話がどのようなものかを見せてください。 まだ実行しないでください。✓ コピーしました
    → API呼び出しのドライランプレビュー
  3. 確認後に実行
    一部返金手続きを進めてください。 返金 ID と更新された請求状態を返します。✓ コピーしました
    → 払い戻しが作成され、料金は一部​​返金済みとマークされています

結果: 監査証跡を使用して返金が適切に処理されました。

注意点
  • 元の料金を超える払い戻しが混乱を招き失敗する — リクエストする前に、必ず返金可能な残高を確認してください。 MCP が制限をエコーする
  • 返金によりアプリへの Webhook がトリガーされる - 内部状態が二重更新される可能性がある — Webhook ハンドラーの管理者と返金フローを調整する

四半期終了前の監査残高と最近の支払い

👤 財務、創業者 ⏱ ~10 min intermediate

使うタイミング: 四半期の終わりには、Stripe に何があり、何が銀行に入金されようとしているのかを正確に知りたいと考えています。

フロー
  1. 現在の残高の内訳を取得する
    現在の Stripe 残高を表示します: 利用可能、保留中、転送中。 通貨別に分類します。✓ コピーしました
    → 通貨ごとの残高トリプル
  2. 最近の支払いを一覧表示する
    過去 90 日間の支払いを日付、金額、ステータス、到着日とともにリストします。 日付の説明で並べ替えます。✓ コピーしました
    → 合計付きの支払いスケジュール
  3. 自分の本と調和する
    期間中の支払総額はいくらですか? 今後 7 日間に銀行に入金されると予想されるものを教えてください。✓ コピーしました
    → 集計期間合計 + 短期予測

結果: 和解の準備ができた要約。

注意点
  • 準備金と係争中の資金は「利用可能」ではありません — 残高.利用可能 + 残高.保留 = 現金合計を等価にしないでください。 保有残高を個別に確認する
組み合わせ: filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

stripe + supabase

ストライプ Webhook → Supabase Edge 機能 → ストライプ MCP クエリによるイベント処理の強化

Stripe Webhook 'invoice.payment_failed' が起動すると、Edge Function は Stripe MCP を呼び出して顧客の最近の料金を取得し、概要を Slack ops チャネルに貼り付けます。✓ コピーしました
stripe + postgres

Stripe 料金を社内注文 DB と照合する

昨日成功した Stripe 請求ごとに、「orders」テーブルで stripe_payment_intent_id によって一致する行を見つけます。 フラグが不一致です。✓ コピーしました
stripe + filesystem

財務チーム向けに Stripe データを CSV にエクスポート

Export all invoices from last quarter to /reports/invoices-Q1-2026.csv with customer email, amount, status, and date.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
list_customers / retrieve_customer / create_customer / update_customer Stripe customer params 顧客CRUD free Stripe API
list_products / create_product / update_product product params 製品カタログ運用 free
list_prices / create_price price params 価格操作 (1 回限りまたは定期的) free
list_invoices / create_invoice / finalize_invoice / pay_invoice invoice params 請求書のライフサイクル free
create_invoice_item customer, amount, currency, description 請求書草案に行を追加する free
list_payment_intents / retrieve_payment_intent PI params 支払いフローの状態を検査する free
list_charges / retrieve_charge charge params 充電検査 free
create_refund charge: str, amount?: int 全額または一部の払い戻しを実行します - ライブモードでは破壊的です free Stripe API; refund itself moves money
create_payment_link line_items, after_completion? 顧客に送信するホスト型支払い URL を生成する free
list_subscriptions / cancel_subscription / update_subscription subscription params サブスクリプションのライフサイクル free
retrieve_balance none 現在利用可能な/保留中の残高 free
list_payouts limit, created? 最近および今後の支払いを確認する free
search_* query: str (Stripe Search syntax) Search API を介したリソース間の強力なフィルタリング free

コストと制限

運用コスト

APIクォータ
Stripe API has generous rate limits (100 req/s read in live, 25 req/s in test by default)
呼び出しあたりのトークン
Stripe objects are token-heavy (rich nested data). Use expand only when needed; cap list sizes
金額
MCP free; Stripe charges per processed payment, not per API call
ヒント
In test mode, costs are zero. In live mode, the only 'cost' that matters is accidentally-issued refunds or invoices — gate writes with --tools= filtering.

セキュリティ

権限、シークレット、影響範囲

最小スコープ: restricted key with the minimum scopes per workflow (e.g. Customers:read + Charges:read for support)
認証情報の保管: API key in env var STRIPE_SECRET_KEY. Never commit. Use restricted keys, not the root secret key.
データ送信先: All calls to api.stripe.com (TLS, PCI-handled by Stripe)
絶対に付与しない: root secret key to long-running agents API key with Refunds:write or Subscriptions:write to autonomous workflows without HITL

トラブルシューティング

よくあるエラーと対処法

401 Invalid API Key

Key wrong, revoked, or test/live mismatch. Verify in dashboard. Confirm env var is exported into the MCP client process.

確認: curl https://api.stripe.com/v1/balance -u $STRIPE_SECRET_KEY:
Permission denied: this key has no access to ...

Restricted key missing the relevant scope. Edit the key in dashboard to grant the needed permission.

Refund: amount exceeds remaining refundable

Charge already partially refunded. Retrieve the charge first, check amount_refunded, refund only the remainder.

Search returns 0 results despite the object existing

Stripe Search has a propagation delay (~1 minute for newly-created objects). Use list/retrieve for very recent items.

代替案

Stripe 他との比較

代替案代わりに使う場面トレードオフ
Stripe CLI via shellYou want webhook forwarding, fixture generation, or local testing flowsNo agent ergonomics; meant for dev workflows
Direct REST API via fetch MCPYou need a feature the official MCP doesn't exposeAuth, pagination, and types are all manual; way more error-prone

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る