← Blog

Give Claude the Keys to Your Checkout: Selling with an AI Agent, Safely

TL;DR

Connect Claude to gocushy with one config snippet (npx -y @gocushy/mcp plus your GOCUSHY_API_KEY) and it can create products, customize checkouts, read sales, process refunds, and run affiliate payouts — all on your own Stripe account. The reason it's safe to hand over: pricing is enforced server-side, countdowns can't be faked, and no tool exists that can move your money anywhere except back to a buyer.

Most "AI + selling" content is about writing copy. This post is about something different: giving Claude operational control of your sales machinery — the products, the offers, the refunds, the affiliate ledger — and being able to sleep afterwards.

gocushy is a checkout platform built MCP-first: 22 agent tools that let any MCP client operate a real funnel on your own Stripe account. If you're new to the whole idea, start with What is an MCP checkout? This post assumes you're sold on the concept and want the Claude-side how-to. (Using ChatGPT instead? There's a mirror of this guide for ChatGPT.)

Setup: two minutes of config

You need a gocushy account (sign up here) and your API key — it starts with gc_ and lives in your dashboard. Then point Claude at the MCP server.

Claude Desktop

Add this to your claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "gocushy": {
      "command": "npx",
      "args": ["-y", "@gocushy/mcp"],
      "env": {
        "GOCUSHY_API_KEY": "gc_your_key_here"
      }
    }
  }
}

Claude Code

One command in your terminal:

claude mcp add gocushy \
  --env GOCUSHY_API_KEY=gc_your_key_here \
  -- npx -y @gocushy/mcp

Restart the client and Claude has the full toolset: catalog tools (create_product, import_products — one command pulls in your existing Stripe catalog), offer and checkout tools (create_offer, update_checkout, get_checkout_link, get_embed_code), reporting (get_sales, list_orders), money-back (refund_order, cancel_subscription), affiliates, email connections, and webhooks. The full tool reference is in the developer docs.

One step stays human, on purpose: connecting your Stripe account. Claude can kick it off with connect_payment, but Stripe's onboarding — identity, bank account, KYC — is yours to complete. That's the law, and it's the only dashboard-ish thing you'll do. Everything after runs from conversation. Full setup details are in the docs.

Four workflows you'll actually run

1. Launch-day ops

How are sales looking? Break it down by offer and tell me the bump take-rate.

Claude calls get_sales and list_orders and answers in plain English: revenue, orders, which offer is pulling, what percentage of buyers took the order bump. On launch day this replaces the compulsive dashboard-refresh with a running conversation — "how's the last hour?", "any failed payments?", "export today's orders." Because the data comes back structured, Claude doesn't just report it; it can act on what it sees, which is where the next workflow comes in.

2. Iterating a checkout mid-launch

The bump take-rate is low. Rewrite the bump copy to lead with the template pack, swap testimonial two for the one from Priya, and set the guarantee badge to 30 days.

gocushy checkouts are built from blocks — headline, subheadline, up to six benefit bullets, up to three testimonials, a guarantee badge, hero image, button text, brand accent, and an honest countdown. Claude sets any of them through update_checkout. It's "described, not designed": the agent supplies the words, the layout is structurally locked, so there is no way to end up with a broken page at 2pm on launch day.

3. Processing a refund

Order #1482 emailed asking for a refund — course wasn't for them. Refund it in full.

One call to refund_order. The money goes back through your Stripe, any affiliate commission on that order is clawed back automatically, your order.refunded webhook fires, and if you've connected Kit, Mailchimp, or ActiveCampaign, the buyer gets tagged so your sequences respond appropriately. What used to be a five-tab chore is a sentence.

4. The weekly affiliate payout run

Run the affiliate payouts. What's due past holdback, and to whom?

Commissions in gocushy sit in a 30-day holdback before they're due — refund protection built into the ledger. Claude lists what's payable per affiliate, you send the money however you pay your partners (gocushy never holds or moves affiliate funds), and Claude calls mark_commissions_paid to keep the ledger clean. Recurring commissions on subscription renewals show up in the same run. More on running a program this way in our affiliate program guide.

The guardrails are the product

Here's the part that matters more than any workflow. The honest answer to "should I let an AI run my sales?" depends entirely on what the AI can't do. We spent more engineering effort on the impossible list than the possible one — 67 automated tests and 40+ adversarial review findings fixed before launch — because an agent platform without hard limits isn't a product, it's a liability with an API.

Claude canNo agent can, ever
Create products, offers, bumps, and upsellsShip a mispriced checkout — the price a buyer pays comes from the server-side product record, never from text an agent wrote onto a page
Set a real countdown on an offerFake scarcity — countdowns hide at zero and can never reset. Honest by construction, not by policy
Refund a buyer's own payment via StripeMove money anywhere else — funds settle directly in your Stripe account, gocushy never holds them, and no outbound-transfer tool exists
Rewrite every block of checkout copyBreak the layout — blocks are described, not designed, so the structure is unbreakable
Fetch links to invoices, upsells, delivery pagesMint access to buyer-sensitive pages — upsell, delivery, and invoice URLs are all signed
Everything after Stripe onboardingSkip KYC — connecting Stripe is the one human touchpoint, because the law says so

The philosophy: capability should live in the tools, and safety should live in the architecture. We don't rely on the agent being well-behaved, well-prompted, or even competent. A confused agent, a bad prompt, or a compromised API key can waste your time — it cannot drain your Stripe balance, charge a buyer the wrong amount, or run a fake "ends at midnight!" timer that quietly resets. The worst case is bounded, and that bound is what makes handing over the keys sane rather than reckless.

Tax works the same way: checkouts calculate real tax via Stripe Tax on your registrations, with EU B2B reverse charge and NZ/AU GST handled, and compliant sequentially-numbered invoices generated automatically — the agent can't opt a checkout out of any of it.

Nothing in this post is tax or legal advice — talk to your accountant about where you're registered and what you owe.

When something else is the better choice

Straight up: if you want a visual drag-and-drop page builder with a big template library and you have no interest in agents operating your stack, ThriveCart and SamCart are mature, proven tools with long track records — and as of this writing, neither offers an MCP surface an agent can operate, which is exactly the axis we compete on. Likewise, if you'd rather a merchant of record handle global tax filing as the reseller of your products, tools like Paddle or Lemon Squeezy do that — the trade-off is that they sit between you and your customers, and their pricing reflects the service. We wrote up that trade-off in merchant of record vs. your own Stripe. gocushy's bet is narrower: your Stripe, your customers, and an AI that does the operating.

FAQ

Can Claude move or spend my money?

No. Payments settle directly in your own Stripe account through Stripe Connect — gocushy never holds your funds. The only money-adjacent tool is refund_order, and all it can do is return a buyer's own payment through Stripe. There is no tool that transfers funds anywhere else.

What happens if Claude gets a price wrong?

It cannot ship a mispriced checkout. Prices live server-side on the product record, so the amount a buyer is charged always comes from the server — never from anything an agent wrote onto a page. If a price is wrong, you fix the product once and every checkout linked to it is correct again.

Do I need to know how to code?

No. Setup is pasting one JSON snippet into Claude Desktop (or running one command in Claude Code) and connecting your Stripe account. From there, everything happens by describing what you want in plain English.

Does this work with ChatGPT and Cursor too?

Yes. The same gocushy account works with ChatGPT over our remote MCP endpoint, and with Cursor and other MCP clients via the same npx package. Anything that speaks MCP can operate your checkout — the ChatGPT guide covers that side.

What does gocushy cost?

Founding members pay $299/yr with 0% platform fees locked for life — limited to 200 seats, available only before public launch. After launch there's a Free plan with a 3% platform fee and a Pro plan at $79/mo with 0.5%. Stripe's own processing fees always apply on your account.

Founding member: fee-free for life

$299/yr locks in 0% platform fees forever — you pay only Stripe's standard rate. 200 seats — once they’re gone, so is the deal.

Get started Limited to 200 seats

Sam Bakker is the founder of gocushy. He's spent a decade building funnel software for creators, and is based in New Zealand.