Connectors · Accounting & finance
Braintree MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Braintree and the rest of your systems. It gives your agent 157 Braintree actions (46 reads, 73 writes and 38 that wait for a confirmation) and holds the Braintree credential itself, so the agent never does. It paces Braintree'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: "braintree.apple_pay.list_registered_domains", intent: "check which Braintree account is connected"}# List registered Apple Pay domains · read · 1 upstream call- 157actionsin one signed file
- 46readlook, never change
- 73writecreate and update
- 38wait for a yesdestructive, confirmed first
Set up
Connect Braintree 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 Braintree.
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.
public_keyBraintree API public key (Control Panel > Settings > API > API Keys)private_keyBraintree API private key paired with the public keyhostWhere your Braintree lives: your host
account { op: "connections.requirements", service: "braintree" } # 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: "braintree.apple_pay.list_registered_domains" }# list registered apple pay domains · read · 1 upstream callcheck { action: "braintree.customers.create_customer", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Braintree 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
public_keyprivate_key- Setup fields
host- Limits we pace to
- 20 calls a second, per connection
- API covered
- Braintree GraphQL API (Braintree-Version 2025-01-01)
payments.braintree-api.com - Built from
- Braintree's documentation, read 23 October 2026graphql.braintreepayments.comGitHub
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 46 of 46 reads, for up to an hour; a write clears what it affects
- Shared entities
- 3, so ask can line Braintree up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Braintree.
157 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.
- 46readlook, never change
- 73writecreate and update
- 38destructivewait for a confirmation
Braintree
15746 read · 73 write · 38 destructive
Get a transaction · Search transactions · Search refunds · Create customer
Top actions
The Braintree API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 21 of Braintree's 23 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
braintree.transactions.getGet a transaction | Get one transaction by its global id. | read | finance.payment.get80 connectors |
braintree.transactions.searchSearch transactions | A paginated list of transactions that match the TransactionSearchInput. | read | finance.payment.search4 connectors |
braintree.refunds.searchSearch refunds | A paginated list of refunds that match the RefundSearchInput. | read | finance.refund.query2 connectors |
braintree.customers.create_customerCreate customer | Create a customer for storing individual customer information and/or grouping transactions and multi-use payment methods. | write | commerce.customer.create43 connectors |
braintree.refunds.getGet a refund | Get one refund by its global id. | read | finance.refund.get25 connectors |
braintree.customers.searchSearch customers | A paginated list of customers that match the CustomerSearchInput. | read | commerce.customer.search3 connectors |
braintree.subscriptions.create_recurring_billing_subscriptionCreate recurring billing subscription | Creates a new recurring billing subscription. | write | finance.subscription.create27 connectors |
braintree.transactions.void_transactionVoid transaction | Void a transaction and return a payload that includes details of the voided transaction. | destructive | finance.payment.void10 connectors |
braintree.payment_methods.vault_payment_methodVault payment method | Vault payment information from a single-use payment method and return a payload that includes a new multi-use payment method. | write | finance.payment_method.create20 connectors |
braintree.subscriptions.getGet a recurring billing subscription | Get one recurring billing subscription by its global id. | read | finance.subscription.get33 connectors |
braintree.payment_methods.getGet a payment method | Get one payment method by its global id. | read | finance.payment_method.get23 connectors |
braintree.viewer.getGet the authenticated user and merchant | The currently authenticated viewer. | read | identity.current_user.get307 connectors |
Try it
Prompts to paste into Claude.
Each one names the Braintree actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List the payments recorded in Braintree this month, largest first.
calls
braintree.transactions.search - Writewrite
Create customer in Braintree. Show me exactly what you will send before you save it.
calls
braintree.customers.create_customer
Governance for Braintree
Destructive actions wait for a yes.
38 Braintree actions are destructive. The first 10:
- Void transaction
braintree.transactions.void_transaction - Delete customer
braintree.customers.delete_customer - Capture transaction
braintree.transactions.capture_transaction - Delete payment method from vault
braintree.payment_methods.delete_payment_method_from_vault - Cancel recurring billing subscription
braintree.subscriptions.cancel_recurring_billing_subscription - Refund credit card
braintree.refunds.refund_credit_card - Refund us bank account
braintree.refunds.refund_us_bank_account - Charge credit card
braintree.transactions.charge_credit_card - Refund transaction
braintree.transactions.refund_transaction - Tokenize apple pay card
braintree.apple_pay.tokenize_apple_pay_card
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.
Void transaction?
intent: the user asked me to void transaction
account { op: "keys.create", name: "braintree-agent", allowed_actions: ["braintree.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "braintree.transactions.void_transaction", approver: "[email protected]" }, { match: "braintree.customers.delete_customer", approver: "[email protected]" }, { match: "braintree.transactions.capture_transaction", approver: "[email protected]" } ]}Cost
What Braintree costs on actionlake.
Every Braintree action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Braintree 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 157 Braintree actions
- 157actions pageeach page of a long list is one call
- 46reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Braintree action.
157 actions by area: the id your agent calls, what it does, and its effect.
Braintree157
braintree.access_tokens.create_client_tokenCreate client tokenwritebraintree.access_tokens.create_universal_access_tokenCreate universal access tokenwritebraintree.api.pingPing the APIreadbraintree.apple_pay.create_apple_pay_web_sessionCreate apple pay web sessionwritebraintree.apple_pay.list_registered_domainsList registered Apple Pay domainsreadbraintree.apple_pay.register_apple_pay_domainsRegister apple pay domainsdestructivebraintree.apple_pay.tokenize_apple_pay_cardTokenize apple pay carddestructivebraintree.apple_pay.unregister_apple_pay_domainUnregister apple pay domaindestructivebraintree.business_account_creation_requests.getGet a business account creation requestreadbraintree.business_account_creation_requests.searchSearch business account creation requestsreadbraintree.client_configuration.getGet client configurationreadbraintree.custom_actions.getGet a custom actions payment contextreadbraintree.customers.create_customerCreate customerwritebraintree.customers.delete_customerDelete customerdestructivebraintree.customers.getGet a customerreadbraintree.customers.list_payment_methodsList a customer's vaulted payment methodsreadbraintree.customers.list_transactionsList a customer's transactionsreadbraintree.customers.searchSearch customersreadbraintree.customers.update_customerUpdate customerwritebraintree.disputes.accept_disputeAccept disputewritebraintree.disputes.create_dispute_text_evidenceCreate dispute text evidencewritebraintree.disputes.delete_dispute_evidenceDelete dispute evidencedestructivebraintree.disputes.finalize_disputeFinalize disputewritebraintree.disputes.getGet a disputereadbraintree.disputes.searchSearch disputesreadbraintree.disputes.submit_dispute_feedbackSubmit dispute feedbackwritebraintree.exchange_rates.generate_exchange_rate_quoteGenerate exchange rate quotewritebraintree.ids.from_legacy_idsConvert legacy ids to global idsreadbraintree.in_store_contexts.getGet an in store contextreadbraintree.in_store_locations.create_in_store_locationCreate in store locationwritebraintree.in_store_locations.delete_in_store_locationDelete in store locationdestructivebraintree.in_store_locations.getGet an in store locationreadbraintree.in_store_locations.listList in store locationsreadbraintree.in_store_locations.searchSearch in store locationsreadbraintree.in_store_locations.update_in_store_locationUpdate in store locationwritebraintree.in_store_readers.getGet an in store readerreadbraintree.in_store_readers.pair_in_store_readerPair in store readerwritebraintree.in_store_readers.pingPing an in-store readerreadbraintree.in_store_readers.request_amount_prompt_from_in_store_readerRequest amount prompt from in store readerwritebraintree.in_store_readers.request_authorize_from_in_store_readerRequest authorize from in store readerwritebraintree.in_store_readers.request_cancel_from_in_store_readerRequest cancel from in store readerwritebraintree.in_store_readers.request_charge_from_in_store_readerRequest charge from in store readerdestructivebraintree.in_store_readers.request_confirmation_prompt_from_in_store_readerRequest confirmation prompt from in store readerwritebraintree.in_store_readers.request_firmware_update_from_in_store_readerRequest firmware update from in store readerwritebraintree.in_store_readers.request_item_display_from_in_store_readerRequest item display from in store readerwritebraintree.in_store_readers.request_multi_choice_single_select_prompt_from_in_store_readerRequest multi choice single select prompt from in store readerwritebraintree.in_store_readers.request_non_pci_card_data_from_in_store_readerRequest non pci card data from in store readerwritebraintree.in_store_readers.request_print_from_in_store_readerRequest print from in store readerwritebraintree.in_store_readers.request_refund_from_in_store_readerRequest refund from in store readerdestructivebraintree.in_store_readers.request_signature_prompt_from_in_store_readerRequest signature prompt from in store readerwritebraintree.in_store_readers.request_text_display_from_in_store_readerRequest text display from in store readerwritebraintree.in_store_readers.request_text_prompt_from_in_store_readerRequest text prompt from in store readerwritebraintree.in_store_readers.request_vault_from_in_store_readerRequest vault from in store readerwritebraintree.in_store_readers.searchSearch in store readersreadbraintree.in_store_readers.update_in_store_readerUpdate in store readerwritebraintree.in_store_transactions.authorize_in_store_credit_cardAuthorize in store credit cardwritebraintree.in_store_transactions.charge_in_store_credit_cardCharge in store credit carddestructivebraintree.in_store_transactions.create_offline_declined_transactionCreate offline declined transactionwritebraintree.in_store_transactions.refund_in_store_credit_cardRefund in store credit carddestructivebraintree.in_store_transactions.reverse_emv_transactionReverse emv transactiondestructivebraintree.in_store_transactions.update_emv_capture_dataUpdate emv capture datawritebraintree.local_payments.create_local_payment_contextCreate local payment contextwritebraintree.local_payments.create_non_instant_local_payment_contextCreate non instant local payment contextwritebraintree.local_payments.getGet a local payment contextreadbraintree.merchant_accounts.listList merchant accountsreadbraintree.nodes.getGet any record by global idreadbraintree.oauth_client_secrets.create_o_auth_client_secretCreate OAuth client secretwritebraintree.oauth_client_secrets.delete_o_auth_client_secretDelete OAuth client secretdestructivebraintree.oauth_client_secrets.disable_o_auth_client_secretDisable OAuth client secretdestructivebraintree.payment_methods.confirm_micro_transfer_amountsConfirm micro transfer amountsdestructivebraintree.payment_methods.delete_payment_method_from_vaultDelete payment method from vaultdestructivebraintree.payment_methods.getGet a payment methodreadbraintree.payment_methods.list_verificationsList a payment method's verificationsreadbraintree.payment_methods.update_credit_card_billing_addressUpdate credit card billing addresswritebraintree.payment_methods.update_credit_card_cardholder_nameUpdate credit card cardholder namewritebraintree.payment_methods.update_credit_card_expiration_dateUpdate credit card expiration datewritebraintree.payment_methods.vault_credit_cardVault credit cardwritebraintree.payment_methods.vault_payment_methodVault payment methodwritebraintree.payment_methods.vault_us_bank_accountVault us bank accountwritebraintree.payment_methods.verify_credit_cardVerify credit cardwritebraintree.payment_methods.verify_payment_methodVerify payment methodwritebraintree.payment_methods.verify_us_bank_accountVerify us bank accountwritebraintree.payments.searchSearch paymentsreadbraintree.paypal.create_billing_agreement_jwtCreate billing agreement jwtwritebraintree.paypal.create_pay_pal_billing_agreementCreate PayPal billing agreementwritebraintree.paypal.create_pay_pal_one_time_paymentCreate PayPal one time paymentwritebraintree.paypal.generate_edit_funding_instrument_urlGenerate edit funding instrument urlwritebraintree.paypal.get_billing_agreement_detailsGet PayPal billing agreement detailsreadbraintree.paypal.get_order_detailsGet PayPal order detailsreadbraintree.paypal.update_pay_pal_one_time_paymentUpdate PayPal one time paymentwritebraintree.paypal.vault_pay_pal_billing_agreementVault PayPal billing agreementdestructivebraintree.refunds.getGet a refundreadbraintree.refunds.refund_credit_cardRefund credit carddestructivebraintree.refunds.refund_us_bank_accountRefund us bank accountdestructivebraintree.refunds.reverse_refundReverse refunddestructivebraintree.refunds.searchSearch refundsreadbraintree.reports.payment_level_feesGet the payment-level fee reportreadbraintree.risk.create_transaction_risk_contextCreate transaction risk contextwritebraintree.risk.evaluate_transaction_riskEvaluate transaction riskwritebraintree.risk.submit_transaction_feedbackSubmit transaction feedbackwritebraintree.roles.searchSearch rolesreadbraintree.subscription_plan_add_ons.create_recurring_billing_subscription_plan_add_on_templateCreate recurring billing subscription plan add on templatewritebraintree.subscription_plan_add_ons.delete_recurring_billing_subscription_plan_add_on_templateDelete recurring billing subscription plan add on templatedestructivebraintree.subscription_plan_add_ons.getGet a recurring billing subscription plan add onreadbraintree.subscription_plan_add_ons.listList subscription plan add-onsreadbraintree.subscription_plan_add_ons.update_recurring_billing_subscription_plan_add_on_templateUpdate recurring billing subscription plan add on templatewritebraintree.subscription_plan_discounts.create_recurring_billing_subscription_plan_discount_templateCreate recurring billing subscription plan discount templatewritebraintree.subscription_plan_discounts.delete_recurring_billing_subscription_plan_discount_templateDelete recurring billing subscription plan discount templatedestructivebraintree.subscription_plan_discounts.getGet a recurring billing subscription plan discountreadbraintree.subscription_plan_discounts.listList subscription plan discountsreadbraintree.subscription_plan_discounts.update_recurring_billing_subscription_plan_discount_templateUpdate recurring billing subscription plan discount templatewritebraintree.subscription_plans.create_recurring_billing_subscription_planCreate recurring billing subscription planwritebraintree.subscription_plans.delete_recurring_billing_subscription_planDelete recurring billing subscription plandestructivebraintree.subscription_plans.getGet a recurring billing subscription planreadbraintree.subscription_plans.listList subscription plansreadbraintree.subscription_plans.update_recurring_billing_subscription_planUpdate recurring billing subscription planwritebraintree.subscriptions.cancel_recurring_billing_subscriptionCancel recurring billing subscriptiondestructivebraintree.subscriptions.charge_recurring_billing_subscriptionCharge recurring billing subscriptiondestructivebraintree.subscriptions.create_recurring_billing_subscriptionCreate recurring billing subscriptionwritebraintree.subscriptions.getGet a recurring billing subscriptionreadbraintree.subscriptions.searchSearch subscriptionsreadbraintree.subscriptions.update_recurring_billing_subscriptionUpdate recurring billing subscriptionwritebraintree.three_d_secure.perform_three_d_secure_lookupPerform three d secure lookupwritebraintree.tokens.tokenize_credit_cardTokenize credit cardwritebraintree.tokens.tokenize_custom_actions_payment_methodTokenize custom actions payment methodwritebraintree.tokens.tokenize_cvvTokenize cvvwritebraintree.tokens.tokenize_emv_cardTokenize emv cardwritebraintree.tokens.tokenize_magstripe_cardTokenize magstripe cardwritebraintree.tokens.tokenize_network_tokenTokenize network tokenwritebraintree.tokens.tokenize_pay_pal_billing_agreementTokenize PayPal billing agreementdestructivebraintree.tokens.tokenize_pay_pal_one_time_paymentTokenize PayPal one time paymentdestructivebraintree.tokens.tokenize_us_bank_accountTokenize us bank accountwritebraintree.transactions.authorize_credit_cardAuthorize credit cardwritebraintree.transactions.authorize_pay_pal_accountAuthorize PayPal accountdestructivebraintree.transactions.authorize_payment_methodAuthorize payment methoddestructivebraintree.transactions.authorize_venmo_accountAuthorize venmo accountwritebraintree.transactions.capture_transactionCapture transactiondestructivebraintree.transactions.charge_credit_cardCharge credit carddestructivebraintree.transactions.charge_pay_pal_accountCharge PayPal accountdestructivebraintree.transactions.charge_payment_methodCharge payment methoddestructivebraintree.transactions.charge_us_bank_accountCharge us bank accountdestructivebraintree.transactions.charge_venmo_accountCharge venmo accountdestructivebraintree.transactions.create_transaction_package_trackingCreate transaction package trackingwritebraintree.transactions.getGet a transactionreadbraintree.transactions.partial_capture_transactionPartial capture transactiondestructivebraintree.transactions.refund_transactionRefund transactiondestructivebraintree.transactions.reverse_transactionReverse transactiondestructivebraintree.transactions.sandbox_settle_transactionSandbox settle transactionwritebraintree.transactions.searchSearch transactionsreadbraintree.transactions.update_custom_fieldsUpdate custom fieldswritebraintree.transactions.update_transaction_amountUpdate transaction amountwritebraintree.transactions.void_transactionVoid transactiondestructivebraintree.venmo.create_venmo_payment_contextCreate venmo payment contextwritebraintree.venmo.getGet a venmo payment contextreadbraintree.verifications.getGet a verificationreadbraintree.verifications.searchSearch verificationsreadbraintree.viewer.getGet the authenticated user and merchantread
Questions
The Braintree MCP server, answered.
Is there a Braintree MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 157 Braintree actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Braintree.
What do I need to connect Braintree?
Braintree API public key (Control Panel > Settings > API > API Keys) and Braintree API private key paired with the public key. Plus your host. The free call account { op: "connections.requirements", service: "braintree" } lists exactly what to paste.
Can an AI agent delete or change things in Braintree?
Only if its key allows it, and only with an explicit confirmation. 38 Braintree actions are destructive, including void transaction, delete customer and capture transaction. 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 Braintree API limit?
actionlake paces every call to the limits in the Braintree service file: 20 calls a second per connection. Repeated reads are answered from cache (46 Braintree actions can be), which never reaches Braintree.
What does a Braintree action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (157 Braintree actions page). Cache hits, searches, dry runs and calls Braintree 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 Braintree API does it cover?
The Braintree GraphQL API (Braintree-Version 2025-01-01) at payments.braintree-api.com by default, or the base URL set when you connect. It is built from Braintree's documentation as read on 23 October 2026. 157 actions in 1 area, each one in the signed service file (version 1.0.0).
Does actionlake keep my Braintree 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 Braintree 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 Braintree today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.