What you can do with Stripe

Built for

SaaS Founders, Finance Operations, RevOps, Billing Automation

Example workflows

Revenue snapshot

One-call SaaS metrics instead of paginating every subscription.

Try this

Run stripe revenue snapshot and summarize account MRR, active subscriptions, balance, and top customers.

Customer 360

Single-customer profile with recurring revenue and payment history.

Try this

Show customer 360 for my highest-MRR Stripe customer including subscriptions, lifetime spend, and recent charges.

Find a customer

Combines Stripe Search with the dashboard view for one customer.

Try this

Search Stripe customers by name or email, then open customer 360 for the best match.

Subscription health

Surfaces at-risk recurring revenue before churn shows up in MRR.

Try this

List active Stripe subscriptions and flag any past_due or unpaid accounts with their MRR contribution.

Context to know first

How is MRR calculated in the revenue snapshot?

MRR sums normalized monthly recurring amounts from subscriptions in active, trialing, past_due, or unpaid status. Annual and weekly prices are converted to a monthly equivalent from each subscription item's recurring price and quantity.

Can I use test mode and live mode?

Yes. Connect a Stripe secret key — sk_test_ for test data or sk_live_ for production. The same tools work in either mode; the key determines which account and objects you see.

What does the Stripe MCP App show?

The revenue dashboard opens when you call stripe_open_app or stripe_revenue_snapshot. Customer 360 renders in the same panel when you call stripe_customer_360. Other tools return JSON on the text channel for the agent to summarize.

AI Skill
SKILL.md

Domain knowledge for Stripe — workflow patterns, data models, and gotchas for your AI agent.

Stripe

Stripe uses Payment Intents for modern card payments (replace Charges for new integrations). Customers hold payment methods; Subscriptions link customers to recurring Prices. All IDs are strings (pi_, cus_, sub_, ch_, in_, etc.). Test mode uses sk_test_; live uses sk_live_. API is REST with form-encoded bodies; no bulk updates — one object per request.

Data Model

  • PaymentIntent (pi_) — primary modern card flow: create, confirm client- or server-side, cancel if abandoned.
  • Charge (ch_) — legacy one-time capture; prefer PaymentIntent for SCA-capable flows.
  • Customer (cus_) — payer profile that can store reusable payment methods and metadata. Search by name/email with fuzzy matching.
  • PaymentMethod (pm_) — tokenized card or bank instrument; attach to customers for repeat use.
  • Subscription (sub_) — recurring relationship anchored to a Price; cancel or meter usage as needed. Searchable by metadata.
  • Invoice (in_) — billing document. Lifecycle: draft → add items → finalize → send/pay. Auto-generated for subscriptions.
  • Product (prod_) & Price (price_) — catalog primitives; prices are immutable—issue a new price for amount changes. Products searchable by name.
  • Coupon — discount rule (amount or percent off, duration, optional product restriction). Immutable except name/metadata.
  • PromotionCode (promo_) — customer-facing code at Checkout linked to a coupon.
  • Checkout Session (cs_) — hosted payment page. One-time, subscription, or setup mode.
  • Payment Link (plink_) — reusable shareable URL for collecting payments without code.
  • Refund (re_) — full or partial reversal of captured funds.
  • Balance & Payout (po_) — treasury movement from Stripe to your bank; payouts can be cancelled only before dispatch.
  • Dispute (dp_) — card-network chargebacks with evidence deadlines.
  • Events (ev_) — ordered audit stream mirroring webhooks.
  • Webhook endpoints (we_) — HTTPS destinations Stripe POSTs events to. List endpoints to see which URL is live; fetch one endpoint for full config. Event list rows include delivery_summaries; a single-event fetch adds a richer delivery block. Per-attempt HTTP codes are Dashboard-only.

Tool patterns

  • Readstripe_get_* tools: pass the resource id to retrieve one object, or omit id to list with filters and pagination (results, has_more, next_cursor).
  • Writestripe_upsert_* for create/update where supported; otherwise explicit create tools (stripe_create_*).
  • Searchstripe_search_* for Stripe Search API (customers, subscriptions, products, invoices).

Discounts (coupons & promotion codes)

  1. Couponstripe_upsert_coupon with amount_off or percent_off, duration, optional applies_to_product_ids.
  2. Promotion codestripe_upsert_promotion_code with coupon + customer-facing code.
  3. Checkoutallow_promotion_codes=true for manual entry, or promotion_code= on stripe_create_checkout_session to pre-apply.
  4. Subscription create — pass coupon or promotion_code on stripe_upsert_subscription (create only).

Webhook delivery debugging

When billing sync lags after checkout:

  1. List webhook endpoints — confirm the live production URL (e.g. your app's webhook route) is status=enabled.
  2. List events with delivery_success=false and filter types such as checkout.session.completed and payment_intent.succeeded — find events Stripe could not deliver; read delivery_summaries on each row.
  3. Fetch the event by evt_… id — inspect delivery.pending_webhooks and delivery.delivery_status (all_delivered vs pending_or_failed).
  4. Stripe Dashboard → Webhooks → endpoint → Event deliveries for per-attempt HTTP status (not exposed via API).

Search API

Customers, invoices, subscriptions, products all support Stripe's Search API with query syntax: exact ':', fuzzy '', range '>' '<', combined with AND/OR. Example: "name'acme' AND created>1704067200".

Revenue dashboard (MCP App)

  • Open the Stripe MCP App panel before relying on dashboard widgets.
  • Account-level revenue snapshot — MRR, subscription counts, balance, and top customers in one call. Prefer this over paginating every subscription for SaaS metrics.
  • Customer 360 — single-customer profile with lifetime spend, MRR, and recent activity; renders in the same dashboard.

Gotchas

  • PaymentIntent vs Charge: Use PaymentIntent for new integrations. Charges are legacy; no 3D Secure on Charges.
  • Idempotency: Stripe uses idempotency keys for create/upsert. Pass Idempotency-Key header for safe retries.
  • Price is immutable: Cannot change amount on existing Price. Create new Price, update Subscription to new price.
  • Subscription status: active, past_due, canceled, etc. Check before assuming payment succeeded.
  • Payout timing: Balance must be positive; payouts have a delay (typically 2-7 days). Cancellation only works before the payout leaves Stripe.
  • Invoice lifecycle: Draft invoices need line items added via invoice items before finalizing. Finalized invoices cannot revert to draft.
  • Wrong buyer on a paid invoice: Reissue flow credits the original out-of-band, issues a replacement PDF with updated customer name/tax ID, and marks paid out-of-band. Alternatively, create a credit note on the paid invoice and run a manual replacement-invoice flow.
  • Customer tax IDs: When creating or updating a customer, pass tax_id_type + tax_id_value (e.g. eu_vat / PL9462712165 for Polish companies). Tax IDs appear on invoice PDF headers after the customer is updated and a new invoice is finalized.
  • Amounts in cents: All monetary amounts are in the smallest currency unit (e.g., 2000 = $20.00 USD).

Tools in this Server (65)

Stripe Attach Payment Method

Attach a payment method to a customer for future payments. After attaching, set it as the customer's default by updating the customer with default_pay...

Stripe Bulk Update Metadata

Update metadata on multiple customers at once. Search for customers by query, then apply metadata to all matches. Defaults to dry_run=true so you can ...

Stripe Cancel Payment Intent

Cancel a payment intent before it's confirmed or processed. Once canceled, it cannot be reused.

Stripe Cancel Payout

Cancel a pending payout. Can only cancel payouts that haven't been paid yet.

Stripe Cancel Subscription

Cancel a subscription immediately or at the end of the current billing period. Returns updated subscription object.

Stripe Confirm Payment Intent

Confirm a payment intent to process the payment. After confirmation, the payment is charged. The payment intent must have a payment_method attached (e...

Stripe Create Charge

Create a charge using the legacy Charges API. Prefer payment intents for new integrations.

Stripe Create Checkout Session

Create a Stripe Checkout session — a hosted payment page. Returns a URL where the customer completes payment. Use mode='payment' for one-time charges,...

Stripe Create Credit Note

Create a credit note on a finalized invoice. For a paid invoice you already collected, pass out_of_band_amount (usually the invoice total in cents) to...

Stripe Create Invoice

Create a draft invoice for a customer. The invoice starts in 'draft' status. Add line items by creating invoice items before finalizing. Then finalize...

Stripe Create Invoice Item

Add a line item to a draft invoice. Provide either amount+currency or a price ID. If no invoice ID is given, the item is added to the customer's next ...

Stripe Create Payment Link

Create a reusable payment link — a shareable URL for collecting payments. No code or website needed. Share via email, social media, or messaging. Unli...

Stripe Create Payment Method

Create a payment method (card, bank account, etc.). After creating, attach it to a customer, then optionally set it as default when updating the custo...

Stripe Create Payout

Create a payout to transfer funds to your bank account. Payouts are processed according to your payout schedule.

Stripe Create Price

Create a price for a product. The product must already exist. Prices are immutable — to change pricing, create a new price. For subscription prices, i...

Stripe Create Refund

Create a refund for a charge or payment intent. Provide either charge or payment_intent ID (not both). The charge/payment must have status 'succeeded'...

Stripe Create Usage Record

Record usage for a metered subscription item. Used to calculate billing for usage-based subscriptions.

Stripe Customer 360

Get a complete 360-degree view of a customer in one call. Returns the customer profile plus their recent charges, active subscriptions, recent invoice...

Stripe Customer Timeline

Get a chronological timeline of all activity for a customer — charges, refunds, invoices, subscription changes, and payment intents. Aggregates data f...

Stripe Delete Customer

Permanently delete a customer. CAUTION: This action cannot be undone. All subscriptions will be canceled, payment methods removed, and the customer de...

Stripe Delete Product

Delete a product. Cannot delete products with active prices or used in active subscriptions.

Stripe Detach Payment Method

Detach a payment method from its customer. The payment method itself is not deleted but can no longer be used for that customer.

Stripe Finalize Invoice

Finalize a draft invoice, changing its status to 'open'. Once finalized, the invoice is assigned a number and can be sent to the customer or paid. Thi...

Stripe Get Balance

Get current Stripe account balance including available balance, pending balance, and currency breakdown.

Stripe Get Balance Transactions

Get Stripe balance transactions (charges, refunds, payouts, etc.) showing funds moving in and out of your account. Pass balance_transaction_id to retr...

Stripe Get Charges

Get charges — pass charge_id for one resource, or omit to list with optional customer, payment_intent, transfer_group, and created filters.

Stripe Get Checkout Sessions

Get Stripe Checkout sessions. Pass checkout_session_id (or session_id) to retrieve one session; omit to list with optional customer, payment_intent, s...

Stripe Get Coupons

Get Stripe coupons that define discount rules (percent or amount off, duration, product restrictions). Pass coupon_id to retrieve one coupon; omit cou...

Stripe Get Customers

Get Stripe customers. Pass customer_id to retrieve one customer; omit customer_id to list with optional email and created filters and pagination.

Stripe Get Disputes

Get Stripe disputes (chargebacks). Pass dispute_id to retrieve one dispute; omit dispute_id to list disputes with optional filters and pagination.

Stripe Get Events

Get Stripe account events (payments, refunds, billing webhooks, etc.). Pass event_id to retrieve one event with webhook delivery summary; omit to list...

Stripe Get File Links

List file links for files stored on Stripe. Returns URL, expiration status, and metadata for each link.

Stripe Get Files

List files uploaded to Stripe (reports, dispute evidence, identity documents). Returns name, size, purpose, and creation time.

Stripe Get Invoices

Get Stripe invoices. Pass invoice_id to retrieve one invoice with line items and payment details; omit invoice_id to list with optional customer, subs...

Stripe Get Payment Intents

Get payment intents — pass payment_intent_id for one resource, or omit to list with optional customer, status, and created filters.

Stripe Get Payment Links

Get Stripe payment links (shareable checkout URLs). Pass payment_link_id to retrieve one link; omit to list with optional active filter. Each link inc...

Stripe Get Payment Methods

Get payment methods — pass payment_method_id for one resource, or pass customer (without payment_method_id) to list that customer's payment methods wi...

Stripe Get Payouts

Get Stripe payouts. Pass payout_id to retrieve one payout; omit payout_id to list payouts with optional filtering by status, creation date, and arriva...

Stripe Get Prices

Get Stripe prices for products. Pass price_id to retrieve one price; omit price_id to list with optional product, active, type, currency, and created ...

Stripe Get Products

Get Stripe products (catalog items you sell). Pass product_id to retrieve one product; omit product_id to list with optional active and created filter...

Stripe Get Promotion Codes

Get promotion codes — the strings customers enter at Checkout (e.g. ILH-MCP-2026). Pass promotion_code_id to retrieve one; omit to list with optional ...

Stripe Get Refunds

Get refunds — pass refund_id for one resource, or omit to list with optional charge, payment_intent, and created filters.

Stripe Get Setup Attempts

List setup attempts for a payment method setup intent. Useful for reviewing and troubleshooting payment method creation.

Stripe Get Shipping Rates

List available shipping rates configured in your Stripe account. Returns rate details including amount, currency, and delivery estimates.

Stripe Get Subscriptions

Get Stripe subscriptions. Pass subscription_id to retrieve one subscription; omit subscription_id to list with optional customer, status, price, and d...

Stripe Get Tax Rates

Get Stripe tax rates (percentage or flat amount, inclusive/exclusive, jurisdiction metadata). Pass tax_rate_id to retrieve one rate; omit tax_rate_id ...

Stripe Get Usage Records

List usage record summaries for a metered subscription item. Shows consumption data for billing.

Stripe Get Webhook Endpoints

Get Stripe webhook endpoints. Pass webhook_endpoint_id for the full endpoint including enabled events; omit to list endpoints with URL, status, livemo...

Stripe Open App

Open the Stripe revenue dashboard. Use when the user asks to open or view Stripe MRR, subscription health, or account balance before running a specifi...

Stripe Pay Invoice

Pay an open invoice. By default, charges the customer's default payment method. Use paid_out_of_band=true for payments collected outside Stripe (cash,...

Stripe Reissue Paid Invoice

Fix a paid invoice whose PDF has wrong buyer name or tax ID. Updates the customer (optional name/tax ID), credits the original invoice out-of-band (no...

Stripe Revenue Snapshot

Get an account-level revenue snapshot in one call: normalized monthly recurring revenue (MRR), subscription counts by status, optional balance totals,...

Stripe Search Customers

Search customers using Stripe's full-text search. More powerful than list — supports fuzzy name matching, metadata queries, date ranges, and combinati...

Stripe Search Invoices

Search invoices using Stripe's full-text search. More powerful than list — supports searching by customer, status, amount ranges, date ranges, and com...

Stripe Search Products

Search products using Stripe's full-text search. Supports fuzzy name matching, description search, metadata queries, and combinations with AND/OR. Mor...

Stripe Search Subscriptions

Search subscriptions using Stripe's full-text search. Supports metadata queries, date ranges, status filtering, and combinations with AND/OR. Use for ...

Stripe Send Invoice

Send a finalized invoice to the customer via email. The invoice must be in 'open' status. If it's still in 'draft', finalize it first.

Stripe Submit Dispute Evidence

Submit evidence for a dispute. Evidence can include receipts, customer communication, shipping information, and more.

Stripe Upsert Coupon

Create a Stripe coupon or update an existing coupon's name/metadata. On create, set amount_off (with currency) or percent_off, plus duration. Use appl...

Stripe Upsert Customer

Create a new customer or update an existing customer. For create: provide email (recommended) and other fields. For update: provide customer ID and on...

Stripe Upsert Payment Intent

Create a new payment intent or update an existing one. For create: provide amount (required) and currency. Optionally attach a customer and payment_me...

Stripe Upsert Product

Create a new product or update an existing product. Products represent goods or services you sell. For create: provide name (required). After creating...

Stripe Upsert Promotion Code

Create a promotion code tied to a coupon, or update an existing code's active flag and metadata. On create, provide coupon and code. Use max_redemptio...

Stripe Upsert Subscription

Create a new subscription or update an existing one. For create: provide customer and items (price IDs from your catalog). Prerequisites: (1) customer...

Stripe Void Invoice

Void an open invoice. Voiding cancels the invoice permanently — no payment will be collected. Cannot void paid invoices (use refund instead).

Frequently Asked Questions

How is MRR calculated in the revenue snapshot?

MRR sums normalized monthly recurring amounts from subscriptions in active, trialing, past_due, or unpaid status. Annual and weekly prices are converted to a monthly equivalent from each subscription item's recurring price and quantity.

Can I use test mode and live mode?

Yes. Connect a Stripe secret key — sk_test_ for test data or sk_live_ for production. The same tools work in either mode; the key determines which account and objects you see.

What does the Stripe MCP App show?

The revenue dashboard opens when you call stripe_open_app or stripe_revenue_snapshot. Customer 360 renders in the same panel when you call stripe_customer_360. Other tools return JSON on the text channel for the agent to summarize.

What Stripe operations can agents run?

Read and write across customers, subscriptions, invoices, payment intents, charges, refunds, products, prices, checkout sessions, disputes, payouts, and balance. Search tools support Stripe's query syntax for customers, subscriptions, products, and invoices.

Does this replace Stripe Dashboard or Sigma?

No. It is for agent-driven billing research, customer triage, and targeted API operations from chat — not full reporting, reconciliation, or finance close workflows.

How do I connect Stripe to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/stripe. Authentication is handled automatically.

How many tools does Stripe provide?

Stripe provides 65 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Stripe require?

Stripe uses API Key. Stripe requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Stripe to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/stripe

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Stripe and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Stripe will appear under Not connected — select it and click Connect to complete OAuth.
Name: Stripe
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/stripe
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Other ways to use Stripe

Same data, different audiences.

App

Polished interactive UI — explore the data visually with no setup.

Open the app

Ready to use Stripe?

Sign in to connect your credentials and start running tools from the chat.

Stripe MCP Server & Skill