stripe
Built by Metorial, the integration platform for agentic AI.
stripe
Server Summary
Manage payment processing
Handle subscription billing
Process customer refunds
Track financial transactions
A comprehensive Model Context Protocol (MCP) server that provides seamless integration with the Stripe payment platform. This server enables AI assistants and applications to interact with Stripe's complete payment infrastructure, including customer management, payment processing, subscriptions, invoicing, and product catalog management. Whether you're building automated payment workflows, customer support tools, or financial reporting systems, this MCP server provides all the capabilities you need to work with Stripe's API through a standardized interface.
The Stripe MCP Server bridges the gap between AI applications and Stripe's powerful payment platform. It exposes Stripe's core functionality through a set of well-defined tools and resources, allowing you to create customers, process payments, manage subscriptions, generate invoices, and track financial transactions without writing complex API integration code. The server handles authentication, request formatting, and response parsing, providing a clean and intuitive interface for all your Stripe operations.
Retrieve a list of all customers in your Stripe account with powerful filtering and pagination options.
Parameters:
email
(optional): Filter results to customers with a specific email addresslimit
(optional): Number of customers to return, from 1 to 100 (defaults to 10)starting_after
(optional): Customer ID to use as a cursor for paginationCreate a new customer record in Stripe to associate with future payments and subscriptions.
Parameters:
name
(optional): The customer's full nameemail
(optional): The customer's email addressphone
(optional): The customer's phone numberdescription
(optional): An arbitrary string describing the customermetadata
(optional): Key-value pairs for storing additional custom informationModify an existing customer's information.
Parameters:
customer_id
(required): The unique identifier of the customer to updatename
(optional): Updated customer nameemail
(optional): Updated email addressphone
(optional): Updated phone numberdescription
(optional): Updated descriptionmetadata
(optional): Updated metadata key-value pairsPermanently remove a customer from your Stripe account.
Parameters:
customer_id
(required): The unique identifier of the customer to deleteRetrieve a list of payment intents with filtering options.
Parameters:
customer
(optional): Filter by customer ID to see only that customer's payment intentslimit
(optional): Number of payment intents to return, from 1 to 100 (defaults to 10)starting_after
(optional): Payment intent ID for paginationCreate a new payment intent to collect payment from a customer.
Parameters:
amount
(required): Amount to charge in cents (e.g., 1000 equals $10.00)currency
(required): Three-letter ISO currency code such as "usd" or "eur"customer
(optional): Customer ID to associate with this paymentpayment_method
(optional): Payment method ID to use for this paymentdescription
(optional): Description of the paymentconfirm
(optional): Whether to automatically confirm the payment intentmetadata
(optional): Custom metadata key-value pairsModify an existing payment intent before it has been confirmed.
Parameters:
payment_intent_id
(required): The payment intent ID to updateamount
(optional): Updated amount in centscurrency
(optional): Updated currency codecustomer
(optional): Updated customer IDdescription
(optional): Updated descriptionmetadata
(optional): Updated metadataConfirm a payment intent to attempt payment.
Parameters:
payment_intent_id
(required): The payment intent ID to confirmpayment_method
(optional): Payment method to use for confirmationCancel a payment intent that has not yet been captured.
Parameters:
payment_intent_id
(required): The payment intent ID to cancelCapture a payment intent that was created with manual capture method.
Parameters:
payment_intent_id
(required): The payment intent ID to captureamount_to_capture
(optional): Amount to capture in cents (defaults to the full authorized amount)Retrieve a list of charges with filtering options. Note that Stripe recommends using Payment Intents for new integrations.
Parameters:
customer
(optional): Filter by customer IDpayment_intent
(optional): Filter by payment intent IDlimit
(optional): Number of charges to return, from 1 to 100 (defaults to 10)starting_after
(optional): Charge ID for paginationCreate a direct charge using the legacy Charges API. Payment Intents are recommended for new integrations.
Parameters:
amount
(required): Amount in cents to chargecurrency
(required): Three-letter ISO currency codecustomer
(optional): Customer ID to chargesource
(optional): Payment source such as a token or card IDdescription
(optional): Description of the chargemetadata
(optional): Custom metadataRetrieve a list of subscriptions with powerful filtering capabilities.
Parameters:
customer
(optional): Filter by customer IDprice
(optional): Filter by price IDstatus
(optional): Filter by subscription status (active, past_due, unpaid, canceled, incomplete, incomplete_expired, trialing, or all)limit
(optional): Number of subscriptions to return, from 1 to 100 (defaults to 10)starting_after
(optional): Subscription ID for paginationCreate a new recurring subscription for a customer.
Parameters:
customer
(required): Customer ID to subscribeitems
(required): Array of subscription items, each containing a price ID and optional quantitytrial_period_days
(optional): Number of days for the trial periodmetadata
(optional): Custom metadataModify an existing subscription's items or settings.
Parameters:
subscription_id
(required): The subscription ID to updateitems
(optional): Updated array of subscription items with price IDs, quantities, and item IDsproration_behavior
(optional): How to handle prorations (create_prorations, none, or always_invoice)metadata
(optional): Updated metadataCancel an active subscription.
Parameters:
subscription_id
(required): The subscription ID to cancelprorate
(optional): Whether to prorate the cancellationinvoice_now
(optional): Whether to create an invoice immediatelyResume a previously paused subscription.
Parameters:
subscription_id
(required): The subscription ID to resumeRetrieve a list of invoices with filtering options.
Parameters:
customer
(optional): Filter by customer IDsubscription
(optional): Filter by subscription IDstatus
(optional): Filter by invoice status (draft, open, paid, uncollectible, or void)limit
(optional): Number of invoices to return, from 1 to 100 (defaults to 10)starting_after
(optional): Invoice ID for paginationCreate a new invoice for a customer.
Parameters:
customer
(required): Customer ID to invoicedescription
(optional): Description for the invoiceauto_advance
(optional): Whether to auto-finalize the invoice after 1 hourmetadata
(optional): Custom metadataFinalize a draft invoice, making it ready for payment.
Parameters:
invoice_id
(required): The invoice ID to finalizeAttempt to pay an invoice immediately.
Parameters:
invoice_id
(required): The invoice ID to payVoid an invoice, marking it as uncollectible.
Parameters:
invoice_id
(required): The invoice ID to voidRetrieve your product catalog with filtering options.
Parameters:
active
(optional): Filter by active status (true or false)limit
(optional): Number of products to return, from 1 to 100 (defaults to 10)starting_after
(optional): Product ID for paginationCreate a new product in your catalog.
Parameters:
name
(required): The product namedescription
(optional): Product descriptionactive
(optional): Whether the product is activemetadata
(optional): Custom metadataUpdate an existing product's information.
Parameters:
product_id
(required): The product ID to updatename
(optional): Updated product namedescription
(optional): Updated descriptionactive
(optional): Updated active statusmetadata
(optional): Updated metadataDelete a product from your catalog.
Parameters:
product_id
(required): The product ID to deleteRetrieve a list of prices associated with your products.
Parameters:
product
(optional): Filter by product IDactive
(optional): Filter by active statuslimit
(optional): Number of prices to return, from 1 to 100 (defaults to 10)starting_after
(optional): Price ID for paginationCreate a new price for a product, supporting both one-time and recurring billing.
Parameters:
product
(required): Product ID to associate with this priceunit_amount
(required): Price in centscurrency
(required): Three-letter ISO currency coderecurring
(optional): Object containing interval (day, week, month, or year) and optional interval_count for recurring billingmetadata
(optional): Custom metadataUpdate a price's limited modifiable fields.
Parameters:
price_id
(required): The price ID to updateactive
(optional): Whether the price is activemetadata
(optional): Updated metadataRetrieve a list of refunds with filtering options.
Parameters:
charge
(optional): Filter by charge IDpayment_intent
(optional): Filter by payment intent IDlimit
(optional): Number of refunds to return, from 1 to 100 (defaults to 10)starting_after
(optional): Refund ID for paginationIssue a refund for a charge or payment intent.
Parameters:
charge
(optional): Charge ID to refundpayment_intent
(optional): Payment intent ID to refundamount
(optional): Amount to refund in cents (defaults to full amount)reason
(optional): Reason for refund (duplicate, fraudulent, or requested_by_customer)metadata
(optional): Custom metadataRetrieve the current balance of your Stripe account across all currencies.
Parameters: None required
Retrieve a list of balance transactions showing all financial activity.
Parameters:
type
(optional): Filter by transaction type (e.g., charge, refund, payout)limit
(optional): Number of transactions to return, from 1 to 100 (defaults to 10)starting_after
(optional): Transaction ID for paginationThe server provides direct access to Stripe resources through URI templates. These allow you to retrieve detailed information about specific Stripe objects by their ID.
Access comprehensive information about a specific Stripe customer.
URI Pattern: stripe://customers/{customer_id}
Access detailed information about a specific payment intent including its status, amount, and associated charges.
URI Pattern: stripe://payment-intents/{payment_intent_id}
Access information about a specific charge including payment details and status.
URI Pattern: stripe://charges/{charge_id}
Access complete subscription details including items, billing cycle, and current status.
URI Pattern: stripe://subscriptions/{subscription_id}
Access invoice details including line items, amounts, and payment status.
URI Pattern: stripe://invoices/{invoice_id}
Access product information including name, description, and active status.
URI Pattern: stripe://products/{product_id}
Access pricing details including amount, currency, and recurring billing configuration.
URI Pattern: stripe://prices/{price_id}
Access refund information including amount, reason, and associated charge or payment intent.
URI Pattern: stripe://refunds/{refund_id}
This MCP server enables a wide range of payment and financial management scenarios:
To use this MCP server, you'll need a Stripe account and API credentials. The server handles all the complexity of Stripe's API, providing a clean and consistent interface for all payment operations. Simply connect the server to your MCP-compatible application and start building powerful payment workflows with natural language or programmatic commands.