Skip to main content
Community resource — not affiliated with Anthropic or Stripe. Learn more

Stripe MCP

Payments & Billing · Official

Full Stripe API access for Claude. Create and manage charges, customers, subscriptions, invoices, and refunds — letting Claude act as your billing assistant and payment automation engine.

4.8 rating 11,400+ connects Free · Open source Protocol v1.0
Stripe Payments Subscriptions Billing Official

Connect command

STRIPE_API_KEY=sk_xxx claude mcp add stripe -- npx -y @stripe/mcp
View on GitHub →

Requires STRIPE_API_KEY env var

11.4kConnects
4.8Rating

What it does

The Stripe MCP Server gives Claude direct access to the Stripe API, enabling your AI assistant to query payment data, automate billing operations, and help you debug payment flows — all without leaving your terminal. It is the official integration maintained by Stripe's own engineering team.

Common workflows include pulling revenue summaries across date ranges, creating one-off charges, applying refunds on disputed transactions, looking up customer subscription states, generating invoices, and answering billing questions by pulling live data from your Stripe account.

  • Create and retrieve charges, payment intents, and payment methods
  • Manage customers — create, update, search by email or metadata
  • List and modify subscriptions, plans, and prices
  • Create and finalize invoices; retrieve invoice line items
  • Issue full and partial refunds with reason codes
  • Query balance transactions and payout histories
  • Look up disputes and retrieve evidence submission status
  • Search across objects using Stripe's query language

How to connect

Generate an API key in your Stripe Dashboard under Developers → API keys. Use a restricted key in production — scope it to only the resources Claude needs to read or write.

terminal
export STRIPE_API_KEY="sk_live_your_key_here"
claude mcp add stripe -- npx -y @stripe/mcp
Test mode first: Use a sk_test_ key while you explore. Switch to a restricted live key (sk_live_) only after you're confident in the operations Claude will run.

Available tools

  • create_payment_intent — create a PaymentIntent with amount, currency, and metadata
  • retrieve_charge — fetch charge details by ID including outcome and risk data
  • create_refund — issue a refund against a charge or PaymentIntent
  • list_customers — search customers by email, name, or metadata fields
  • retrieve_customer — get full customer profile including payment methods
  • list_subscriptions — filter active, trialing, or canceled subscriptions
  • create_invoice — generate a draft invoice and optionally finalize it
  • list_balance_transactions — query balance history with date and type filters
  • search_charges — use Stripe Search syntax across charges

Example usage

Ask Claude to investigate a disputed charge and prepare a refund summary for your team:

example prompt
# User prompt
Find all charges from customer john@example.com
this month, show the total billed, flag any
disputes, and refund the most recent failed charge.
tool call sequence
list_customers({ email: "john@example.com" })
→ returns cus_ABC123
search_charges({ customer: "cus_ABC123", created: { gte: month_start } })
→ returns 4 charges, 1 disputed
create_refund({ charge: "ch_failed_xyz", reason: "fraudulent" })
→ refund issued: re_ABC123

Restricted keys: In the Stripe Dashboard, create a restricted API key and grant only the permissions Claude needs (e.g., read charges, write refunds). This limits blast radius if the key is ever exposed.