Stripe
Manage Stripe customers, payment intents, subscriptions, refunds, products, prices and Checkout sessions, and read charges, invoices and payouts. Connect with OAuth or a secret key.
- rest
https://api.superagnt.com/v1/connections/stripeplus the vendor's own path, with your superagnt_ API key asAuthorization: Bearer.- mcp
- Tools named
connection_stripe_*onhttps://mcp.superagnt.com/mcp, served once the account is connected. - billing
- Stripe bills your own account. Calls cost no superagnt_ data credits.
- rate limit
- 25 requests a second, 1,500 a minute: the vendor's ceiling as the registry records it, for sizing bursts. Your plan's own limit is on Connections.
- vendor docs
- https://docs.stripe.com/api
The Stripe connection lets an agent work in your Stripe account: customers, charges, payment intents and setup intents, subscriptions, invoices, products and prices, Checkout sessions, refunds and payouts.
three tools move money
These are paid tools, kept apart from every other write. connection_stripe_payment_intents_write creates or updates a payment intent, and a confirmed payment intent charges the customer. connection_stripe_refunds_write refunds a charge or payment intent in full or in part. connection_stripe_subscriptions_write creates or updates a subscription: a new subscription can charge the customer right away, and a change can add prorated charges. By default, creating a payment intent, a subscription or a refund always asks a person first, and updating a payment intent or a subscription asks.
01
Setup
Connect with Stripe
- Start the install. In the superagnt app open Integrations, pick Stripe and click Connect with Stripe.
- Approve the connection. Stripe asks you to connect your account with read and write access.
Paste a secret key
If Connect with Stripe is not offered, the connect dialog opens on the key form. To use a key instead of OAuth, click Use API key instead.
- Get a key. In the Stripe Dashboard open Developers → API keys and copy a secret key (
sk_live_..., orsk_test_...for test mode). A restricted key works too: scope it to the resources your agents need. - Paste it. Paste it as the Secret key on the Stripe connection.
When a workspace has both an OAuth install and a pasted key, calls use the OAuth install.
02
Things to know
send REST write bodies as JSON
The REST route reads a request body only as JSON. Stripe takes form-encoded parameters, so send them as a JSON object with Content-Type: application/x-www-form-urlencoded: superagnt_ form-encodes the object for Stripe, writing nested objects and arrays as Stripe's bracket keys (metadata[crm_id], line_items[0][price]). A body that is already form-encoded, such as curl's --data-urlencode, is not read, and Stripe receives the call with no parameters.
- Amounts are integers in the currency's smallest unit, such as cents for USD.
- Lists take
limit(up to 100). Customers, charges and payment intents also page withstarting_after, the id of the last object you received. - A
Stripe-Versionheader on a REST call is not forwarded to Stripe. - Over REST, a Stripe path outside the operations list is still forwarded, without validation.
- Deleting a customer and cancelling a payment intent or a subscription cannot be undone, and always ask a person first by default. Creating and updating customers, and creating setup intents, Checkout sessions, products and prices, run without asking.
03
Examples
List recent payment intents
curl "https://api.superagnt.com/v1/connections/stripe/payment_intents?limit=5" \
-H "Authorization: Bearer $AGNTDATA_API_KEY"Create a customer
curl -X POST "https://api.superagnt.com/v1/connections/stripe/customers" \
-H "Authorization: Bearer $AGNTDATA_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d '{"email":"jenny.rosen@example.com","name":"Jenny Rosen","metadata":{"crm_id":"6735"}}'Create a Checkout session
curl -X POST "https://api.superagnt.com/v1/connections/stripe/checkout/sessions" \
-H "Authorization: Bearer $AGNTDATA_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d '{
"mode": "subscription",
"success_url": "https://example.com/success",
"cancel_url": "https://example.com/cancel",
"line_items": [{"price": "price_1Example", "quantity": 1}]
}'Stripe receives line_items[0][price]=price_1Example&line_items[0][quantity]=1. In the response, data.url is the hosted Checkout page.
04
Receiving Stripe webhooks
This connection calls Stripe; it does not receive Stripe's events. To trigger an agent from Stripe, create an inbound endpoint in the superagnt app (Webhooks, the Inbound tab, Create Webhook), copy its URL, https://api.superagnt.com/webhooks/ingest/<hookId>, and add it as a webhook endpoint in Stripe with the events you want. Stripe signs deliveries with its own Stripe-Signature header, which an inbound endpoint does not check, so leave the endpoint's signature verification off and keep its URL secret. Binding the endpoint to an agent or a pipeline is on Receiving webhooks.
21 tools, one per resource and risk
MCP servers and agents on the grouped surface list Stripe as these tools. Each takes an action, and the ones that work across record types an object. Every operation also keeps its own per-operation name, in the next table, which works on every server. How grouping works: Grouped tools.
| Tool | Risk | Actions |
|---|---|---|
connection_stripe_customers_readRead Stripe customers List customers (newest first, filter by exact email) or get one customer by id. | read | listget |
connection_stripe_customers_writeCreate and update Stripe customers Create a customer or update one. Pass the Stripe parameters in body. | write | createupdate |
connection_stripe_customers_deleteDelete a Stripe customer Delete a customer. Cannot be undone. | destructive | delete |
connection_stripe_charges_readRead Stripe charges List charges (filter by customer) or get one by id. | read | listget |
connection_stripe_payment_intents_readRead Stripe payment intents List payment intents (filter by customer) or get one by id. | read | listget |
connection_stripe_payment_intents_writeCreate and update Stripe payment intents Moves money: create or update a payment intent. Pass the Stripe parameters in body; a confirmed payment intent charges the customer. | paid | createupdate |
connection_stripe_payment_intents_deleteCancel a Stripe payment intent Cancel a payment intent. Cannot be undone. | destructive | cancel |
connection_stripe_setup_intents_writeCreate a Stripe setup intent Create a setup intent that saves a customer's payment method for later. Pass the Stripe parameters in body. | write | create |
connection_stripe_refunds_readList Stripe refunds List refunds (filter by charge or payment intent). | read | list |
connection_stripe_refunds_writeRefund a Stripe payment Moves money: refund a charge or payment intent in full or in part. Pass the Stripe parameters in body. | paid | create |
connection_stripe_payouts_readList Stripe payouts List payouts to the bank account (filter by status). | read | list |
connection_stripe_checkout_sessions_readRead Stripe Checkout sessions List Checkout sessions (filter by customer) or get one by id. | read | listget |
connection_stripe_checkout_sessions_writeCreate a Stripe Checkout session Create a hosted Checkout page. Pass the Stripe parameters in body. | write | create |
connection_stripe_subscriptions_readRead Stripe subscriptions List subscriptions (filter by customer or status) or get one by id. | read | listget |
connection_stripe_subscriptions_writeCreate and update Stripe subscriptions Moves money: create or update a subscription. Pass the Stripe parameters in body; a new subscription can charge the customer right away, and a change can add prorated charges. | paid | createupdate |
connection_stripe_subscriptions_deleteCancel a Stripe subscription Cancel a subscription. Cannot be undone. | destructive | cancel |
connection_stripe_invoices_readRead Stripe invoices List invoices (filter by customer, subscription or status) or get one by id. | read | listget |
connection_stripe_products_readList Stripe products List the products of the catalog (filter by active). | read | list |
connection_stripe_products_writeCreate a Stripe product Create a product. Pass the Stripe parameters in body. | write | create |
connection_stripe_prices_readList Stripe prices List the prices of the catalog (filter by product or active). | read | list |
connection_stripe_prices_writeCreate a Stripe price Create a price for a product. Pass the Stripe parameters in body. | write | create |
All 30 operations
Each operation is a REST path under https://api.superagnt.com/v1/connections/stripe and an MCP tool. The per-operation tool name is the one permissions, approvals and usage records use.
| Operation | MCP tool |
|---|---|
GET /customersList customers | connection_stripe_listcustomersgrouped: connection_stripe_customers_read, action list |
POST /customersCreate a customer | connection_stripe_createcustomergrouped: connection_stripe_customers_write, action create |
GET /customers/{customer}Retrieve a customer | connection_stripe_retrievecustomergrouped: connection_stripe_customers_read, action get |
POST /customers/{customer}Update a customer | connection_stripe_updatecustomergrouped: connection_stripe_customers_write, action update |
DELETE /customers/{customer}Delete a customer | connection_stripe_deletecustomergrouped: connection_stripe_customers_delete, action delete |
GET /chargesList charges | connection_stripe_listchargesgrouped: connection_stripe_charges_read, action list |
GET /charges/{charge}Retrieve a charge | connection_stripe_retrievechargegrouped: connection_stripe_charges_read, action get |
GET /payment_intentsList payment intents | connection_stripe_listpaymentintentsgrouped: connection_stripe_payment_intents_read, action list |
POST /payment_intentsCreate a payment intent | connection_stripe_createpaymentintentgrouped: connection_stripe_payment_intents_write, action create |
GET /payment_intents/{intent}Retrieve a payment intent | connection_stripe_retrievepaymentintentgrouped: connection_stripe_payment_intents_read, action get |
POST /payment_intents/{intent}Update a payment intent | connection_stripe_updatepaymentintentgrouped: connection_stripe_payment_intents_write, action update |
POST /payment_intents/{intent}/cancelCancel a payment intent | connection_stripe_cancelpaymentintentgrouped: connection_stripe_payment_intents_delete, action cancel |
POST /setup_intentsCreate a setup intent | connection_stripe_createsetupintentgrouped: connection_stripe_setup_intents_write, action create |
GET /subscriptionsList subscriptions | connection_stripe_listsubscriptionsgrouped: connection_stripe_subscriptions_read, action list |
POST /subscriptionsCreate a subscription | connection_stripe_createsubscriptiongrouped: connection_stripe_subscriptions_write, action create |
GET /subscriptions/{subscription}Retrieve a subscription | connection_stripe_retrievesubscriptiongrouped: connection_stripe_subscriptions_read, action get |
POST /subscriptions/{subscription}Update a subscription | connection_stripe_updatesubscriptiongrouped: connection_stripe_subscriptions_write, action update |
DELETE /subscriptions/{subscription}Cancel a subscription | connection_stripe_cancelsubscriptiongrouped: connection_stripe_subscriptions_delete, action cancel |
GET /invoicesList invoices | connection_stripe_listinvoicesgrouped: connection_stripe_invoices_read, action list |
GET /invoices/{invoice}Retrieve an invoice | connection_stripe_retrieveinvoicegrouped: connection_stripe_invoices_read, action get |
GET /productsList products | connection_stripe_listproductsgrouped: connection_stripe_products_read, action list |
POST /productsCreate a product | connection_stripe_createproductgrouped: connection_stripe_products_write, action create |
GET /pricesList prices | connection_stripe_listpricesgrouped: connection_stripe_prices_read, action list |
POST /pricesCreate a price | connection_stripe_createpricegrouped: connection_stripe_prices_write, action create |
GET /checkout/sessionsList checkout sessions | connection_stripe_listcheckoutsessionsgrouped: connection_stripe_checkout_sessions_read, action list |
POST /checkout/sessionsCreate a checkout session | connection_stripe_createcheckoutsessiongrouped: connection_stripe_checkout_sessions_write, action create |
GET /checkout/sessions/{session}Retrieve a checkout session | connection_stripe_retrievecheckoutsessiongrouped: connection_stripe_checkout_sessions_read, action get |
GET /refundsList refunds | connection_stripe_listrefundsgrouped: connection_stripe_refunds_read, action list |
POST /refundsCreate a refund | connection_stripe_createrefundgrouped: connection_stripe_refunds_write, action create |
GET /payoutsList payouts | connection_stripe_listpayoutsgrouped: connection_stripe_payouts_read, action list |