Connectors · Accounting & finance
Stripe MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Stripe and the rest of your systems. It gives your agent 420 Stripe actions (198 reads, 161 writes and 61 that wait for a confirmation) and holds the Stripe credential itself, so the agent never does. It paces Stripe's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "stripe.account.get", intent: "check which Stripe account is connected"}# Get the Stripe account · read · 1 upstream call- 420actionsin one signed file
- 198readlook, never change
- 161writecreate and update
- 61wait for a yesdestructive, confirmed first
Set up
Connect Stripe in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Stripe.
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyStripe secret key (sk_live_… or sk_test_…)
account { op: "connections.requirements", service: "stripe" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "stripe.account.get" }# get the stripe account · read · 1 upstream callcheck { action: "stripe.invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Stripe at a glance
- Sign-in
- Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Limits we pace to
- 100 calls a second, per connection
- API covered
- Stripe API 1
api.stripe.com/v1 - Built from
- Stripe's documentation, read 8 September 2026docs.stripe.com
- Service file
- Version 2.0.0, signed (Ed25519)
- Cached reads
- 196 of 198 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 10 in the store
- Shared entities
- 8, so ask can line Stripe up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Stripe.
420 actions in 13 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 198readlook, never change
- 161writecreate and update
- 61destructivewait for a confirmation
Payments
8739 read · 35 write · 13 destructive
List Stripe charges · List Stripe payment intents · Create a Stripe charge · Create a Stripe payment intent
Billing
7934 read · 35 write · 10 destructive
List Stripe subscriptions · Create a Stripe subscription · Get one Stripe subscription · Migrate a Stripe subscription
Customers
4822 read · 18 write · 8 destructive
List Stripe customers · List Stripe subscriptions for a customer · Create a Stripe subscriptions · List Stripe balance transactions for a customer
Connect
4620 read · 18 write · 8 destructive
List Stripe application fees · Get one Stripe application fee · List Stripe external accounts for a connected account · Create a Stripe bank accounts
Invoicing
4620 read · 18 write · 8 destructive
List Stripe invoices · List Stripe credit notes · Create a Stripe invoice · Get one Stripe invoice
Treasury
3118 read · 8 write · 5 destructive
List Stripe balance transactions · List Stripe top-ups · Create a Stripe top-up · Get one Stripe balance transaction
Risk
2714 read · 9 write · 4 destructive
List Stripe disputes · Get one Stripe dispute · Update a Stripe dispute · Close a Stripe dispute
Tax
2414 read · 9 write · 1 destructive
List Stripe tax rates · Create a Stripe tax rate · Create from calculation a Stripe tax transaction · Create reversal a Stripe tax transaction
5 more areas · 32 actions
- Catalogue 14
- Events 7
- Reporting 5
- Files 4
- Auth 2
Stripe's own MCP server
Stripe's MCP server, or actionlake?
Stripe runs a remote MCP server at mcp.stripe.com, signed in with OAuth or an agent API key. Stripe asks a person to confirm some writes, such as refunds, through a link.
Use Stripe's server when one person wants to work in Stripe from their own AI client. Use actionlake when you also want Stripe behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Stripe and another system.
Source: Stripe's documentation, checked 22 October 2026.
Top actions
The Stripe API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 222 of Stripe's 236 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
stripe.invoices.listList Stripe invoices | List invoices in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.invoice.list101 connectors |
stripe.charges.listList Stripe charges | List charges in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.payment.list75 connectors |
stripe.subscriptions.listList Stripe subscriptions | List subscriptions in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.subscription.list37 connectors |
stripe.credit_notes.listList Stripe credit notes | List credit notes in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.credit_note.list33 connectors |
stripe.products.listList Stripe products | List products in cursor order, newest first. Paged; each page is one billed upstream call. | read | commerce.product.list112 connectors |
stripe.balance_transactions.listList Stripe balance transactions | List balance transactions in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.bank_transaction.list23 connectors |
stripe.payment_intents.listList Stripe payment intents | List payment intents in cursor order, newest first. Paged; each page is one billed upstream call. | read | finance.payment.list75 connectors |
stripe.invoices.createCreate a Stripe invoice | Create an invoice in the connected Stripe account. | write | finance.invoice.create74 connectors |
stripe.customers.listList Stripe customers | List customers in cursor order, newest first. Paged; each page is one billed upstream call. | read | commerce.customer.list45 connectors |
stripe.charges.createCreate a Stripe charge | Create a charge in the connected Stripe account. | destructive | finance.payment.create67 connectors |
stripe.credit_notes.createCreate a Stripe credit note | Create a credit note in the connected Stripe account. | write | finance.credit_note.create29 connectors |
stripe.products.createCreate a Stripe product | Create a product in the connected Stripe account. | write | commerce.product.create92 connectors |
Try it
Prompts to paste into Claude.
Each one names the Stripe actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Stripe invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
stripe.invoices.list - Planwrite
Kick off and collect a monthly revenue report in Stripe.
calls
stripe.balance.getstripe.report_types.getstripe.report_runs.createstripe.report_runs.liststripe.charges.list+1 more - Planwrite
Create a promotion code and attach it to a payment link in Stripe.
calls
stripe.coupons.liststripe.promotion_codes.createstripe.payment_links.getstripe.payment_links.updatestripe.promotion_codes.get - Writewrite
Create a Stripe invoice in Stripe. Show me exactly what you will send before you save it.
calls
stripe.invoices.create - Across systemsread
For each customer, how many invoices are in Stripe and how many tickets in ConnectWise PSA?
calls
stripe.invoices.listconnectwise_manage.tickets.list
Across your systems
Stripe, joined to the rest of your business.
One ask fetches from Stripe and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
For each customer, how many invoices are in Stripe and how many tickets in ConnectWise PSA?
stripe.invoices.list+connectwise_manage.tickets.list, oncrm.company· ConnectWise PSAFor each customer, how many invoices are in Stripe and how many tickets in HubSpot CRM?
stripe.invoices.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
commerce.product 109finance.invoice 91platform.tenant 67finance.payment 53commerce.customer 51finance.credit_note 28finance.subscription 24finance.bank_transaction 12ask { intent: "for each customer, how many invoices are in Stripe and how many tickets in ConnectWise PSA", steps: [ { action: "stripe.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 }, { join: { left: "inv", right: "tix", on: "crm.company", group_by: "inv.company_name", select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"] } } ]}The plan store
Ready-made plans for Stripe.
10 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Triage open disputes and their charges
Use it when You want a single summary of the disputes currently open before deciding which ones to contest.
Chase unpaid invoices and retry payment
Use it when Month end collections: several invoices are open past their due date and you want a single pass of reminders sent.
Preview and issue a credit note
Use it when A customer was overbilled on an invoice and you need to credit them with a sign-off on the amount.
A person decides
Credit credit amount against invoice invoice with reason reason.
Create a Connect account and send onboarding link
Use it when A new marketplace seller or partner needs a Connect account set up and walked through onboarding.
Create a promotion code and attach it to a payment link
Use it when Marketing wants a discount code live on an existing payment link with a redemption limit.
Kick off and collect a monthly revenue report
Use it when Finance wants the month's revenue numbers pulled from Stripe rather than eyeballed in the dashboard.
Finalize a quote and accept it once approved
Use it when Sales has a draft quote ready and needs it finalized and accepted once someone signs off on the pricing.
A person decides
Accept quote quote totalling amount total and start billing the customer.
Expire abandoned checkout sessions
Use it when Abandoned carts are holding open checkout sessions and you want them released in one sweep.
A person decides
Expire number of candidates abandoned checkout sessions, releasing their reservations.
Cancel a subscription after approval
Use it when A customer has asked to cancel and somebody needs to confirm the churn before the subscription is ended.
A person decides
Cancel subscription subscription for email and issue a final prorated invoice.
Refund a charge after human approval
Use it when A customer has asked for their money back on one specific charge and a human must sign off before the refund goes out.
A person decides
Refund amount on charge charge for reason reason.
account { op: "plans.install", slug: "stripe-dispute-triage-report" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Stripe
Destructive actions wait for a yes.
61 Stripe actions are destructive. The first 10:
- Create a Stripe charge
stripe.charges.create - Create a Stripe payment intent
stripe.payment_intents.create - Confirm a Stripe payment intent
stripe.payment_intents.confirm - Delete a Stripe invoice
stripe.invoices.delete - Void a Stripe invoice
stripe.invoices.void - Delete a Stripe product
stripe.products.delete - Delete a Stripe subscription
stripe.subscriptions.delete - Delete a Stripe subscriptions
stripe.customers.subscriptions_delete - Void a Stripe credit note
stripe.credit_notes.void - Delete a Stripe customer
stripe.customers.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a Stripe invoice?
intent: the user asked me to delete a Stripe invoice
account { op: "keys.create", name: "stripe-agent", allowed_actions: ["stripe.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "stripe.charges.create", approver: "[email protected]" }, { match: "stripe.payment_intents.create", approver: "[email protected]" }, { match: "stripe.payment_intents.confirm", approver: "[email protected]" } ]}Cost
What Stripe costs on actionlake.
Every Stripe action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Stripe refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 420 Stripe actions
- 98actions pageeach page of a long list is one call
- 196reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Stripe action.
420 actions by area: the id your agent calls, what it does, and its effect.
Payments87
stripe.charges.createCreate a Stripe chargedestructivestripe.charges.listList Stripe chargesreadstripe.payment_intents.createCreate a Stripe payment intentdestructivestripe.payment_intents.listList Stripe payment intentsreadstripe.charges.captureCapture a Stripe chargedestructivestripe.charges.dispute_closeClose a Stripe disputewrite- and 81 more in this area
Billing79
stripe.subscriptions.createCreate a Stripe subscriptionwritestripe.subscriptions.getGet one Stripe subscriptionreadstripe.subscriptions.listList Stripe subscriptionsreadstripe.subscriptions.migrateMigrate a Stripe subscriptionwritestripe.active_entitlements.getGet one Stripe active entitlementreadstripe.active_entitlements.listList Stripe active entitlementsread- and 73 more in this area
Customers48
stripe.customers.balance_transactions_listList Stripe balance transactions for a customerreadstripe.customers.listList Stripe customersreadstripe.customers.subscriptions_createCreate a Stripe subscriptionswritestripe.customers.subscriptions_listList Stripe subscriptions for a customerreadstripe.customer_sessions.createCreate a Stripe customer sessionwritestripe.customers.balance_transactions_createCreate a Stripe balance transactionswrite- and 42 more in this area
Connect46
stripe.accounts.bank_accounts_createCreate a Stripe bank accountswritestripe.accounts.external_accounts_listList Stripe external accounts for a connected accountreadstripe.application_fees.getGet one Stripe application feereadstripe.application_fees.listList Stripe application feesreadstripe.account.getGet the Stripe accountreadstripe.account_links.createCreate a Stripe account linkwrite- and 40 more in this area
Invoicing46
stripe.credit_notes.listList Stripe credit notesreadstripe.invoices.createCreate a Stripe invoicewritestripe.invoices.getGet one Stripe invoicereadstripe.invoices.listList Stripe invoicesreadstripe.credit_notes.createCreate a Stripe credit notewritestripe.credit_notes.getGet one Stripe credit noteread- and 40 more in this area
Treasury31
stripe.balance_transactions.getGet one Stripe balance transactionreadstripe.balance_transactions.listList Stripe balance transactionsreadstripe.topups.createCreate a Stripe top-upwritestripe.topups.listList Stripe top-upsreadstripe.balance.getGet the Stripe balancereadstripe.balance.history_getGet one Stripe historyread- and 25 more in this area
Risk27
stripe.disputes.closeClose a Stripe disputewritestripe.disputes.getGet one Stripe disputereadstripe.disputes.listList Stripe disputesreadstripe.disputes.updateUpdate a Stripe disputewritestripe.early_fraud_warnings.getGet one Stripe early fraud warningreadstripe.early_fraud_warnings.listList Stripe early fraud warningsread- and 21 more in this area
Tax24
stripe.tax_rates.createCreate a Stripe tax ratewritestripe.tax_rates.listList Stripe tax ratesreadstripe.tax_transactions.create_from_calculationCreate from calculation a Stripe tax transactionwritestripe.tax_transactions.create_reversalCreate reversal a Stripe tax transactionwritestripe.tax_associations.findFind a Stripe tax associationreadstripe.tax_calculations.createCreate a Stripe tax calculationwrite- and 18 more in this area
Catalogue14
stripe.products.createCreate a Stripe productwritestripe.products.getGet one Stripe productreadstripe.products.listList Stripe productsreadstripe.products.updateUpdate a Stripe productwritestripe.products.deleteDelete a Stripe productdestructivestripe.products.features_createCreate a Stripe featureswrite- and 8 more in this area
Events7
stripe.webhook_endpoints.createCreate a Stripe webhook endpointwritestripe.webhook_endpoints.getGet one Stripe webhook endpointreadstripe.webhook_endpoints.listList Stripe webhook endpointsreadstripe.webhook_endpoints.updateUpdate a Stripe webhook endpointwritestripe.events.getGet one Stripe eventreadstripe.events.listList Stripe eventsread- and 1 more in this area
Reporting5
stripe.report_runs.getGet one Stripe report runreadstripe.report_runs.listList Stripe report runsreadstripe.report_types.getGet one Stripe report typereadstripe.report_types.listList Stripe report typesreadstripe.report_runs.createCreate a Stripe report runwrite
Files4
stripe.file_links.createCreate a Stripe file linkwritestripe.file_links.getGet one Stripe file linkreadstripe.file_links.listList Stripe file linksreadstripe.file_links.updateUpdate a Stripe file linkwrite
Auth2
stripe.ephemeral_keys.createCreate a Stripe ephemeral keywritestripe.ephemeral_keys.deleteDelete a Stripe ephemeral keydestructive
This index shows a sample of each area. All 420 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Stripe MCP server, answered.
Is there a Stripe MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 420 Stripe actions across payments, billing, customers and connect, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Stripe.
Does Stripe have its own MCP server?
Stripe runs a remote MCP server at mcp.stripe.com, signed in with OAuth or an agent API key. Stripe asks a person to confirm some writes, such as refunds, through a link. (Stripe's documentation, checked 22 October 2026.) Use Stripe's server when one person wants to work in Stripe from their own AI client. Use actionlake when you also want Stripe behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Stripe and another system.
What do I need to connect Stripe?
Stripe secret key (sk_live_… or sk_test_…). The free call account { op: "connections.requirements", service: "stripe" } lists exactly what to paste.
Can an AI agent delete or change things in Stripe?
Only if its key allows it, and only with an explicit confirmation. 61 Stripe actions are destructive, including create a Stripe charge, create a Stripe payment intent and confirm a Stripe payment intent. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Stripe API limit?
actionlake paces every call to the limits in the Stripe service file: 100 calls a second per connection. Repeated reads are answered from cache (196 Stripe actions can be), which never reaches Stripe.
What does a Stripe action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (98 Stripe actions page). Cache hits, searches, dry runs and calls Stripe refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Stripe API does it cover?
The Stripe API 1 at api.stripe.com/v1. It is built from Stripe's documentation as read on 8 September 2026. 420 actions in 13 areas, each one in the signed service file (version 2.0.0).
Can I combine Stripe with my other systems?
Yes. ask joins Stripe to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Stripe maps finance.invoice, which 91 other connectors also map.
Does actionlake keep my Stripe data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Stripe credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Stripe today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.