MCP App Store
Financial-Services
Stripe icon

Stripe

by Stripe

Overview

The Stripe Model Context Protocol server defines a set of tools that AI agents can use to interact with the Stripe API and search its knowledge base (including documentation and support articles).

Tools

cancel_subscription

ChatGPT
This tool will cancel a subscription in Stripe. It takes the following arguments: - subscription (str, required): The ID of the subscription to cancel.

create_coupon

ChatGPT
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 currency minor units, e.g. cents for USD and yen for JPY). 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.

create_customer

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

create_invoice

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

create_invoice_item

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

create_price

ChatGPT
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 currency minor units, e.g. cents for USD and yen for JPY. - currency (str): The currency of the price.

create_product

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

create_refund

ChatGPT
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 currency minor units, e.g. cents for USD and yen for JPY. - reason (str, optional): The reason for the refund. Options: "duplicate", "fraudulent", "requested_by_customer".

explain_metric

ChatGPT
This tool will fetch the SQL query used to calculate a metric. Customize the SQL query as needed. Parameters: - metric (string): The canonical name of the metric. Call list_metrics to see all available metrics. - dimensions (array of strings, optional): The dimensions to group by. Can be empty or contain one or both of: "product", "price". - grains (array of strings, optional): The grain to group by. Can be empty or contain one of: "day", "week", "month". Default is "month". - filters (array of strings, optional): The filters to apply. Can be empty or contain one of: "top5". Default is "all". Related tools: - list_metrics: tool to see all available metrics. - get_metric: tool to get the underlying data for a metric. - metric_drilldown: tool to dive further and drill down into the underlying data for a metric. - show_metric: render a metric in a line chart in a UI. For non-visual analysis, use explain_metric or metric_drilldown instead.

fetch

ChatGPT
Retrieve Stripe object details by ID. This tool fetches the object information from Stripe including all available fields. Use this after finding the Stripe object ID(s) with the search tool to get complete information for analysis. It takes one argument: - id (str): The unique identifier for the Stripe object (e.g. cus_123, pi_123).

finalize_invoice

ChatGPT
This tool will finalize an invoice in Stripe. It takes one argument: - invoice (str): The ID of the invoice to finalize.

get_metric

ChatGPT
IMPORTANT: ALWAYS check the description of the execute_analytics tool first to see if the metric you want is available with that tool. If so, ALWAYS use the execute_analytics tool instead. This tool fetches aggregate metric data from Stripe (using Sigma). IMPORTANT: - Always call list_metrics first to see available metrics and their canonical names - If you use this data to calculate any derived metrics (like growth, rates, or other calculations), you MUST include this disclosure in your response to the user: "Note: This calculation is performed by AI and may differ from how Stripe officially calculates this metric. Please visit https://dashboard.stripe.com for official metrics." Parameters: - metric (string): The canonical name of the metric. Call list_metrics to see all available metrics. - dimensions (array of strings, optional): The dimensions to group by. Can be empty or contain one or both of: "product", "price". Not all metrics support all dimensions. - grains (array of strings, optional): The grain to group by. Can be empty or contain one of: "day", "week", "month". Default is "month" - filters (array of strings, optional): The filters to apply. Can be empty or contain one of: "top5". Default is "all" Related tools: - list_metrics: tool to see all available metrics - explain_metric: tool to get the SQL query for how a metric is calculated - metric_drilldown: tool to dive further and drill down into the underlying data for a metric - show_metric: tool to render a metric in a line chart in a UI

get_stripe_account_info

ChatGPT
This will get the account info for the logged in Stripe account.

list_coupons

ChatGPT
This tool will fetch a list of Coupons from Stripe. It takes one optional argument: - limit (int, optional): The number of coupons to return.

list_customers

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

list_disputes

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

list_invoices

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

list_metrics

ChatGPT
This tool will list all available metrics that can be used with get_metric, explain_metric, show_metric, and metric_drilldown tools. IMPORTANT - Unsupported Metrics: Some metrics are marked as "NOT SUPPORTED because they are derived metrics requiring complex calculations. - Do NOT attempt to calculate unsupported metrics yourself using raw Stripe data - Do NOT offer Sigma queries or dashboard navigation steps as alternatives - Do NOT suggest workarounds for unsupported metrics - When asked about unsupported metrics, you MUST include this disclosure: "Note: This metric requires complex calculations that may not match Stripe's official definitions. Please visit https://dashboard.stripe.com for accurate metrics." Use get_metric tool to get the underlying data for a metric. Use explain_metric tool to get the SQL query for how a metric is calculated. Use metric_drilldown tool to get the underlying data for a metric. Parameters: - canonical_name: The canonical name used to reference the metric. IMPORTANT: You MUST use this exact canonical_name value when calling get_metric, show_metric, explain_metric, or metric_drilldown. Do NOT use other_names with those tools. - description: A description of what the metric represents - other_names: Human-friendly aliases for understanding user intent only. Do NOT pass these to other tools — always use canonical_name instead. Related tools: - metric_drilldown: tool to dive further and drill down into the underlying data for a metric. - get_metric: tool to get the underlying data for a metric. - explain_metric: tool to get the SQL query for how a metric is calculated. - show_metric: render a metric in a line chart in a UI. For non-visual analysis, use explain_metric or metric_drilldown instead.

list_payment_intents

ChatGPT
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. Note that the payment intent amount returned is in currency minor units, e.g. cents for USD and yen for JPY.

list_prices

ChatGPT
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. Note that the price unit_amount returned is in currency minor units, e.g. cents for USD and yen for JPY.

list_products

ChatGPT
This tool will fetch a list of Products from Stripe. It takes one optional argument: - limit (int, optional): The number of products to return.

list_refunds

ChatGPT
This tool will fetch a list of Refunds from Stripe. Returns up to 10 refunds. You must provide either a charge ID or payment_intent ID to filter the refunds. It takes the following arguments: - charge_or_payment_intent (str): Only return refunds for the charge or payment intent specified by this ID. The ID must start with 'ch_' or 'pi_' (e.g., 'ch_1234567890' or 'pi_1234567890'). Refund amounts are in currency minor units (e.g., cents for USD, yen for JPY).

list_subscriptions

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

metric_drilldown

ChatGPT
This tool drills down into row-level data for a metric with specific time range filtering. IMPORTANT: - Returns up to 100 rows of detailed data (not aggregated charts) - You MUST render the returned data as a formatted table in your response to the user - Do NOT just say you displayed the data - actually format and show the table to the user - Both start_time and end_time are REQUIRED parameters - If user provides relative dates, convert them to ISO 8601 format before calling this tool Parameters: - metric (string, required): The canonical name of the metric to drill down into. Call list_metrics to see all available metrics. - start_time (string, required): The start time for filtering data in ISO 8601 format (e.g., '2024-01-01T00:00:00' or '2024-01-01') - end_time (string, required): The end time for filtering data in ISO 8601 format (e.g., '2024-12-31T23:59:59' or '2024-12-31') Related tools: - list_metrics: tool to see all available metrics - get_metric: tool to get the underlying data for a metric - explain_metric: tool to get the SQL query for how a metric is calculated - show_metric: tool to render a metric in a line chart in a UI

retrieve_balance

ChatGPT
This tool will retrieve the balance from Stripe. It takes no input. All monetary values returned by this tool are expressed in the smallest currency unit. For example: - 1000 is 10 USD (most two-decimal currencies like GBP, EUR, AUD, CAD, divide by 100 to get the major unit value) - 10 is 10 JPY (zero-decimal currency) - 10000 is 10 BHD (three-decimal currency) - 100000000 is 1 USDC If you don't know how many decimals are in a currency's minor units, use the search_stripe_documentation tool to look it up in https://docs.stripe.com/currencies#minor-units

search_stripe_documentation

ChatGPT
Search the Stripe documentation for the given question and language. 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.

send_stripe_mcp_feedback

ChatGPT
Submit feedback from user or agent about Stripe's MCP server tools. Valid: "the search tool returned irrelevant results", "I wish there was a tool for X" Invalid: Stripe API complaints, AI model issues, IDE/environment problems - Only call when feedback clearly targets MCP tools. - If feedback is about one specific tool, include its name in tool_name. - If feedback is from user, quote their exact message and set source to "user". - If a tool didn't follow your expectations as an agent, set source to "agent".

show_metric_app

ChatGPT
Visually displays a Stripe metric for analytics and reporting in a line chart. IMPORTANT: - ALWAYS call list_metrics once to see available_metrics before using this tool - ONLY use metrics listed in the enum for this tool - This tool does NOT support specific time range filters - This tool does NOT return detailed row-level data - Only use this tool for pure visualization of supported metrics without modifications Parameters: - metric (string): The canonical name of the metric. Call list_metrics to see all available metrics. - dimensions (array of strings, optional): The dimensions to group by. Can be empty or contain one or both of: "product", "price". Not all metrics support all dimensions. - grains (array of strings, optional): The grain to group by. Can be empty or contain one of: "day", "week", "month". Default is "month" - filters (array of strings, optional): The filters to apply. Can be empty or contain one of: "top5". Default is "all" Related tools: - list_metrics: tool to see all available metrics - get_metric: tool to get the underlying data for a metric - explain_metric: tool to get the SQL query for how a metric is calculated - metric_drilldown: tool to dive further and drill down into the underlying data for a metric

stripe_api_details

ChatGPT
Get detailed parameter information for a specific Stripe API operation. Provide the stripe_api_operation_id from stripe_api_search results to see all path, query, and body parameters with their types, descriptions, and whether they are required.

stripe_api_execute

ChatGPT
Execute any Stripe API operation: 1. Use stripe_api_search to find the operation ID. 2. Use stripe_api_details to understand its parameters (required for operations with nested object fields like address, metadata, or restrictions). 3. Call this tool with the stripe_api_operation_id and a parameters object containing path, query, and body parameters. Nested object fields use dot-notation (e.g. "address.city").

stripe_api_read

ChatGPT
Read data from any Stripe API GET operation: 1. Use stripe_api_search to find the operation ID. 2. Use stripe_api_details to understand its parameters (required for operations with nested object fields like address, metadata, or restrictions). 3. Call this tool with the stripe_api_operation_id and a parameters object containing path and query parameters. For mutations (POST/PATCH/PUT/DELETE), use stripe_api_write instead.

stripe_api_write

ChatGPT
Write data via any Stripe API POST/PATCH/PUT/DELETE operation: 1. Use stripe_api_search to find the operation ID. 2. Use stripe_api_details to understand its parameters (required for operations with nested object fields like address, metadata, or restrictions). 3. Call this tool with the stripe_api_operation_id and a parameters object containing path, query, and body parameters. Nested object fields use dot-notation (e.g. "address.city"). For read-only lookups (GET), use stripe_api_read instead.

stripe_implementation_planner

ChatGPT
Stripe payment integration planner. Use this tool to help users accept payments, sell products online, set up billing, or build any Stripe integration. Call this BEFORE writing code when the user wants to charge customers, add a checkout flow, handle subscriptions, create invoices, or monetize their app. WHEN TO USE: Call this tool when the user wants to: - Accept payments, take payments, or charge customers (credit cards, bank transfers, wallets) - Sell online, build e-commerce, add a shopping cart, or create a checkout page - Set up subscriptions, recurring billing, metered billing, or usage-based pricing - Send invoices or collect one-time payments - Add Stripe to their app, integrate Stripe, or build a payment flow - Understand which Stripe products to use (Checkout, Elements, Payment Intents, Connect, Billing) - Plan an integration architecture before writing code - Monetize an app, add billing, or start charging users FIRST CALL GUIDANCE: Ask the user about their business and payment requirements before choosing a use case: - What do they sell? (physical goods, digital products, SaaS, services, marketplace) - Payment model? (one-time, subscriptions, invoices, usage-based) - Platform? (web, mobile app, in-person, payment links) - Complexity? (simple payment link vs. custom integration in existing tech stack) Then pass their full description as the message parameter. Returns JSON with use cases, decision trees, documentation links, and a guide_id for follow-up calls. RULES: - Do NOT pass a guide_id unless you received it from this tool in this conversation. - Do NOT retry with different guide_ids if one fails — omit guide_id to start fresh.

stripe_integration_recommender

ChatGPT
Guides users through Stripe integration planning via interactive Q&A. Analyzes payment requirements and recommends the appropriate Stripe products (Checkout, Elements, Billing, Connect, etc.) with step-by-step implementation guidance. WHEN TO USE: Call this tool when the user expresses: - Payment keywords: "payments", "checkout", "billing", "subscriptions", "invoices" - Commercial intent: "sell", "monetize", "charge users", "e-commerce" - Stripe mention: User references "Stripe" directly IMPORTANT BEHAVIOR: - You may call this tool with partial information—the tool will ask clarifying questions. Do not wait until you have complete requirements. - Once a plan is in progress, stay in the Q&A flow until completion. If the user asks for clarification or advice (e.g., "what's best for me?"), answer them, then continue with the plan. Only exit early if the user explicitly requests it or the tool returns an unrecoverable error. - When the tool returns type="question", present the question to the user exactly as provided. PARAMETERS: - plan_id (optional): Required for continuing/updating. Omit when starting new plan. - answer (required): For new plans, provide summary. For existing plans, provide user response. Accepts option selections ('Option 1'), natural language, clarifying questions, or 'UNKNOWN'. - notes (optional): Technical context you've observed (e.g., "Python/Flask backend", "user wants minimal code to go live quickly", "already has Stripe SDK installed"). Returns JSON: - type="question": Plan in progress. Contains question to present to user and plan_id to include in next call. - type="summary": plan_id, status, summary (blueprints, prerequisites, sample_code) - type="error": status, error (code, message, user_visible, agent_guidance) WORKFLOW: - New plan: Call without plan_id + answer → Present question EXACTLY → Get answer → Call with plan_id + answer → Repeat - Continue plan: Present question EXACTLY → Analyze code → Formulate answer → Get approval → Call with plan_id + answer + notes → Repeat LIMITATIONS: - Generates integration guidance only; does not execute code or create Stripe resources. - Cannot modify completed or expired plans—start a new plan instead.

update_dispute

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

update_subscription

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

cancel_subscription

Claude

create_coupon

Claude

create_customer

Claude

create_invoice

Claude

create_invoice_item

Claude

create_price

Claude

create_product

Claude

create_refund

Claude

finalize_invoice

Claude

get_stripe_account_info

Claude

list_coupons

Claude

list_customers

Claude

list_disputes

Claude

list_invoices

Claude

list_payment_intents

Claude

list_prices

Claude

list_products

Claude

list_subscriptions

Claude

retrieve_balance

Claude

search_documentation

Claude

update_dispute

Claude

update_subscription

Claude

App Stats

62

Tools

0

Prompts

Dec 22, 2025

First seen

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily