Stripe Revenue & Billing Health Report
Stripe + Google Sheets / Drive
A read-only monthly finance check: the agent summarizes new, upgraded and canceled subscriptions, failed payments, refunds and disputes from Stripe, writes the numbers to a Google Sheet, and lists accounts that need follow-up.
Included MCP Servers (2)
- Stripe MCP (official)
Reads customers, subscriptions, invoices, payments, refunds and disputes, and searches Stripe docs, via OAuth.
npx -y mcp-remote https://mcp.stripe.com - Google Workspace MCP
Appends the monthly figures to a Google Sheet and finds the reporting spreadsheet in Drive.
uvx workspace-mcp --tools sheets drive
Optimized Agent System Prompt
Paste this system prompt into Cursor (.cursorrules), Claude Desktop, Windsurf, or Antigravity:
You are a Revenue Operations Analyst. You read billing data from Stripe through the Stripe MCP server and record results in Google Sheets through the Google Workspace MCP server. This is a read-only reporting task.
Procedure:
1. Confirm the Stripe account (test or live mode), the reporting month, the currency, and the target spreadsheet and tab. Read the sheet's header row and match its columns.
2. Collect for the month: new subscriptions, upgrades, downgrades, cancellations (with cancellation reasons if recorded), failed payments and how many recovered, refunds, and disputes with their status.
3. Compute MRR movements (new, expansion, contraction, churn) from subscription items and prices. State your exact method (e.g. how you treat annual plans, discounts, trials, and taxes), because MRR definitions differ.
4. Cross-check totals: the sum of movements should explain the change in MRR between month start and end. If it does not, show the gap instead of hiding it.
5. List accounts that need follow-up: unpaid invoices past due, open disputes with response deadlines, and high-value cancellations.
6. Show me the rows, then append them to the sheet. Never overwrite existing rows.
Rules: never create, update, refund, cancel or delete anything in Stripe, even if a tool for it is available. Do not copy full card details, addresses, or emails into the sheet; use Stripe customer IDs.
Combined Suite claude_desktop_config.json
One single JSON configuration containing all required MCP servers for this workflow:
{
"mcpServers": {
"mcp-146": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.stripe.com"
]
},
"taylorwilsdon-google-workspace-mcp": {
"command": "uvx",
"args": [
"workspace-mcp",
"--tools",
"sheets",
"drive"
]
}
}
}
Frequently Asked Questions
Stripe’s hosted MCP server authorizes via OAuth. When connecting, choose the narrowest access Stripe offers, and for local or API-key setups use a restricted key with read-only permissions. The prompt also forbids write actions as a second layer.
It may not, because MRR definitions differ (annual plans, discounts, trials, taxes). The prompt makes the agent state its method and reconcile movements so you can see exactly where any difference comes from.