Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Interact with Stripe services over the Stripe API.
| Attribute | Details |
|---|---|
| Docker Image | mcp/stripe |
| Author | stripe |
| Repository | https://github.com/stripe/agent-toolkit |
| Dockerfile | https://github.com/stripe/agent-toolkit/blob/main/modelcontextprotocol/Dockerfile |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/stripe --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
cancel_subscription | Cancel subscription |
create_coupon | Create coupon |
create_customer | Create customer |
create_invoice | Create invoice |
create_invoice_item | Create invoice item |
create_payment_link | Create payment link |
create_price | Create price |
create_product | Create product |
create_refund | Create refund |
finalize_invoice | Finalize invoice |
list_coupons | List coupons |
list_customers | List customers |
list_disputes | List disputes |
list_invoices | List invoices |
list_payment_intents | List payment intents |
list_prices | List prices |
list_products | List products |
list_subscriptions | List subscriptions |
retrieve_balance | Retrieve balance |
search_stripe_documentation | Search Stripe documentation |
update_dispute | Update dispute |
update_subscription | Update subscription |
cancel_subscriptionThis tool will cancel a subscription in Stripe.
It takes the following arguments:
subscription|string|The ID of the subscription to cancel.This tool may perform destructive updates.
This tool is idempotent. Repeated calls with same args have no additional effect.
This tool interacts with external entities.
create_couponThis tool will create a coupon in Stripe.
It takes several arguments:
Only use one of percent_off or amount_off, not both:
Optional arguments for duration. Use if specific duration is desired, otherwise default to 'once'.
amount_off|number|A positive integer representing the amount to subtract from an invoice total (required if percent_off is not passed)
name|string|Name of the coupon displayed to customers on invoices or receipts
currency|stringoptional|Three-letter ISO code for the currency of the amount_off parameter (required if amount_off is passed). Infer based on the amount_off. For example, if a coupon is $2 off, set currency to be USD.
duration|stringoptional|How long the discount will last. Defaults to "once"
duration_in_months|numberoptional|The number of months the discount will last if duration is repeating
percent_off|numberoptional|A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if amount_off is not passed)This tool interacts with external entities.
create_customerThis tool will create a customer in Stripe.
It takes two arguments:
name|string|The name of the customer
email|stringoptional|The email of the customerThis tool interacts with external entities.
create_invoiceThis tool will create an invoice in Stripe.
It takes two arguments:
customer (str): The ID of the customer to create the invoice for.
days_until_due (int, optional): The number of days until the invoice is due.
Parameters|Type|Description
-|-|-
customer|string|The ID of the customer to create the invoice for.
days_until_due|integeroptional|The number of days until the invoice is due.
This tool interacts with external entities.
create_invoice_itemThis tool will create an invoice item in Stripe.
It takes three arguments'}:
customer (str): The ID of the customer to create the invoice item for.
price (str): The ID of the price to create the invoice item for.
invoice (str): The ID of the invoice to create the invoice item for.
Parameters|Type|Description
-|-|-
customer|string|The ID of the customer to create the invoice item for.
invoice|string|The ID of the invoice to create the item for.
price|string|The ID of the price for the item.
This tool interacts with external entities.
create_payment_linkThis tool will create a payment link in Stripe.
It takes two arguments:
price|string|The ID of the price to create the payment link for.
quantity|integer|The quantity of the product to include.
redirect_url|stringoptional|The URL to redirect to after the payment is completed.This tool interacts with external entities.
create_priceThis tool will create a price in Stripe. If a product has not already been specified, a product should be created first.
It takes three arguments:
currency|string|The currency of the price.
product|string|The ID of the product to create the price for.
unit_amount|integer|The unit amount of the price in cents.This tool interacts with external entities.
create_productThis tool will create a product in Stripe.
It takes two arguments:
name|string|The name of the product.
description|stringoptional|The description of the product.This tool interacts with external entities.
create_refundThis tool will refund a payment intent in Stripe.
It takes three arguments:
payment_intent|string|The ID of the PaymentIntent to refund.
amount|integeroptional|The amount to refund in cents.This tool interacts with external entities.
finalize_invoiceThis tool will finalize an invoice in Stripe.
It takes one argument:
invoice|string|The ID of the invoice to finalize.This tool interacts with external entities.
list_couponsThis tool will fetch a list of Coupons from Stripe.
It takes one optional argument:
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_customersThis tool will fetch a list of Customers from Stripe.
It takes two arguments:
email|stringoptional|A case-sensitive filter on the list based on the customer's email field. The value must be a string.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_disputesThis tool will fetch a list of disputes in Stripe.
It takes the following arguments:
charge|stringoptional|Only return disputes associated to the charge specified by this charge ID.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
payment_intent|stringoptional|Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_invoicesThis tool will fetch a list of Invoices from Stripe.
It takes two arguments:
customer (str, optional): The ID of the customer to list invoices for.
limit (int, optional): The number of invoices to return.
Parameters|Type|Description
-|-|-
customer|stringoptional|The ID of the customer to list invoices for.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_payment_intentsThis tool will list payment intents in Stripe.
It takes two arguments:
customer (str, optional): The ID of the customer to list payment intents for.
limit (int, optional): The number of payment intents to return.
Parameters|Type|Description
-|-|-
customer|stringoptional|The ID of the customer to list payment intents for.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100.
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_pricesThis tool will fetch a list of Prices from Stripe.
It takes two arguments.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
product|stringoptional|The ID of the product to list prices for.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_productsThis tool will fetch a list of Products from Stripe.
It takes one optional argument:
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_subscriptionsThis tool will list all subscriptions in Stripe.
It takes four arguments:
customer (str, optional): The ID of the customer to list subscriptions for.
price (str, optional): The ID of the price to list subscriptions for.
status (str, optional): The status of the subscriptions to list.
limit (int, optional): The number of subscriptions to return.
Parameters|Type|Description
-|-|-
customer|stringoptional|The ID of the customer to list subscriptions for.
limit|integeroptional|A limit on the number of objects to be returned. Limit can range between 1 and 100.
price|stringoptional|The ID of the price to list subscriptions for.
status|stringoptional|The status of the subscriptions to retrieve.
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
retrieve_balanceThis tool will retrieve the balance from Stripe. It takes no input.
search_stripe_documentationThis tool will take in a user question about integrating with Stripe in their application, then search and retrieve relevant Stripe documentation to answer the question.
It takes two arguments:
question|string|The user question about integrating with Stripe will be used to search the documentation.
language|stringoptional|The programming language to search for in the the documentation.This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
update_disputeWhen you receive a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help resolve the dispute in your favor. This tool helps.
It takes the following arguments:
dispute|string|The ID of the dispute to update
evidence|objectoptional|Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.
submit|booleanoptional|Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.This tool interacts with external entities.
update_subscriptionThis tool will update an existing subscription in Stripe. If changing an existing subscription item, the existing subscription item has to be set to deleted and the new one has to be added.
It takes the following arguments:
subscription|string|The ID of the subscription to update.
items|arrayoptional|A list of subscription items to update, add, or remove.
proration_behavior|stringoptional|Determines how to handle prorations when the subscription items change.This tool interacts with external entities.
{
"mcpServers": {
"stripe": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"STRIPE_SECRET_KEY",
"mcp/stripe",
"--tools=all"
],
"env": {
"STRIPE_SECRET_KEY": "sk_STRIPE_SECRET_KEY"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for