Skip to content

Stripe MCP server with Atomic Agent

Stripe hosts an official MCP server at https://mcp.stripe.com. It lets an agent search the Stripe API, read and write Stripe objects, query analytics and search Stripe’s documentation. Atomic Agent connects to it with a Stripe agent API key sent as a bearer header. Source: docs.stripe.com/mcp.

Config

{
"name": "stripe",
"description": "Stripe API and docs (sandbox)",
"transport": {
"kind": "streamable_http",
"url": "https://mcp.stripe.com",
"headers": { "Authorization": "Bearer YOUR_AGENT_API_KEY" }
}
}

Create an agent API key in the Stripe Dashboard with only the permissions the agent needs; Stripe marks these keys with an Agent badge. Paste the real value: Atomic Agent sends headers exactly as written and does not expand ${VAR} or {{VAR}}.

Where to add it:

  • Desktop app: Settings › Connections › MCP servers › Add server, paste the object, press ⌘Enter (Ctrl+Enter on Windows and Linux), then Restart on the new row.
  • Terminal UI: /mcp add, paste the object. It connects right away.
  • By hand: add the object to mcp.servers in ~/.atomic-agent/config.json and restart the agent.

If you run a Connect platform, Stripe also accepts a Stripe-Account: acct_... header to act on one connected account. Add it next to Authorization in headers.

What to ask the agent

Tools arrive as mcp.stripe.<tool> (for example mcp.stripe.stripe_api_read and mcp.stripe.search_stripe_documentation). Some prompts that work well:

  • “In the sandbox, list the last 20 failed payments with their decline codes and group them by code.”
  • “Find the customer with email [email protected] and show their active subscriptions and next invoice date.”
  • “Read our checkout.ts and check it against Stripe’s docs for Payment Intents. List anything that uses a deprecated parameter.”
  • “Create a test product called Pro Plan with a monthly price of 20 USD in the sandbox.”

The third prompt is the most useful pattern for developers: Stripe’s documentation search plus the agent’s own access to your code.

Tokens and approvals

  • Where the key lives. In the header in ~/.atomic-agent/config.json, in plain text. The agent writes that file with owner-only permissions (0600) on macOS and Linux. A live Stripe key there is as sensitive as anywhere else; prefer a sandbox key, and scope a live one tightly.
  • Why an agent API key, not OAuth. Stripe recommends OAuth for interactive clients, and Atomic Agent does not run the MCP OAuth flow. Stripe documents agent API keys for clients that cannot.
  • Two approval layers. In Atomic Agent every Stripe tool not marked read-only by the server asks before it runs, so writes such as creating a refund wait for your approval (unless you run at approval level 5, which you should not with this server). On top of that, Stripe itself requires a human confirmation link for some stripe_api_write actions, such as refunds and outbound payments.
  • Never mark this server pure_read. That would let every Stripe tool run without asking, including write tools.
  • In the TUI, Ctrl+Y approves one call. Ctrl+F allows the whole category for the rest of the session, which here can include money-moving calls.

Troubleshooting

401 with an OAuth challenge. The key is not an agent API key, or it is a placeholder. Create an agent key and paste the literal value.

The agent picks the wrong tool or loops. The server exposes broad tools (stripe_api_read, stripe_api_write) plus API search. On small local models, ask in two steps: first “find the Stripe API method for X”, then “call it with Y”.

Big lists look cut off. Tool results reach the model capped at about 8,000 characters. Ask for fewer objects per call.

Managed device or corporate network. Stripe notes that IT policy can block external MCP servers. Ask for mcp.stripe.com to be allowed.

FAQ

Is this the official Stripe MCP server?

Yes. mcp.stripe.com is hosted by Stripe and documented at docs.stripe.com/mcp.

Can I keep the key out of config.json?

Not with this hosted server. HTTP headers in Atomic Agent are literal and there is no variable expansion. Stdio servers can read keys from ~/.atomic-agent/.env, but Stripe documents only the hosted server today.

Does it work with a local model?

Yes. Stripe runs the server; the model that chooses tools can be local or a cloud provider. Customer data that tools return goes into that model’s prompt.


Checked on 22 Oct 2026 against Atomic Agent v0.6.10 and Desktop v0.0.4, and docs.stripe.com/mcp.

Get updates by email

One email when a new version comes out.