Stripe MCP for Claude Code: A 1-Minute Setup That Starts in the Sandbox

Stripe MCP: Sandbox first, no pasted keys

Last Verified: September 2026 — commands checked against Stripe’s official MCP server docs

You’re building checkout in Claude Code and it keeps guessing: which price ID, which webhook events, did that test customer actually get created? So you tab over to the Stripe Dashboard, copy IDs, and paste them back.

Stripe MCP is Stripe’s official hosted server. It lets Claude Code read your products, prices, customers, and payments, search Stripe’s docs, and (when you allow it) create things. Setup is one command and an OAuth sign-in, and this guide connects it to a sandbox first so nothing touches real money.

Your app data lives in Supabase? See our Supabase MCP setup.

How it works

Youask in plain English
Claude Codepicks the right tool
Stripe MCPRemote (HTTP) · sign-in: OAuth
Real data backProducts, prices, and payments, starting in a sandbox

Quick Start

Run this in your project folder:

claude mcp add --scope project --transport http stripe https://mcp.stripe.com/

Start Claude Code, run /mcp, pick stripe, and on Stripe’s consent page grant access to a sandbox. Total time: about 1 minute. No API key to paste.

⚡ Copy This Prompt: Let Claude Code Install and Verify It For You

Skip the manual steps below and hand the whole job to the agent instead:

You have shell access and the `claude mcp` CLI on this machine. Connect Stripe's official MCP server to Claude Code for this project and report back. Do not tell me it's done unless step 4 actually confirms it:

1. Run `claude mcp list`. If a stripe entry already exists, show me its URL and stop instead of adding a second one.
2. Run:
   `claude mcp add --scope project --transport http stripe https://mcp.stripe.com/`
3. Tell me to run `/mcp` in Claude Code, pick stripe, and finish the Stripe sign-in in my browser. Remind me to grant access to a SANDBOX only, not a live mode account. Wait until I say it's done, then run `claude mcp list` and confirm stripe shows Connected.
4. Call get_stripe_account_info and tell me the account name and whether it is a sandbox or live mode. Then list the 5 most recent products with their prices. Don't create, update, or refund anything.

Never ask me to paste a Stripe API key into this chat. If any step fails, give me the exact error and the command that produced it. Do not skip ahead.

The check at the end only reads, and it tells you which environment you connected before anything else happens.

Already using an API key with Stripe MCP? Starting October 31, 2026, Stripe MCP stops accepting full-access secret keys and restricted keys without the Agent tag. Those requests get a 401. Switch to OAuth or create a new agent API key before then (see the Q&A).

On this page (7 sections)
  1. What You’ll Need
  2. Step-by-Step Setup
  3. What It Can Do
  4. Verify It’s Actually Working
  5. Common Mistakes to Avoid
  6. Q&A
  7. Official Resources

What You’ll Need

RequirementWhy You Need ItTime
Claude Code installedThe client that calls the Stripe tools0 min
A Stripe account with a sandboxSomewhere safe to point the agent first0–2 min
A browser on the same machineFor the one-time OAuth consent0 min

Step-by-Step Setup

Prefer to do it by hand instead of delegating to the agent? Here’s the manual version.

Step 1 — Add the server

~10 sec

--scope project writes the entry to .mcp.json in your repo, so teammates who clone it get the same server. Each person still signs in with their own Stripe login:

claude mcp add --scope project --transport http stripe https://mcp.stripe.com/
Terminal: claude mcp add --scope project --transport http stripe https://mcp.stripe.com/; then claude mcp list
Real run, October 2026. The confirmation line drops the trailing slash; that is cosmetic. Pending approval is normal for a project-scoped server: start claude, approve it, then sign in with /mcp.

Step 2 — Sign in and pick the environment

~30 sec

Inside Claude Code, run /mcp, select stripe, and authenticate. Stripe’s consent page lets you grant access to one or more live mode accounts or sandboxes, with different permissions for each. Tick only the sandbox for now.

Step 3 — Know how to switch it off

~10 sec

Your connected clients show up in the Stripe Dashboard under your user settings > OAuth sessions. The ⋯ menu next to a client has Revoke access. Admins can also turn MCP access on or off for the whole team, separately for live mode and sandboxes.

Terminal connected to a fenced sandbox holding payment cards and coins
Start in a Stripe sandbox: Claude Code can explore products and payments without touching live money.

What It Can Do

JobExample AskTool Behind It
Look up your data“List my products and their active prices”stripe_api_read (GET)
Find the right API call“Which endpoint creates a Checkout Session with a trial?”stripe_api_search, stripe_api_details
Answer docs questions“Which webhook events do I need for failed subscription payments?”search_stripe_documentation
Create test data“Create a test product at $19/month and a payment link for it”stripe_api_write
Plan an integration“Walk me through adding subscriptions to this app”stripe_implementation_planner

One nice safety net: for some writes, such as refunds and outbound payments, Stripe itself requires a human to approve. The agent gives you a link, you review and click Approve, then tell the agent to retry. Unapproved requests expire after 24 hours.

Verify It’s Actually Working

claude mcp list
✔ stripe    https://mcp.stripe.com/ (HTTP) – Connected
! stripe    Needs authentication  → run /mcp and sign in (Step 2)
✘ stripe    Failed to connect  → on a work network, ask IT to allow mcp.stripe.com

Then ask something only your account knows:

Which Stripe account and environment are you connected to? Then list my 5 most recent products with their prices.

If it says sandbox and the products match your Dashboard, it’s working.

Common Mistakes to Avoid

  • Granting live mode on day one. The consent page makes it easy to tick everything. Start with a sandbox, and add live mode later only if you actually need the agent reading real payments.
  • Pasting a secret key on the command line. It ends up in your shell history and possibly in .mcp.json in git. Use OAuth, or reference an environment variable (see the Q&A).
  • Keeping an old sk_ or rk_ key setup. After October 31, 2026 those stop working with Stripe MCP unless the key is an agent API key.
  • Auto-approving stripe_api_write. One tool covers every POST, PATCH, PUT, and DELETE. Keep manual approval on for it. A Claude Code hook can enforce that.
  • Mixing it with untrusted servers. Stripe’s docs warn about prompt injection when the Stripe server runs next to others. Don’t pair it with a web-scraping server in the same session without approval turned on.

Q&A

Is it free?

The MCP server itself comes with your Stripe account. Normal Stripe fees still apply to anything that processes a real payment.

How do I use an API key instead of OAuth?

Create an agent API key (it shows an Agent badge in the Dashboard) with only the permissions you need. In .mcp.json, set "headers": {"Authorization": "Bearer ${AGENT_API_KEY}"} and put the key in that environment variable, not in the file.

Is there a one-command installer?

Yes. Stripe’s docs recommend npm install -g @stripe/cli@latest then stripe agent setup, which detects your agents and also installs Stripe’s skills. The manual command above is enough if you just want the MCP server.

Can it work on a connected account (Stripe Connect)?

Yes, but not with OAuth. Use a platform restricted key with connected-account permissions and send a Stripe-Account header.

Does it work in Claude Desktop or claude.ai too?

Yes. Stripe has an official connector in the Claude directory. That connection is separate from the one in Claude Code.

Official Resources