Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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 1api.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
  1. Payments

    87

    39 read · 35 write · 13 destructive

    List Stripe charges · List Stripe payment intents · Create a Stripe charge · Create a Stripe payment intent

  2. Billing

    79

    34 read · 35 write · 10 destructive

    List Stripe subscriptions · Create a Stripe subscription · Get one Stripe subscription · Migrate a Stripe subscription

  3. Customers

    48

    22 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

  4. Connect

    46

    20 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

  5. Invoicing

    46

    20 read · 18 write · 8 destructive

    List Stripe invoices · List Stripe credit notes · Create a Stripe invoice · Get one Stripe invoice

  6. Treasury

    31

    18 read · 8 write · 5 destructive

    List Stripe balance transactions · List Stripe top-ups · Create a Stripe top-up · Get one Stripe balance transaction

  7. Risk

    27

    14 read · 9 write · 4 destructive

    List Stripe disputes · Get one Stripe dispute · Update a Stripe dispute · Close a Stripe dispute

  8. Tax

    24

    14 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.

ActionWhat it doesEffectSame name in
stripe.invoices.listList Stripe invoicesList invoices in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.invoice.list101 connectors
stripe.charges.listList Stripe chargesList charges in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.payment.list75 connectors
stripe.subscriptions.listList Stripe subscriptionsList subscriptions in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.subscription.list37 connectors
stripe.credit_notes.listList Stripe credit notesList credit notes in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.credit_note.list33 connectors
stripe.products.listList Stripe productsList products in cursor order, newest first. Paged; each page is one billed upstream call.readcommerce.product.list112 connectors
stripe.balance_transactions.listList Stripe balance transactionsList balance transactions in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.bank_transaction.list23 connectors
stripe.payment_intents.listList Stripe payment intentsList payment intents in cursor order, newest first. Paged; each page is one billed upstream call.readfinance.payment.list75 connectors
stripe.invoices.createCreate a Stripe invoiceCreate an invoice in the connected Stripe account.writefinance.invoice.create74 connectors
stripe.customers.listList Stripe customersList customers in cursor order, newest first. Paged; each page is one billed upstream call.readcommerce.customer.list45 connectors
stripe.charges.createCreate a Stripe chargeCreate a charge in the connected Stripe account.destructivefinance.payment.create67 connectors
stripe.credit_notes.createCreate a Stripe credit noteCreate a credit note in the connected Stripe account.writefinance.credit_note.create29 connectors
stripe.products.createCreate a Stripe productCreate a product in the connected Stripe account.writecommerce.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.

  1. Readread

    Which Stripe invoices are more than 30 days overdue? Group them by customer with the total owed.

    callsstripe.invoices.list

  2. Planwrite

    Kick off and collect a monthly revenue report in Stripe.

    callsstripe.balance.getstripe.report_types.getstripe.report_runs.createstripe.report_runs.liststripe.charges.list+1 more

  3. Planwrite

    Create a promotion code and attach it to a payment link in Stripe.

    callsstripe.coupons.liststripe.promotion_codes.createstripe.payment_links.getstripe.payment_links.updatestripe.promotion_codes.get

  4. Writewrite

    Create a Stripe invoice in Stripe. Show me exactly what you will send before you save it.

    callsstripe.invoices.create

  5. Across systemsread

    For each customer, how many invoices are in Stripe and how many tickets in ConnectWise PSA?

    callsstripe.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, on crm.company · ConnectWise PSA

  • For each customer, how many invoices are in Stripe and how many tickets in HubSpot CRM?

    stripe.invoices.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorscommerce.product 109finance.invoice 91platform.tenant 67finance.payment 53commerce.customer 51finance.credit_note 28finance.subscription 24finance.bank_transaction 12
ask
ask {  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"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

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.

  1. 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.

    Effect
    read
    Steps
    4 · loops
    Needs
    created
    Install
    stripe-dispute-triage-report
  2. 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.

    Effect
    write
    Steps
    3 · loops
    Needs
    query
    Install
    stripe-dunning-past-due-invoices
  3. 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 decidesCredit credit amount against invoice invoice with reason reason.

    Effect
    write
    Steps
    4
    Needs
    credit amount, invoice, memo and reason
    Install
    stripe-issue-credit-note-for-invoice
  4. 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.

    Effect
    write
    Steps
    4
    Needs
    country, email, refresh url and return url
    Install
    stripe-onboard-connect-account
  5. 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.

    Effect
    write
    Steps
    5
    Needs
    code, expires at, max redemptions and payment link
    Install
    stripe-launch-promo-campaign
  6. 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.

    Effect
    write
    Steps
    6
    Needs
    created and report type
    Install
    stripe-monthly-revenue-report
  7. 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 decidesAccept quote quote totalling amount total and start billing the customer.

    Effect
    write
    Steps
    6
    Needs
    expires at and quote
    Install
    stripe-quote-to-signed-deal
  8. Expire abandoned checkout sessions

    Use it when Abandoned carts are holding open checkout sessions and you want them released in one sweep.

    A person decidesExpire number of candidates abandoned checkout sessions, releasing their reservations.

    Effect
    destructive
    Steps
    3 · loops
    Needs
    sessions
    Install
    stripe-expire-stale-checkout-sessions
  9. 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 decidesCancel subscription subscription for email and issue a final prorated invoice.

    Effect
    destructive
    Steps
    5
    Needs
    customer and subscription
    Install
    stripe-cancel-subscription-with-approval
  10. 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 decidesRefund amount on charge charge for reason reason.

    Effect
    destructive
    Steps
    5
    Needs
    amount, charge and reason
    Install
    stripe-refund-charge-with-approval
install a plan
account { op: "plans.install", slug: "stripe-dispute-triage-report" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Stripe

Destructive actions wait for a yes.

61 Stripe actions are destructive. The first 10:

  • Create a Stripe chargestripe.charges.create
  • Create a Stripe payment intentstripe.payment_intents.create
  • Confirm a Stripe payment intentstripe.payment_intents.confirm
  • Delete a Stripe invoicestripe.invoices.delete
  • Void a Stripe invoicestripe.invoices.void
  • Delete a Stripe productstripe.products.delete
  • Delete a Stripe subscriptionstripe.subscriptions.delete
  • Delete a Stripe subscriptionsstripe.customers.subscriptions_delete
  • Void a Stripe credit notestripe.credit_notes.void
  • Delete a Stripe customerstripe.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.

dostripe.invoices.deleteconfirm_policy: human

Delete a Stripe invoice?

intent: the user asked me to delete a Stripe invoice

run suspended · waiting for a named person · key stripe-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to Stripe only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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 chargedestructive
  • stripe.charges.listList Stripe chargesread
  • stripe.payment_intents.createCreate a Stripe payment intentdestructive
  • stripe.payment_intents.listList Stripe payment intentsread
  • stripe.charges.captureCapture a Stripe chargedestructive
  • stripe.charges.dispute_closeClose a Stripe disputewrite
  • and 81 more in this area
Billing79
  • stripe.subscriptions.createCreate a Stripe subscriptionwrite
  • stripe.subscriptions.getGet one Stripe subscriptionread
  • stripe.subscriptions.listList Stripe subscriptionsread
  • stripe.subscriptions.migrateMigrate a Stripe subscriptionwrite
  • stripe.active_entitlements.getGet one Stripe active entitlementread
  • stripe.active_entitlements.listList Stripe active entitlementsread
  • and 73 more in this area
Customers48
  • stripe.customers.balance_transactions_listList Stripe balance transactions for a customerread
  • stripe.customers.listList Stripe customersread
  • stripe.customers.subscriptions_createCreate a Stripe subscriptionswrite
  • stripe.customers.subscriptions_listList Stripe subscriptions for a customerread
  • stripe.customer_sessions.createCreate a Stripe customer sessionwrite
  • stripe.customers.balance_transactions_createCreate a Stripe balance transactionswrite
  • and 42 more in this area
Connect46
  • stripe.accounts.bank_accounts_createCreate a Stripe bank accountswrite
  • stripe.accounts.external_accounts_listList Stripe external accounts for a connected accountread
  • stripe.application_fees.getGet one Stripe application feeread
  • stripe.application_fees.listList Stripe application feesread
  • stripe.account.getGet the Stripe accountread
  • stripe.account_links.createCreate a Stripe account linkwrite
  • and 40 more in this area
Invoicing46
  • stripe.credit_notes.listList Stripe credit notesread
  • stripe.invoices.createCreate a Stripe invoicewrite
  • stripe.invoices.getGet one Stripe invoiceread
  • stripe.invoices.listList Stripe invoicesread
  • stripe.credit_notes.createCreate a Stripe credit notewrite
  • stripe.credit_notes.getGet one Stripe credit noteread
  • and 40 more in this area
Treasury31
  • stripe.balance_transactions.getGet one Stripe balance transactionread
  • stripe.balance_transactions.listList Stripe balance transactionsread
  • stripe.topups.createCreate a Stripe top-upwrite
  • stripe.topups.listList Stripe top-upsread
  • stripe.balance.getGet the Stripe balanceread
  • stripe.balance.history_getGet one Stripe historyread
  • and 25 more in this area
Risk27
  • stripe.disputes.closeClose a Stripe disputewrite
  • stripe.disputes.getGet one Stripe disputeread
  • stripe.disputes.listList Stripe disputesread
  • stripe.disputes.updateUpdate a Stripe disputewrite
  • stripe.early_fraud_warnings.getGet one Stripe early fraud warningread
  • stripe.early_fraud_warnings.listList Stripe early fraud warningsread
  • and 21 more in this area
Tax24
  • stripe.tax_rates.createCreate a Stripe tax ratewrite
  • stripe.tax_rates.listList Stripe tax ratesread
  • stripe.tax_transactions.create_from_calculationCreate from calculation a Stripe tax transactionwrite
  • stripe.tax_transactions.create_reversalCreate reversal a Stripe tax transactionwrite
  • stripe.tax_associations.findFind a Stripe tax associationread
  • stripe.tax_calculations.createCreate a Stripe tax calculationwrite
  • and 18 more in this area
Catalogue14
  • stripe.products.createCreate a Stripe productwrite
  • stripe.products.getGet one Stripe productread
  • stripe.products.listList Stripe productsread
  • stripe.products.updateUpdate a Stripe productwrite
  • stripe.products.deleteDelete a Stripe productdestructive
  • stripe.products.features_createCreate a Stripe featureswrite
  • and 8 more in this area
Events7
  • stripe.webhook_endpoints.createCreate a Stripe webhook endpointwrite
  • stripe.webhook_endpoints.getGet one Stripe webhook endpointread
  • stripe.webhook_endpoints.listList Stripe webhook endpointsread
  • stripe.webhook_endpoints.updateUpdate a Stripe webhook endpointwrite
  • stripe.events.getGet one Stripe eventread
  • stripe.events.listList Stripe eventsread
  • and 1 more in this area
Reporting5
  • stripe.report_runs.getGet one Stripe report runread
  • stripe.report_runs.listList Stripe report runsread
  • stripe.report_types.getGet one Stripe report typeread
  • stripe.report_types.listList Stripe report typesread
  • stripe.report_runs.createCreate a Stripe report runwrite
Files4
  • stripe.file_links.createCreate a Stripe file linkwrite
  • stripe.file_links.getGet one Stripe file linkread
  • stripe.file_links.listList Stripe file linksread
  • stripe.file_links.updateUpdate a Stripe file linkwrite
Auth2
  • stripe.ephemeral_keys.createCreate a Stripe ephemeral keywrite
  • stripe.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.