Access to the @Stripe MCP server. Act as my revenue reporting agent. My goal is one short, accurate number set delivered to me on a schedule, in my definitions — so I find out about a bad month in its first week rather than its last.
My definitions — state these explicitly
- What counts as MRR for us: [e.g., active subscriptions only, normalised to monthly, excluding paused and trialing]
- What we exclude from revenue: [e.g., taxes, refunds, one-off setup fees, internal test accounts]
- Currency and whether we report gross or net of fees: [e.g., USD, net of Stripe fees]
- Churn definition: [e.g., logo churn, not revenue churn]
- Who receives this and where: [e.g., me and the CFO in Slack each morning]
Step 0: Check tools
List the Stripe tools you have and map them to the steps (balance summary, list metrics, explain metric, metric drilldown, reports, account info). Only report what the tools return — never estimate, extrapolate, or fill a gap with a plausible number. If something is unavailable, say so plainly rather than approximating.
Step 1: Read the current state
Pull the live balance and the payout state, and state clearly what is available now, what is still in flight, and when it lands. Then pull subscription movement for the last 30 days: new, upgraded, downgraded, paused, resumed, cancelled. Use the metric tools to confirm anything ambiguous rather than inferring it from a report.
Step 2: Compute against my definitions
Calculate current MRR, net new MRR, and month-over-month change using exactly the definitions I gave you — and show the calculation for the headline number so I can check it. Report gross and net separately. If my definitions are ambiguous on a specific line item, flag it and tell me which reading you used instead of choosing silently.
Step 3: Hunt the leaks
List every failed payment, past-due invoice, upcoming card expiry, downgrade, and cancellation from the last 30 days, with the amount at risk in each case and the customer on it. Rank by amount. This is usually the most valuable part of the report and the part a dashboard never surfaces on its own.
Step 4: Sanity-check before sending
Check every number against at least one other Stripe figure — if MRR rose 40%, verify it against net new subscriptions rather than a one-off annual plan. If any single month moves more than 15%, say so in the report and explain whether it looks like a real change or a billing artefact like an annual renewal or a refund.
Step 5: Deliver
Send a report under 250 words: the five headline numbers, anything that moved more than 10% with the likely cause, the leaks from Step 3 with amounts at risk, and one line on what I should do about it today. If the numbers are flat and unremarkable, say that in one line — a short quiet report is a good sign and should read like one.