stripe-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STRIPE_SECRET_KEY | Yes | Secret key (sk_test_..., sk_live_...) or restricted key (rk_test_..., rk_live_...) | |
| STRIPE_TIMEOUT_MS | No | Request timeout in milliseconds (1000-120000) | 30000 |
| STRIPE_MAX_NETWORK_RETRIES | No | Max retries on transient failures (0-5) | 2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_customerB | Create a new Stripe customer with optional email, name, phone, description, and metadata. |
| retrieve_customerA | Retrieve a Stripe customer by ID. |
| update_customerC | Update an existing Stripe customer's details. |
| delete_customerA | Permanently delete a Stripe customer. This cannot be undone. Active subscriptions will be canceled. |
| list_customersA | List Stripe customers with optional filtering by email, creation date, and pagination. |
| search_customersA | Search Stripe customers using the Search API. Query syntax: field~"value" or field:"value". Searchable fields: email, name, phone, metadata. |
| create_payment_intentB | Create a Stripe PaymentIntent. Amount is in the smallest currency unit (e.g. cents for USD). |
| retrieve_payment_intentA | Retrieve a PaymentIntent by ID. |
| confirm_payment_intentA | Confirm a PaymentIntent to initiate the payment. Optionally attach a payment method. |
| capture_payment_intentA | Capture a previously authorized PaymentIntent (capture_method=manual). Optionally capture a partial amount. |
| cancel_payment_intentA | Cancel a PaymentIntent. Can only cancel intents that are not already succeeded. |
| list_payment_intentsC | List PaymentIntents with optional filtering. |
| list_payment_methodsB | List payment methods attached to a customer. |
| attach_payment_methodC | Attach a payment method to a customer. |
| detach_payment_methodA | Detach a payment method from its customer. |
| retrieve_chargeA | Retrieve a charge by ID. |
| list_chargesB | List charges with optional filtering. |
| create_subscriptionA | Create a new subscription for a customer. Requires at least one price item. |
| retrieve_subscriptionA | Retrieve a subscription by ID. |
| update_subscriptionB | Update a subscription. Can change items, payment method, trial, cancellation behavior, and metadata. |
| cancel_subscriptionA | Cancel a subscription immediately or at the end of the current period. |
| list_subscriptionsC | List subscriptions with optional filtering. |
| create_productC | Create a new Stripe product. |
| list_productsB | List Stripe products. |
| create_priceB | Create a new price for a product. |
| list_pricesB | List prices with optional product filter. |
| create_invoiceA | Create a draft invoice for a customer. Add invoice items before finalizing. |
| create_invoice_itemB | Add a line item to an invoice (or to the customer's next upcoming invoice). |
| retrieve_invoiceA | Retrieve an invoice by ID. |
| finalize_invoiceA | Finalize a draft invoice so it can be paid. This transitions it from draft to open. |
| pay_invoiceA | Attempt to pay an open invoice using the default payment method. |
| void_invoiceA | Void a finalized invoice. Cannot be undone. |
| list_invoicesB | List invoices with optional filtering. |
| retrieve_upcoming_invoiceA | Preview the next upcoming invoice for a customer. Useful for showing what will be charged. |
| create_refundB | Refund a charge or payment intent. Specify amount for partial refunds; omit for full refund. |
| retrieve_refundA | Retrieve a refund by ID. |
| list_refundsB | List refunds with optional filtering. |
| create_checkout_sessionB | Create a Stripe Checkout session. Returns a URL to redirect customers to Stripe-hosted payment page. |
| retrieve_checkout_sessionA | Retrieve a Checkout session by ID. Includes payment status and customer details. |
| list_checkout_sessionsA | List Checkout sessions with optional filtering. |
| create_couponB | Create a Stripe coupon for discounts on subscriptions or invoices. |
| list_couponsC | List all coupons. |
| retrieve_balanceA | Retrieve the current Stripe account balance, broken down by currency and status (available, pending). |
| list_balance_transactionsA | List balance transactions (charges, refunds, payouts, fees, etc.) with optional filtering. |
| list_payoutsA | List payouts to your bank account or debit card. |
| list_disputesB | List payment disputes (chargebacks). |
| retrieve_disputeA | Retrieve a dispute by ID with full details. |
| create_webhook_endpointB | Register a new webhook endpoint with Stripe. |
| list_webhook_endpointsA | List all registered webhook endpoints. |
| delete_webhook_endpointA | Delete a webhook endpoint. Cannot be undone. |
| list_eventsA | List recent Stripe events (webhook deliveries). Useful for debugging integrations. |
| retrieve_eventA | Retrieve a single event by ID with full payload. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_stripe_integration | Get a comprehensive review of your Stripe integration covering security, error handling, webhook reliability, and best practices. |
| setup_webhooks | Step-by-step guide for implementing Stripe webhook handling in your application. |
| design_pricing | Help design and implement a pricing model using Stripe Products, Prices, and Subscriptions. |
| troubleshoot_payment | Diagnose and resolve a failed payment, declined charge, or integration error. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| account | Current Stripe account details: business name, country, capabilities, and settings (sanitized). |
| balance | Current Stripe balance broken down by currency (available, pending, connect_reserved). |
| webhook_endpoints | List of registered webhook endpoints with enabled events and status (sanitized; secrets redacted). |
| products_catalog | Active product catalog with default prices (sanitized). |
TDQS
Scored across 52 tools
Each tool targets a distinct Stripe resource or action (e.g., customers, payment intents, subscriptions, invoices). Tool names clearly indicate the operation and entity, making them easy to differentiate.
All tools follow a consistent verb_noun pattern in snake_case (e.g., create_customer, list_invoices, retrieve_balance). No mixing of conventions or ambiguous verbs.
With 52 tools, the set is large but justified by Stripe's extensive API surface. Each tool covers a necessary operation, though some could be consolidated (e.g., search_customers vs. list_customers). Still, the scope is reasonable for a comprehensive integration.
The tool set provides near-complete coverage of Stripe's core operations: CRUD for customers, products, prices, payment intents, subscriptions, invoices, charges, refunds, disputes, coupons, and webhooks. Advanced operations like search, balance retrieval, and checkout sessions are included. Only minor gaps (e.g., no update_invoice) exist.