MCP Server
Connect SparkPay to Claude and manage your pricing by asking for it. Check revenue, look up customers, run a sale, or set up a whole pricing page in a guided flow.
Connect it
Two minutes, once. Your key is the same admin secret you already use.
In Claude Desktop, open Settings → Connectors → Add custom connector and paste the endpoint below. When it asks for a token, give it your SparkPay secret as a Bearer token.
Endpoint
https://sparkpay.dev/api/mcp/mcp
For Claude Code, or any client that speaks local stdio, bridge to it with mcp-remote:
claude_desktop_config.json
{"mcpServers": {"spark-pay": {"command": "npx","args": ["-y", "mcp-remote","https://sparkpay.dev/api/mcp/mcp","--header", "Authorization: Bearer YOUR_SECRET"]}}}
Just ask
No commands to memorise. Plain questions work.
Set up a pricing page
One request walks you through pricing, discounts, branding and content.
Ask for it in plain words, or name the tool directly:
In Claude Desktop
Set up the pricing page for my-app as a $299 lifetime plan
It moves through six stages, showing you a form at each one:
One form per stage. Each stage saves on its own, then hands you the next one. Skip any stage you do not need.
| Stage | It asks you for | What it does |
|---|---|---|
| Overview | nothing, it just reads | Reads your current plans, coupons and branding, then recommends prices. |
| Plans | Billing model, price, plan name, badge, free tier? | Mints the new Stripe price and sets the card badge. |
| Coupon | Code, percent, expiry, public or private | Suggests a seasonal code and creates it. |
| Branding | Domain, theme colour, card style | Pulls your favicon and offers colours drawn from it. |
| Content | FAQ items, testimonials, section toggles | Writes both sections onto the page. |
| Finish | nothing, it just reads | Shows the final page and what to do next. |
Every stage opens a form like this. Whatever you type wins, so the suggested numbers are only ever a head start:
The values you enter here are what gets saved. The suggestions are only a starting point.
What it can and cannot do
Money-moving actions are deliberately fenced off.
- Read revenue, customers, payments and plans
- Change prices and plan badges, with your approval
- Create and retire discount codes
- Set your page theme, FAQ and testimonials
- Issue a refund
- Cancel anyone's subscription
- Change a price without you typing the number
- Touch an app you did not name
Desktop vs Claude Code
Approval forms need a client that can show them.
Reading works everywhere. Saving a change needs a client that can render an approval form, which today means Claude Desktop. From Claude Code you can still preview any change by asking for a dry run.
| Action | Claude Desktop | Claude Code |
|---|---|---|
| Read anything | Yes | Yes |
| Preview a change (dry run) | Yes | Yes |
| Save a change | Yes | No |
Everything it can reach
You never type these names; Claude picks the right one.
After you change pricing
One command in your app repo keeps its copy in sync.
Your app keeps a local copy of its plans so it can gate features without a network call. After a price or limit change, refresh it:
In your app repo
bun run plans:sync
Ready to ship?
Add Stripe payments to your app in minutes. $99, one-time purchase.