Stripe Integration
Manage Stripe customers, payments, and subscriptions
The Stripe integration provides access to manage Stripe customers, payments, and subscriptions through the Integrate MCP server.
Installation
The Stripe integration is included with the SDK:
import { stripeIntegration } from "integrate-sdk/server";Setup
1. Create a Stripe OAuth App
- Go to Stripe Connect Settings
- Create a new OAuth application
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Stripe integration to your server configuration. The integration automatically reads STRIPE_CLIENT_ID and STRIPE_CLIENT_SECRET from your environment variables:
import { createMCPServer, stripeIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
stripeIntegration({
}),
],
});You can override the environment variables by passing explicit values:
stripeIntegration({
clientId: process.env.CUSTOM_STRIPE_ID,
clientSecret: process.env.CUSTOM_STRIPE_SECRET,
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("stripe");
const result = await client.stripe.listCustomers({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, stripeIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [stripeIntegration()],
});Configuration Options
export interface StripeIntegrationConfig {
/** Stripe OAuth client ID (defaults to STRIPE_CLIENT_ID env var) */
clientId?: string;
Tools
stripe_list_customers
List customers
export interface StripeListCustomersParams {
/** Maximum number of customers to return */
limit?: number;
stripe_get_customer
Get a specific customer
export interface StripeGetCustomerParams {
/** Customer ID */
customer_id: string;
stripe_create_customer
Create a new customer
export interface StripeCreateCustomerParams {
/** Customer email */
email?: string;
stripe_update_customer
Update an existing customer
export interface StripeUpdateCustomerParams {
/** Customer ID */
customer_id: string;
stripe_delete_customer
Delete a customer
export interface StripeDeleteCustomerParams {
/** Customer ID */
customer_id: string;
stripe_search_customers
Search customers using Stripe search syntax
export interface StripeSearchCustomersParams {
/** Stripe search query (e.g. "email:'user@example.com'") */
query: string;
stripe_list_payments
List payment intents
export interface StripeListPaymentsParams {
/** Filter by customer */
customer?: string;
stripe_get_payment
Get a specific payment intent
export interface StripeGetPaymentParams {
/** Payment Intent ID */
payment_id: string;
stripe_create_payment
Create a payment intent
export interface StripeCreatePaymentParams {
/** Amount in cents */
amount: number;
stripe_cancel_payment
Cancel a payment intent
export interface StripeCancelPaymentParams {
/** Payment Intent ID */
payment_id: string;
stripe_capture_payment
Capture an authorized payment intent
export interface StripeCapturePaymentParams {
/** Payment Intent ID */
payment_id: string;
stripe_list_subscriptions
List subscriptions
export interface StripeListSubscriptionsParams {
/** Filter by customer */
customer?: string;
stripe_get_subscription
Get a subscription by ID
export interface StripeGetSubscriptionParams {
/** Subscription ID */
subscription_id: string;
stripe_create_subscription
Create a subscription
export interface StripeCreateSubscriptionParams {
/** Customer ID */
customer: string;
stripe_update_subscription
Update a subscription
export interface StripeUpdateSubscriptionParams {
/** Subscription ID */
subscription_id: string;
stripe_cancel_subscription
Cancel a subscription
export interface StripeCancelSubscriptionParams {
/** Subscription ID */
subscription_id: string;
stripe_list_invoices
List invoices
export interface StripeListInvoicesParams {
/** Filter by customer */
customer?: string;
stripe_get_invoice
Get an invoice by ID
export interface StripeGetInvoiceParams {
/** Invoice ID */
invoice_id: string;
stripe_create_invoice
Create an invoice for a customer
export interface StripeCreateInvoiceParams {
/** Customer ID */
customer: string;
stripe_finalize_invoice
Finalize a draft invoice
export interface StripeFinalizeInvoiceParams {
/** Invoice ID */
invoice_id: string;
stripe_pay_invoice
Pay an open invoice immediately
export interface StripePayInvoiceParams {
/** Invoice ID */
invoice_id: string;
stripe_void_invoice
Void an invoice (cannot be undone)
export interface StripeVoidInvoiceParams {
/** Invoice ID */
invoice_id: string;
stripe_list_products
List products
export interface StripeListProductsParams {
/** Maximum number to return */
limit?: number;
stripe_get_product
Get a product by ID
export interface StripeGetProductParams {
/** Product ID */
product_id: string;
stripe_create_product
Create a product
export interface StripeCreateProductParams {
/** Product name */
name: string;
stripe_list_prices
List prices
export interface StripeListPricesParams {
/** Maximum number to return */
limit?: number;
stripe_get_price
Get a price by ID
export interface StripeGetPriceParams {
/** Price ID */
price_id: string;
stripe_create_price
Create a price for a product
export interface StripeCreatePriceParams {
/** Product ID to attach this price to */
product: string;
stripe_list_refunds
List refunds
export interface StripeListRefundsParams {
/** Maximum number to return */
limit?: number;
stripe_get_refund
Get a refund by ID
export interface StripeGetRefundParams {
/** Refund ID */
refund_id: string;
stripe_create_refund
Create a refund for a payment
export interface StripeCreateRefundParams {
/** Payment Intent ID to refund */
payment_intent: string;
stripe_get_balance
Get the current Stripe account balance
No parameters.
stripe_list_events
List events from the Stripe event log
export interface StripeListEventsParams {
/** Maximum number to return */
limit?: number;
stripe_get_event
Get a specific event by ID
export interface StripeGetEventParams {
/** Event ID */
event_id: string;
stripe_list_payment_methods
List payment methods for a customer
export interface StripeListPaymentMethodsParams {
/** Customer ID */
customer: string;
Notes
- Category: Finance
- Authentication mode: OAuth