Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Stripe MCP connector

OAuth 2.1/DCRAccounting & FinanceAutomation

Connect to Stripe MCP. Manage customers, invoices, subscriptions, refunds, disputes, and payments from your AI workflows.

Stripe MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'stripemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Stripe MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'stripemcp_get_stripe_account_info',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update subscription, dispute — Update an active subscription — change its price, quantity, or proration behavior
  • Recommender stripe integration — Get a recommendation on which Stripe integration pattern best fits a use case (e.g
  • Search stripe api, stripe resources, stripe documentation — Search available Stripe API operations by keyword
  • Execute stripe api — Execute any Stripe API operation by its operation ID and parameters
  • Details stripe api — Get the full parameter schema for a specific Stripe API operation
  • Send stripe mcp feedback — Submit feedback about a Stripe MCP tool experience

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

stripemcp_cancel_subscription#Immediately cancel an active Stripe subscription. The subscription ends at the current period and no further charges are made. This is irreversible — use Update Subscription to pause or downgrade instead.1 param

Immediately cancel an active Stripe subscription. The subscription ends at the current period and no further charges are made. This is irreversible — use Update Subscription to pause or downgrade instead.

NameTypeRequiredDescription
subscriptionstringrequiredID of the subscription to cancel immediately. Cancellation is permanent — the subscription cannot be reactivated.
stripemcp_create_coupon#Create a discount coupon that applies a percentage or fixed amount off. Use percent_off for percentage discounts or amount_off+currency for fixed discounts. Set duration to once, forever, or repeating.6 params

Create a discount coupon that applies a percentage or fixed amount off. Use percent_off for percentage discounts or amount_off+currency for fixed discounts. Set duration to once, forever, or repeating.

NameTypeRequiredDescription
namestringrequiredInternal name for the coupon shown in the Stripe dashboard and on invoices.
amount_offnumberoptionalFixed discount amount in the smallest currency unit (e.g. 500 = .00 off). Requires currency. Use this or percent_off — not both.
currencystringoptionalRequired when using amount_off. Three-letter ISO currency code matching the discount amount.
durationstringoptionalHow long the coupon applies: once (first invoice only), forever (all invoices), or repeating (for duration_in_months months).
duration_in_monthsnumberoptionalNumber of months the discount applies when duration is repeating.
percent_offnumberoptionalPercentage discount between 0 and 100. Use this or amount_off — not both.
stripemcp_create_customer#Create a new Stripe customer record with a name and optional email. Returns the customer ID (cus_...) used in invoices, subscriptions, and payment intents.2 params

Create a new Stripe customer record with a name and optional email. Returns the customer ID (cus_...) used in invoices, subscriptions, and payment intents.

NameTypeRequiredDescription
namestringrequiredFull name of the customer as it will appear on invoices and receipts.
emailstringoptionalCustomer email address. Used for receipt delivery and customer lookup.
stripemcp_create_invoice#Create a draft invoice for a customer. The invoice starts in draft status — add line items with Create Invoice Item, then call Finalize Invoice to mark it ready for payment.2 params

Create a draft invoice for a customer. The invoice starts in draft status — add line items with Create Invoice Item, then call Finalize Invoice to mark it ready for payment.

NameTypeRequiredDescription
customerstringrequiredID of the Stripe customer to bill. Add line items with Create Invoice Item after creating the invoice.
days_until_duenumberoptionalPayment due date expressed as days from today. Used for net-terms invoices (e.g. 30 for net-30). Leave blank for invoices collected immediately.
stripemcp_create_invoice_item#Add a line item to an existing draft invoice using a price ID. The invoice must be in draft status. Both the customer and invoice IDs are required to associate the item correctly.3 params

Add a line item to an existing draft invoice using a price ID. The invoice must be in draft status. Both the customer and invoice IDs are required to associate the item correctly.

NameTypeRequiredDescription
customerstringrequiredID of the customer the invoice belongs to. Must match the customer on the invoice.
invoicestringrequiredID of the draft invoice to add this line item to. Invoice must be in draft status.
pricestringrequiredID of the price to add as a line item. The price determines amount and currency.
stripemcp_create_price#Create a one-time or recurring price for a product. Amounts are in the smallest currency unit (cents for USD). Omit recurring for one-time prices; include it for subscription billing.4 params

Create a one-time or recurring price for a product. Amounts are in the smallest currency unit (cents for USD). Omit recurring for one-time prices; include it for subscription billing.

NameTypeRequiredDescription
currencystringrequiredThree-letter ISO 4217 currency code (lowercase). Must match the currency of your Stripe account.
productstringrequiredID of the product this price belongs to. Create a product first if you do not have one.
unit_amountnumberrequiredPrice in the smallest currency unit (e.g. cents for USD). 2000 = .00. Use 0 for free prices.
recurringobjectoptionalInclude to create a recurring/subscription price. Omit for one-time prices. interval must be day, week, month, or year.
stripemcp_create_product#Create a product in Stripe representing a good or service. Products are the parent objects for prices — create a product first, then attach prices to it.2 params

Create a product in Stripe representing a good or service. Products are the parent objects for prices — create a product first, then attach prices to it.

NameTypeRequiredDescription
namestringrequiredProduct name shown on invoices and in the Stripe dashboard.
descriptionstringoptionalOptional product description shown on invoices and checkout pages.
stripemcp_create_refund#Issue a full or partial refund for a succeeded PaymentIntent. Omit amount to refund the full charge. The PaymentIntent must have a successful charge — refunding a pending or failed intent will error.4 params

Issue a full or partial refund for a succeeded PaymentIntent. Omit amount to refund the full charge. The PaymentIntent must have a successful charge — refunding a pending or failed intent will error.

NameTypeRequiredDescription
payment_intentstringrequiredID of the PaymentIntent to refund. The payment must have a succeeded charge. Get it from the charge or invoice object.
amountintegeroptionalAmount to refund in cents. Omit to refund the full amount. Must be less than or equal to the original charge amount.
human_confirmationobjectoptionalOptional confirmation object for human-in-the-loop approval flows. Pass {"confirmed": true} to bypass the approval step when running in an automated context.
reasonstringoptionalReason for the refund. Valid values: duplicate, fraudulent, requested_by_customer. Shown on the refund receipt.
stripemcp_fetch_stripe_resources#Retrieve a Stripe object by its ID. Works with any Stripe resource ID (cus_..., pi_..., in_..., sub_..., prod_..., price_..., dp_...). Returns the full object details.1 param

Retrieve a Stripe object by its ID. Works with any Stripe resource ID (cus_..., pi_..., in_..., sub_..., prod_..., price_..., dp_...). Returns the full object details.

NameTypeRequiredDescription
idstringrequiredID of any Stripe object to retrieve (e.g. cus_..., pi_..., in_..., sub_..., prod_..., price_..., dp_...). The resource type is inferred from the ID prefix.
stripemcp_finalize_invoice#Finalize a draft invoice to lock it and make it ready for payment. After finalization, the invoice status changes from draft to open and a PaymentIntent is created automatically.1 param

Finalize a draft invoice to lock it and make it ready for payment. After finalization, the invoice status changes from draft to open and a PaymentIntent is created automatically.

NameTypeRequiredDescription
invoicestringrequiredID of the draft invoice to finalize. Finalization locks the invoice and generates a PaymentIntent for collection.
stripemcp_get_stripe_account_info#Retrieve information about the connected Stripe account, including account ID, business name, country, currency, and account type (standard, express, or custom).0 params

Retrieve information about the connected Stripe account, including account ID, business name, country, currency, and account type (standard, express, or custom).

stripemcp_retrieve_balance#Retrieve the current balance for the connected Stripe account, broken down by currency and availability (available vs. pending funds).0 params

Retrieve the current balance for the connected Stripe account, broken down by currency and availability (available vs. pending funds).

stripemcp_search_stripe_documentation#Search Stripe official documentation and API reference for answers. Use this to look up Stripe concepts, API parameters, error codes, or integration guidance.3 params

Search Stripe official documentation and API reference for answers. Use this to look up Stripe concepts, API parameters, error codes, or integration guidance.

NameTypeRequiredDescription
questionstringrequiredThe question or topic to search Stripe documentation for.
languagestringoptionalProgramming language for code examples in results. Defaults to no specific language.
search_only_api_refbooleanoptionalSet to true to search only the API reference. Set to false (default) to search all documentation including guides and tutorials.
stripemcp_search_stripe_resources#Search Stripe resources using the format resource:query (e.g. customers:name:"Acme" or invoices:status:"open"). Valid resources: customers, payment_intents, charges, invoices, prices, products, subscriptions.1 param

Search Stripe resources using the format resource:query (e.g. customers:name:"Acme" or invoices:status:"open"). Valid resources: customers, payment_intents, charges, invoices, prices, products, subscriptions.

NameTypeRequiredDescription
querystringrequiredSearch query in resource:search_term format. Valid resources: customers, payment_intents, charges, invoices, prices, products, subscriptions. Example: customers:name:"Acme" or invoices:status:"open".
stripemcp_send_stripe_mcp_feedback#Submit feedback about a Stripe MCP tool experience. Use source=user for feedback from a human, source=agent for feedback generated by an AI agent.5 params

Submit feedback about a Stripe MCP tool experience. Use source=user for feedback from a human, source=agent for feedback generated by an AI agent.

NameTypeRequiredDescription
contextstringrequiredAdditional context about what you were trying to do when you used the tool.
quotestringrequiredA direct quote or specific observation about the tool experience.
sentimentstringrequiredSentiment of the feedback. Valid values: positive, negative, neutral.
sourcestringrequiredWho generated this feedback. Valid values: user (human feedback), agent (AI-generated feedback).
tool_namestringoptionalName of the specific Stripe MCP tool this feedback is about.
stripemcp_stripe_api_details#Get the full parameter schema for a specific Stripe API operation. Use stripe_api_search to find the operation ID first (e.g. GetCustomers, PostRefunds), then call this to see all available parameters.1 param

Get the full parameter schema for a specific Stripe API operation. Use stripe_api_search to find the operation ID first (e.g. GetCustomers, PostRefunds), then call this to see all available parameters.

NameTypeRequiredDescription
stripe_api_operation_idstringrequiredThe Stripe API operation ID to get details for. Get valid IDs from stripe_api_search (e.g. GetCustomers, PostRefunds, PostSubscriptions).
stripemcp_stripe_api_execute#Execute any Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing.3 params

Execute any Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing.

NameTypeRequiredDescription
parametersobjectrequiredParameters to pass to the Stripe API operation. Must match the schema returned by stripe_api_details. Pass as a JSON object.
stripe_api_operation_idstringrequiredThe Stripe API operation ID to execute. Use stripe_api_search to find available operations and stripe_api_details to see required parameters.
human_confirmationobjectoptionalOptional confirmation object for human-in-the-loop approval flows. Pass {"confirmed": true} to bypass the approval step when running in an automated context.
stripemcp_stripe_integration_recommender#Get a recommendation on which Stripe integration pattern best fits a use case (e.g. Checkout, Payment Intents, Billing). Describe the payment scenario in the answer field.3 params

Get a recommendation on which Stripe integration pattern best fits a use case (e.g. Checkout, Payment Intents, Billing). Describe the payment scenario in the answer field.

NameTypeRequiredDescription
answerstringrequiredDescribe your payment scenario or what you want to build. Be specific about whether payments are one-time or recurring, and whether you need a hosted checkout or custom UI.
notesstringoptionalAdditional context about your integration requirements, constraints, or current setup.
plan_idstringoptionalOptional Stripe product or plan ID if you already have a pricing structure set up. Must follow format lplan_... Leave blank if not applicable.
stripemcp_update_dispute#Submit evidence or update an open Stripe dispute (chargeback). Pass submit=true to send the evidence to Stripe immediately, or false to save it as a draft for later submission.3 params

Submit evidence or update an open Stripe dispute (chargeback). Pass submit=true to send the evidence to Stripe immediately, or false to save it as a draft for later submission.

NameTypeRequiredDescription
disputestringrequiredID of the dispute to update. Get dispute IDs from the Stripe dashboard or by listing disputes via stripe_api_execute with GetDisputes.
evidenceobjectoptionalEvidence object to submit for the dispute. Include fields like customer_purchase_ip, product_description, and shipping_documentation as applicable.
submitbooleanoptionalSet to true to submit the evidence to Stripe immediately. Set to false to save as a draft. Once submitted, evidence cannot be changed.
stripemcp_update_subscription#Update an active subscription — change its price, quantity, or proration behavior. Use proration_behavior=create_prorations to credit unused time when upgrading plans.3 params

Update an active subscription — change its price, quantity, or proration behavior. Use proration_behavior=create_prorations to credit unused time when upgrading plans.

NameTypeRequiredDescription
subscriptionstringrequiredID of the subscription to update.
itemsarrayoptionalArray of subscription items to update. Each item needs the subscription item ID (si_...) and new price ID. Used to change plan or quantity.
proration_behaviorstringoptionalHow to handle proration when changing plans mid-cycle. create_prorations credits unused time; none skips proration; always_invoice immediately bills the difference.