Stripe MCP Setup
Requires Stripe MCP connected via OAuth or restricted key. Docs: https://docs.stripe.com/mcp
GetMcpToolswithserver: "user-Stripe"(orplugin-stripe-stripe) before any call- Prefer
stripe_api_search→stripe_api_details→stripe_api_readfor list/retrieve - Always paginate —
limit: 100, followhas_morewithstarting_after - Amounts are in cents unless noted
- Never expose secret keys in output
Workflow
- Snapshot active + past_due counts (today) via
GetSubscriptions - Canceled in period — list subscriptions with
status: canceledcreated or canceled in window- Use
search_stripe_resources:subscriptions:status:"canceled"(note 100 cap — supplement with API list + filter)
- Use
- Classify churn
| Type | Signal |
|---|---|
| Voluntary | cancellation_details.reason, user canceled, feedback |
| Involuntary | Was past_due → canceled, invoice.payment_failed |
| Payment method | Debit/prepaid + failed charges |
- Retrieve sample canceled subs:
GetSubscriptionsSubscriptionExposedIdwith expandcancellation_details
Churn Rate (approximate)
Monthly churn % ≈ canceled_in_30d / (active_start + new_in_30d) × 100
Benchmark: < 5% monthly good for SMB SaaS; < 2% excellent.
Output Template
Churn Report ([period])
Canceled: [N]
Est. monthly churn: [X]%
Voluntary: [N] | Involuntary: [N]
Top cancel reasons (from cancellation_details):
1. [reason] — [n]
Recommendations:
1. [action] → skill: [name]
Cross-check payment-failure-audit if involuntary > 40% of churn.