LabStore
← All labs

Stripe

by docker ✓ verified ✓ Packaged by Docker

Interact with Stripe services over the Stripe API.

MCP server installable needs setup network: on runtime: sysbox

Finance & Accounting MCP Servers

Stripe MCP Server

Interact with Stripe services over the Stripe API.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/stripe
Author stripe
Repository https://github.com/stripe/agent-toolkit

Image Building Info

Attribute Details
Dockerfile https://github.com/stripe/agent-toolkit/blob/5af4bcd15813cbcbd91baceeb5ec79cf975035f1/tools/modelcontextprotocol/Dockerfile
Commit 5af4bcd15813cbcbd91baceeb5ec79cf975035f1
Docker Image built by Docker Inc.
Docker Scout Health Score 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

Available Tools (22)

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

Tools Details

Tool: cancel_subscription

This tool will cancel a subscription in Stripe.

It takes the following arguments:

  • subscription (str, required): The ID of the subscription to cancel.
Parameters Type Description
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.


Tool: create_coupon

This tool will create a coupon in Stripe.

It takes several arguments:

  • name (str): The name of the coupon.

Only use one of percent_off or amount_off, not both:

  • percent_off (number, optional): The percentage discount to apply (between 0 and 100).
  • amount_off (number, optional): The amount to subtract from an invoice (in cents).

Optional arguments for duration. Use if specific duration is desired, otherwise default to 'once'.

  • duration (str, optional): How long the discount will last ('once', 'repeating', or 'forever'). Defaults to 'once'.
  • duration_in_months (number, optional): The number of months the discount will last if duration is repeating.
Parameters Type Description
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 string optional 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 string optional How long the discount will last. Defaults to "once"
duration_in_months number optional The number of months the discount will last if duration is repeating
percent_off number optional 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.


Tool: create_customer

This tool will create a customer in Stripe.

It takes two arguments:

  • name (str): The name of the customer.
  • email (str, optional): The email of the customer.
Parameters Type Description
name string The name of the customer
email string optional The email of the customer

This tool interacts with external entities.


Tool: create_invoice

This 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 integer optional The number of days until the invoice is due.

This tool interacts with external entities.


Tool: create_invoice_item

This 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.


This tool will create a payment link in Stripe.

It takes two arguments:

  • price (str): The ID of the price to create the payment link for.
  • quantity (int): The quantity of the product to include in the payment link.
  • redirect_url (str, optional): The URL to redirect to after the payment is completed.
Parameters Type Description
price string The ID of the price to create the payment link for.
quantity integer The quantity of the product to include.
redirect_url string optional The URL to redirect to after the payment is completed.

This tool interacts with external entities.


Tool: create_price

This 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:

  • product (str): The ID of the product to create the price for.
  • unit_amount (int): The unit amount of the price in cents.
  • currency (str): The currency of the price.
Parameters Type Description
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.


Tool: create_product

This tool will create a product in Stripe.

It takes two arguments:

  • name (str): The name of the product.
  • description (str, optional): The description of the product.
Parameters Type Description
name string The name of the product.
description string optional The description of the product.

This tool interacts with external entities.


Tool: create_refund

This tool will refund a payment intent in Stripe.

It takes three arguments:

  • payment_intent (str): The ID of the payment intent to refund.
  • amount (int, optional): The amount to refund in cents.
  • reason (str, optional): The reason for the refund.
Parameters Type Description
payment_intent string The ID of the PaymentIntent to refund.
amount integer optional The amount to refund in cents.

This tool interacts with external entities.


Tool: finalize_invoice

This tool will finalize an invoice in Stripe.

It takes one argument:

  • invoice (str): The ID of the invoice to finalize.
Parameters Type Description
invoice string The ID of the invoice to finalize.

This tool interacts with external entities.


Tool: list_coupons

This tool will fetch a list of Coupons from Stripe.

It takes one optional argument:

  • limit (int, optional): The number of coupons to return.
Parameters Type Description
limit integer optional 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.


Tool: list_customers

This tool will fetch a list of Customers from Stripe.

It takes two arguments:

  • limit (int, optional): The number of customers to return.
  • email (str, optional): A case-sensitive filter on the list based on the customer's email field.
Parameters Type Description
email string optional A case-sensitive filter on the list based on the customer's email field. The value must be a string.
limit integer optional 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.


Tool: list_disputes

This tool will fetch a list of disputes in Stripe.

It takes the following arguments:

  • charge (string, optional): Only return disputes associated to the charge specified by this charge ID.
  • payment_intent (string, optional): Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.
Parameters Type Description
charge string optional Only return disputes associated to the charge specified by this charge ID.
limit integer optional A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
payment_intent string optional 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.


Tool: list_invoices

This 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 string optional The ID of the customer to list invoices for.
limit integer optional 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.


Tool: list_payment_intents

This 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 string optional The ID of the customer to list payment intents for.
limit integer optional 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.


Tool: list_prices

This tool will fetch a list of Prices from Stripe.

It takes two arguments.

  • product (str, optional): The ID of the product to list prices for.
  • limit (int, optional): The number of prices to return.
Parameters Type Description
limit integer optional A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
product string optional 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.


Tool: list_products

This tool will fetch a list of Products from Stripe.

It takes one optional argument:

  • limit (int, optional): The number of products to return.
Parameters Type Description
limit integer optional 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.


Tool: list_subscriptions

This 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 string optional The ID of the customer to list subscriptions for.
limit integer optional A limit on the number of objects to be returned. Limit can range between 1 and 100.
price string optional The ID of the price to list subscriptions for.
status string optional The status of the subscriptions to retrieve.

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: retrieve_balance

This tool will retrieve the balance from Stripe. It takes no input.

Tool: search_stripe_documentation

This 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 (str): The user question to search an answer for in the Stripe documentation.
  • language (str, optional): The programming language to search for in the the documentation.
Parameters Type Description
question string The user question about integrating with Stripe will be used to search the documentation.
language string optional 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.


Tool: update_dispute

When 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 (object, optional): Evidence to upload for the dispute.
    • cancellation_policy_disclosure (string)
    • cancellation_rebuttal (string)
    • duplicate_charge_explanation (string)
    • uncategorized_text (string, optional): Any additional evidence or statements.
  • submit (boolean, optional): Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.
Parameters Type Description
dispute string The ID of the dispute to update
evidence object optional Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.
submit boolean optional Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.

This tool interacts with external entities.


Tool: update_subscription

This 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 (str, required): The ID of the subscription to update.
  • proration_behavior (str, optional): Determines how to handle prorations when the subscription items change. Options: 'create_prorations', 'none', 'always_invoice', 'none_implicit'.
  • items (array, optional): A list of subscription items to update, add, or remove. Each item can have the following properties:
    • id (str, optional): The ID of the subscription item to modify.
    • price (str, optional): The ID of the price to switch to.
    • quantity (int, optional): The quantity of the plan to subscribe to.
    • deleted (bool, optional): Whether to delete this item.
Parameters Type Description
subscription string The ID of the subscription to update.
items array optional A list of subscription items to update, add, or remove.
proration_behavior string optional Determines how to handle prorations when the subscription items change.

This tool interacts with external entities.


Use this MCP Server

{
  "mcpServers": {
    "stripe": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "STRIPE_SECRET_KEY",
        "mcp/stripe",
        "--tools=all"
      ],
      "env": {
        "STRIPE_SECRET_KEY": "sk_STRIPE_SECRET_KEY"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?