Stripe is a Payments MCP server that lets Claude Code, Cursor, Windsurf and any MCP-compatible AI agent payment processing and subscription management. Install in 1 minute with mcpizy install stripe.
Connect your Stripe account once — MCPizy stores the credentials encrypted and uses them whenever you run a recipe in managed mode.
mcpizy install stripenpx -y @stripe/mcp-servercreate_customerCreate a new customer record in Stripe
Inputs
emailstringrequirednamestringoptionallist_customersList customers with optional filters
Inputs
limitnumberoptionalcreate_payment_linkCreate a shareable payment link for a price
Inputs
pricestringrequiredquantitynumberoptionalcreate_invoiceCreate an invoice for a customer
Inputs
customerstringrequiredlist_productsList active products in the Stripe catalog
list_subscriptionsList subscriptions with status filter
Inputs
statusstringoptionalcreate_refundRefund a payment partially or fully
Inputs
payment_intentstringrequiredamountnumberoptionalWorks identically across clients. Only the config file path differs.
~/.claude.json{
"mcpServers": {
"stripe": {
"command": "npx",
"args": [
"-y",
"@stripe/mcp",
"--tools=all",
"--api-key=${STRIPE_SECRET_KEY}"
],
"env": {
"STRIPE_SECRET_KEY": "sk_test_..."
}
}
}
}.cursor/mcp.json{
"mcpServers": {
"stripe": {
"command": "npx",
"args": [
"-y",
"@stripe/mcp",
"--tools=all",
"--api-key=${STRIPE_SECRET_KEY}"
],
"env": {
"STRIPE_SECRET_KEY": "sk_test_..."
}
}
}
}~/.codeium/windsurf/mcp_config.json{
"mcpServers": {
"stripe": {
"command": "npx",
"args": [
"-y",
"@stripe/mcp",
"--tools=all",
"--api-key=${STRIPE_SECRET_KEY}"
],
"env": {
"STRIPE_SECRET_KEY": "sk_test_..."
}
}
}
}Copy your restricted API key (recommended over the secret key)
STRIPE_SECRET_KEYPaste any of these prompts into Claude Code, Cursor or another MCP-compatible client.
“Create a new customer with email [email protected]”
Uses: create_customer
“Generate a $49/month payment link for my 'Pro Plan' product”
Uses: create_payment_link
“Show me all active subscriptions and their MRR breakdown”
Uses: list_subscriptions
“Refund payment intent pi_3AbC in full”
Uses: create_refund
“List every product in my catalog with its prices”
Uses: list_products
Stripe MCP wraps the Stripe API in agent-callable tools: `list_customers`, `create_payment_link`, `list_subscriptions`, `refund_charge`, `create_invoice`, `search_charges`. The official server ships behind a restricted API key (you scope it to specific resources in the dashboard), so the agent's blast radius is whatever you give the key — a read-only key is safe to leave running; a full key is not. Stripe also ships an "Agent Toolkit" that includes the MCP plus pre-built workflows for common SaaS billing tasks.
We use Stripe MCP daily for three things. First, support triage: a customer emails about a failed payment — the agent searches by email, finds the charge, surfaces the failure reason, and drafts the refund. Second, MRR analysis: "list active subscriptions, group by plan, show monthly revenue trend." Third, dunning recovery: the agent finds invoices in `past_due` for > 7 days and creates payment links to send manually. Token cost is moderate; a customer object with payment methods and subscriptions runs ~2-3k tokens, and a list of 50 charges with metadata is ~5-7k.
Compared to writing custom Stripe SDK code, the MCP wins when the work is one-off, support-style, or analytical — you don't want to ship a script every time. For high-volume programmatic flows (webhooks, subscription lifecycle automation), the Stripe SDK + a real service is correct; the MCP is for human-in-the-loop ops. Compared to Lago or Chargebee MCPs (when those exist), Stripe wins on ecosystem maturity, every JS/Python framework integrates first-class, and the dashboard remains the source of truth.
Restricted keys have permission combinations that are not obvious. A key with "Customers: read + write" but not "Payment Methods: read" will fail `get_customer` with a vague "permission denied" — Stripe doesn't tell you which sub-permission is missing. Generate restricted keys carefully and test each tool path manually.
Test mode vs live mode is set by the key prefix (`sk_test_` vs `sk_live_`). An agent given a live key will operate on real money — there is no "dry-run" flag on most write tools. Always default new agent setups to test keys; require a confirmation step before swapping to live.
`search_charges` uses Stripe's search index, which is eventually consistent (~1 min lag). For "find the charge a customer just made," fall back to `list_charges` with a customer filter.
Idempotency keys are not auto-generated by most MCP servers. If the agent retries a `create_invoice` call after a network blip, you'll get duplicate invoices. Wrap write operations in prompts that explicitly set an idempotency key derived from the business context.
Honest pros/cons against the closest payments MCP servers.
| Server | Strengths | Trade-offs |
|---|---|---|
| Paddle MCP (community) | Merchant-of-record handles tax/VAT globally | Smaller ecosystem, MCP coverage thin, slower disputes flow |
| LemonSqueezy MCP (community) | Simpler indie-SaaS pricing, MoR included | Fewer primitives, no enterprise contracts model |
| Custom Stripe SDK service | Full control, webhook-driven, no MCP token overhead | Code to maintain — only worth it for production write flows |
If Stripe doesn't fit your stack, these Payments MCP servers solve similar problems.
The Stripe MCP server is an Payments Model Context Protocol server that lets Claude Code, Cursor, Windsurf, VS Code with Copilot, and other MCP-compatible AI agents payment processing and subscription management. It exposes Stripe's capabilities as tools the AI can call directly from your editor or CLI.
The fastest way is the MCPizy CLI: run `mcpizy install stripe` and MCPizy will add the server to your `.claude.json` automatically. You can also install it manually by adding an entry under `mcpServers` in `.claude.json` with the command `npx -y @stripe/mcp-server` and restarting Claude Code.
Yes. The Stripe MCP server is free and open source (see the GitHub repository linked on this page). You may still need a Stripe account or API key to connect the server to the underlying service, but the MCP layer itself has no MCPizy subscription cost.
Yes. Any MCP-compatible client works — including Claude Code, Claude Desktop, Cursor (via `.cursor/mcp.json`), Windsurf, VS Code with Copilot Chat, and custom agents built on the MCP SDK. The same install command targets all of them; only the config file path differs.
Once installed, your AI agent can payment processing and subscription management directly inside your conversation. Typical use cases include asking Claude Code or Cursor to run Stripe operations, inspect results, chain Stripe with other MCP servers (see our Workflow Recipes), and automate repetitive payments tasks without leaving your editor.