Stripe MCP server
Read your Stripe account freely; move money only with the amount typed back.
- Tools
- 73
- Read-only
- 44
- Write
- 29
- Off by default
- Destructive
- 8
- Flagged distinctly
Stripe through an assistant
Customers, charges, payment intents, invoices, subscriptions, products, prices, coupons, disputes and balance are all readable on your own account. Writes are opt-in, and six of them go further: a refund, a subscription cancellation, a void, an uncollectible mark, a credit note or a dispute close requires you to echo the amount or target back, checked against the live Stripe object before the call goes out. Payouts are deliberately read-only -- there is no tool that creates one.
- Customers, charges, payment intents, payment methods and checkout sessions
- Invoices, invoice items, credit notes, subscriptions and schedules
- Products, prices, coupons, promotion codes and payment links
- Disputes, balance, balance transactions and payouts (payouts read-only)
- Invoice preview -- a real dry run before a proration-affecting change
- Create customers, invoices, subscriptions and refunds (opt-in, amount echo required)
What people actually ask
Real questions, answered from live Stripe data.
“Which subscriptions are set to cancel at the end of this period?”
stripe_list_subscriptionsstripe_get_subscription“Do we have any open disputes, and how much is at stake?”
stripe_list_disputesstripe_get_dispute“Which invoices from last month are still unpaid?”
stripe_list_invoicesstripe_get_invoice73 Stripe tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Invoices
8 tools3 read-only · 5 writeShowing 8 of 8 tools
- stripe_create_invoiceWrite
Create a draft invoice for a customer. Does not charge anything until finalized.
- stripe_finalize_invoiceWriteDestructive
Finalize a draft invoice -- locks its invoice number and, depending on the customer's payment settings, may immediately attempt to charge them. Not reversible.
- stripe_get_invoiceRead-only
Retrieve a single invoice by ID, including its line items.
- stripe_list_invoicesRead-only
List invoices, optionally filtered by customer or subscription.
- stripe_mark_invoice_uncollectibleWriteDestructive
Mark an invoice as uncollectible -- writes off the amount as bad debt. confirm_amount is a deliberate safety echo, must exactly match the invoice's amount_due.
- stripe_preview_invoiceRead-only
Simulate what an invoice would look like WITHOUT creating anything -- Stripe's real dry-run primitive. Call this before stripe_create_subscription/stripe_update_subscription when proration is involved, to show the customer the actual dollar impact before committing.
- stripe_update_invoiceWrite
Update a draft invoice's details.
- stripe_void_invoiceWriteDestructive
Void an invoice -- permanently cancels it. Only possible before it's paid. confirm_amount is a deliberate safety echo, must exactly match the invoice's total.
Subscriptions
7 tools4 read-only · 3 writeShowing 7 of 7 tools
- stripe_cancel_subscriptionWriteDestructive
Cancel a subscription IMMEDIATELY. This is irreversible -- for a reversible, end-of-period cancellation, use stripe_update_subscription with cancel_at_period_end: true instead. confirm_subscription_id is a deliberate safety echo, must exactly match subscription_id.
- stripe_create_subscriptionWrite
Create a new subscription for a customer. Consider calling stripe_preview_invoice first if proration matters.
- stripe_get_subscriptionRead-only
Retrieve a single subscription by ID.
- stripe_list_subscription_itemsRead-only
List the line items on a subscription.
- stripe_list_subscriptionsRead-only
List subscriptions, optionally filtered by customer or status.
- stripe_list_subscription_schedulesRead-only
List subscription schedules, optionally filtered by customer.
- stripe_update_subscriptionWrite
Update an existing subscription -- change items/quantity, or schedule a reversible cancellation via cancel_at_period_end (the subscription keeps running until the current period ends, and can be un-scheduled by calling this again with cancel_at_period_end: false). For an IMMEDIATE, irreversible cancellation use stripe_cancel_subscription instead. Consider stripe_preview_invoice first if items change.
Coupons
5 tools2 read-only · 3 writeShowing 5 of 5 tools
- stripe_create_couponWrite
Create a coupon -- either percent_off or amount_off (with currency), not both.
- stripe_delete_couponWriteDestructive
Permanently delete a coupon. Existing promotion codes/subscriptions using it are unaffected, but it can no longer be applied to new ones.
- stripe_get_couponRead-only
Retrieve a single coupon by ID.
- stripe_list_couponsRead-only
List coupons.
- stripe_update_couponWrite
Update a coupon's name or metadata. Discount amount/percent/duration cannot be changed once created.
Payment links
5 tools3 read-only · 2 writeShowing 5 of 5 tools
- stripe_create_payment_linkWrite
Create a shareable payment link.
- stripe_get_payment_linkRead-only
Retrieve a single payment link by ID.
- stripe_get_payment_link_line_itemsRead-only
Retrieve the line items on a payment link.
- stripe_list_payment_linksRead-only
List payment links, optionally filtered by active state.
- stripe_update_payment_linkWrite
Update a payment link's active state. There is no delete endpoint -- set active: false to deactivate.
Disputes
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_close_disputeWriteDestructive
Accept a dispute, closing it. This PERMANENTLY FORFEITS the disputed amount -- confirm_amount is a deliberate safety echo, must exactly match the dispute's amount.
- stripe_get_disputeRead-only
Retrieve a single dispute by ID.
- stripe_list_disputesRead-only
List disputes, optionally filtered by charge or payment intent.
- stripe_update_dispute_evidenceWrite
Submit or update evidence for a dispute. No direct money effect, but Stripe forecloses further submission once evidence is marked submitted -- treat as a one-shot action per dispute.
Checkout
4 tools3 read-only · 1 writeShowing 4 of 4 tools
- stripe_create_checkout_sessionWrite
Create a checkout session (a hosted payment page URL). Ungated -- no money moves until the end customer actually completes payment on Stripe's own page.
- stripe_get_checkout_sessionRead-only
Retrieve a single checkout session by ID.
- stripe_get_checkout_session_line_itemsRead-only
Retrieve the line items for a checkout session.
- stripe_list_checkout_sessionsRead-only
List checkout sessions, optionally filtered by customer.
Customers
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_create_customerWrite
Create a new customer.
- stripe_get_customerRead-only
Retrieve a single customer by ID.
- stripe_list_customersRead-only
List customers, optionally filtered by email.
- stripe_update_customerWrite
Update an existing customer's details.
Invoice items
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_create_invoice_itemWrite
Add a line item to a customer's next invoice (or a specific draft invoice).
- stripe_get_invoice_itemRead-only
Retrieve a single invoice item by ID.
- stripe_list_invoice_itemsRead-only
List invoice items, optionally filtered by customer or invoice.
- stripe_update_invoice_itemWrite
Update an invoice item that hasn't been invoiced yet.
Prices
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_create_priceWrite
Create a price for a product. Prices are immutable once created -- to change an amount, create a new price and archive the old one (stripe_update_price cannot touch unit_amount).
- stripe_get_priceRead-only
Retrieve a single price by ID.
- stripe_list_pricesRead-only
List prices, optionally filtered by product or active state.
- stripe_update_priceWrite
Update a price's active state, nickname, or metadata. The amount is immutable by Stripe's own design -- this cannot change unit_amount; use stripe_create_price for a new amount.
Products
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_create_productWrite
Create a product.
- stripe_get_productRead-only
Retrieve a single product by ID.
- stripe_list_productsRead-only
List products, optionally filtered by active state.
- stripe_update_productWrite
Update a product's details.
Promotion codes
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- stripe_create_promotion_codeWrite
Create a customer-facing promotion code tied to an existing coupon.
- stripe_get_promotion_codeRead-only
Retrieve a single promotion code by ID.
- stripe_list_promotion_codesRead-only
List promotion codes, optionally filtered by coupon or active state.
- stripe_update_promotion_codeWrite
Update a promotion code -- the only way to deactivate one (there is no delete endpoint). Set active: false to deactivate.
Credit notes
3 tools2 read-only · 1 writeShowing 3 of 3 tools
- stripe_create_credit_noteWriteDestructive
Issue a credit note against an invoice. When refund_amount is set, this triggers a REAL refund of the charge associated with the invoice -- confirm_amount is a deliberate safety echo, must exactly match refund_amount (or 0 if no refund is being issued, only a balance credit).
- stripe_get_credit_noteRead-only
Retrieve a single credit note by ID.
- stripe_list_credit_notesRead-only
List credit notes, optionally filtered by customer or invoice.
Refunds
3 tools2 read-only · 1 writeShowing 3 of 3 tools
- stripe_create_refundWriteDestructive
Refund a charge or payment intent, in full or in part. This moves real money back to the customer -- confirm_amount is a deliberate safety echo: Stripe amounts are in the currency's smallest unit (cents for USD), and this catches both a 100x unit error and refunding the wrong total. It must exactly match `amount` if provided, or the charge/payment intent's full remaining amount if `amount` is omitted.
- stripe_get_refundRead-only
Retrieve a single refund by ID.
- stripe_list_refundsRead-only
List refunds, optionally filtered by charge.
Webhooks
3 tools2 read-only · 1 writeShowing 3 of 3 tools
- stripe_create_webhook_endpointWrite
Register a new webhook endpoint on the customer's account. The signing secret is returned once in the response and never stored by ServeMCP -- record it immediately, it cannot be retrieved again.
- stripe_get_webhook_endpointRead-only
Retrieve a single webhook endpoint by ID.
- stripe_list_webhook_endpointsRead-only
List the account's configured webhook endpoints.
More tools
11 tools11 read-only · 0 writeShowing 10 of 10 tools
- stripe_get_balanceRead-only
Retrieve the current account balance (available and pending, per currency).
- stripe_get_balance_transactionRead-only
Retrieve a single balance transaction by ID.
- stripe_get_chargeRead-only
Retrieve a single charge by ID.
- stripe_get_payment_intentRead-only
Retrieve a single payment intent by ID.
- stripe_get_payment_methodRead-only
Retrieve a single payment method by ID.
- stripe_get_payoutRead-only
Retrieve a single payout by ID.
- stripe_list_balance_transactionsRead-only
List balance transactions (charges, refunds, payouts, fees, etc.), optionally filtered by type.
- stripe_list_chargesRead-only
List charges, optionally filtered by customer.
- stripe_list_payment_intentsRead-only
List payment intents, optionally filtered by customer.
- stripe_list_payment_methodsRead-only
List a customer's saved payment methods.
+ 1 more more tools tool — see the full catalogue
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Your own credential
You supply your own Stripe key, scoped however you like on their side. It is encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect Stripe in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect Stripe.
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}Put Stripe in front of your assistant
Free plan, no card required. Connect in minutes.