
Stripe Direct Connection
Available ActionsEach successful request consumes credits as outlined below.
Details
Connect your AI agents to Stripe in seconds. The Stripe Direct Connection plugs straight into Stripe's official hosted MCP server, giving agents full read/write control over customers, products, prices, subscriptions, invoices, refunds, payment links, coupons, and disputes — no SDK install, no integration code, just one credential. Use it to launch SaaS subscription billing with recurring monthly or annual prices, automate accounts receivable by issuing and finalizing invoices, generate hosted Stripe Checkout payment links for e-commerce orders, run customer-support refund flows with reason tracking, manage promotional coupon campaigns, and retrieve real-time account balances. The integration also supports Stripe's full query syntax for searching payment intents, charges, customers, and invoices, plus an interactive integration recommender that maps your business requirements to the right Stripe products (Checkout, Elements, Billing, Connect). Built for agentic workflows in SaaS billing, e-commerce, marketplace payments, donation processing, and finance automation.
Use Cases
Launch SaaS subscription billing with recurring prices and hosted payment links, Automate customer onboarding and CRM-to-Stripe sync, Generate Stripe Checkout payment links for e-commerce orders, Run customer-support refund workflows with reason tracking, Issue and finalize invoices for accounts receivable automation, Resolve Stripe disputes and submit evidence to the bank, Manage promotional coupons and discount campaigns, Retrieve real-time Stripe account balances and payment intent history, Search customers, charges, invoices, and subscriptions with Stripe's query syntax, Audit recent refunds and payment intents for finance reporting, Plan new Stripe integrations with the interactive integration recommender, Update or cancel subscriptions mid-cycle with proration control
Connect Your Agent In 5 Min
Watch the setup guide for your platform
Or Install Locally
STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to https://api.agentpmt.com/mcp. All tool execution happens in the cloud and the server cannot edit any files on your computer.
npm install -g @agentpmt/mcp-routeragentpmt-setupCredentials
Manage credentials in your dashboard.
Actions(27)
search_stripe_documentation5cr3 paramsSearch 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.
search_stripe_documentation5cr3 paramsSearch 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.
questionstringThe user question about integrating with Stripe will be used to search the documentation.
languagestringThe programming language to search for in the the documentation.
search_only_api_refbooleanWhen set to true, search only in the Stripe API reference documentation instead of the full documentation set. Use true when users need specific API implementation details, code examples, or parameter references. Use false (default) for conceptual explanations, best practices, integration guides, or troubleshooting help.
get_stripe_account_info5cr0 paramsThis will get the account info for the logged in Stripe account.
get_stripe_account_info5cr0 paramsThis will get the account info for the logged in Stripe account.
No parameters for this action.
create_customer5cr2 paramsThis 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_customer5cr2 paramsThis 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.
namestringThe name of the customer
emailstringThe email of the customer
list_customers5cr2 paramsThis 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_customers5cr2 paramsThis 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.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100.
emailstringA case-sensitive filter on the list based on the customer's email field. The value must be a string.
create_product5cr2 paramsThis 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_product5cr2 paramsThis 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.
namestringThe name of the product.
descriptionstringThe description of the product.
list_products5cr1 paramThis tool will fetch a list of Products from Stripe.
It takes one optional argument:
- limit (int, optional): The number of products to return.
list_products5cr1 paramThis tool will fetch a list of Products from Stripe. It takes one optional argument: - limit (int, optional): The number of products to return.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
create_price5cr4 params(1 required)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_price5cr4 params(1 required)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.
recurringrequiredobjectThe recurring components of a price such as its interval.
interval(string)- Specifies billing frequency. Either day, week, month or year.interval_count(integer)- The number of intervals between subscription billings. For example, interval=month and interval_count=3 bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).productstringThe ID of the product to create the price for.
unit_amountnumberThe unit amount of the price in cents.
currencystringThe currency of the price.
list_prices5cr2 paramsThis 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_prices5cr2 paramsThis 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.
productstringThe ID of the product to list prices for.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
create_payment_link5cr2 paramsThis 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.
create_payment_link5cr2 paramsThis 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.
pricestringThe ID of the price to create the payment link for.
quantitynumberThe quantity of the product to include.
create_invoice5cr2 paramsThis 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_invoice5cr2 paramsThis 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.
customerstringThe ID of the customer to create the invoice for.
days_until_duenumberThe number of days until the invoice is due.
list_invoices5cr2 paramsThis 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_invoices5cr2 paramsThis 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.
customerstringThe ID of the customer to list invoices for.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
create_invoice_item5cr3 paramsThis 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_invoice_item5cr3 paramsThis 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.
customerstringThe ID of the customer to create the invoice item for.
pricestringThe ID of the price for the item.
invoicestringThe ID of the invoice to create the item for.
finalize_invoice5cr1 paramThis tool will finalize an invoice in Stripe.
It takes one argument:
- invoice (str): The ID of the invoice to finalize.
finalize_invoice5cr1 paramThis tool will finalize an invoice in Stripe. It takes one argument: - invoice (str): The ID of the invoice to finalize.
invoicestringThe ID of the invoice to finalize.
retrieve_balance5cr0 paramsThis tool will retrieve the balance from Stripe. It takes no input.
retrieve_balance5cr0 paramsThis tool will retrieve the balance from Stripe. It takes no input.
No parameters for this action.
create_refund5cr3 paramsThis 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".
create_refund5cr3 paramsThis 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".
payment_intentstringThe ID of the PaymentIntent to refund.
amountintegerThe amount to refund in cents.
reasonstringThe reason for the refund.
list_payment_intents5cr2 paramsThis 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_payment_intents5cr2 paramsThis 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.
customerstringThe ID of the customer to list payment intents for.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100.
list_subscriptions5cr4 paramsThis 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.
list_subscriptions5cr4 paramsThis 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.
customerstringThe ID of the customer to list subscriptions for.
pricestringThe ID of the price to list subscriptions for.
statusstringThe status of the subscriptions to retrieve.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100.
cancel_subscription5cr1 paramThis tool will cancel a subscription in Stripe.
It takes the following arguments:
- subscription (str, required): The ID of the subscription to cancel.
cancel_subscription5cr1 paramThis tool will cancel a subscription in Stripe. It takes the following arguments: - subscription (str, required): The ID of the subscription to cancel.
subscriptionstringThe ID of the subscription to cancel.
update_subscription5cr3 paramsThis 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.
update_subscription5cr3 paramsThis 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.
subscriptionstringThe ID of the subscription to update.
proration_behaviorstringDetermines how to handle prorations when the subscription items change.
itemsarrayA list of subscription items to update, add, or remove.
list_coupons5cr1 paramThis tool will fetch a list of Coupons from Stripe.
It takes one optional argument:
- limit (int, optional): The number of coupons to return.
list_coupons5cr1 paramThis tool will fetch a list of Coupons from Stripe. It takes one optional argument: - limit (int, optional): The number of coupons to return.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100.
create_coupon5cr6 paramsThis 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_coupon5cr6 paramsThis 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.
namestringName of the coupon displayed to customers on invoices or receipts
percent_offnumberA 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)
amount_offnumberA positive integer representing the amount to subtract from an invoice total (required if percent_off is not passed)
currencystringThree-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.
USDdurationstringHow long the discount will last. Defaults to "once"
onceduration_in_monthsnumberThe number of months the discount will last if duration is repeating
update_dispute5cr3 paramsWhen 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_dispute5cr3 paramsWhen 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.
disputestringThe ID of the dispute to update
evidenceobjectEvidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.
cancellation_policy_disclosure(string)- An explanation of how and when the customer was shown your refund policy prior to purchase.duplicate_charge_explanation(string)- An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.uncategorized_text(string)- Any additional evidence or statements.submitbooleanWhether to immediately submit evidence to the bank. If false, evidence is staged on the dispute.
list_disputes5cr3 paramsThis 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_disputes5cr3 paramsThis 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.
chargestringOnly return disputes associated to the charge specified by this charge ID.
payment_intentstringOnly return disputes associated to the PaymentIntent specified by this PaymentIntent ID.
limitintegerA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
10search_stripe_resources5cr1 paramThis tool can be used to search for specific Stripe resources using a custom Stripe query syntax.
It is only able to search for the following resources: customers, payment_intents, charges, invoices, prices, products, subscriptions. It returns a maximum of 100 results.
IMPORTANT: For most use cases, prefer using the specific `list_` tools (e.g., `list_customers`, `list_payment_intents`) when you know the resource type you need. Only use this search tool when you need to:
- Search across multiple resource types simultaneously
- Search by field values that aren't supported by list tools
- Use complex query syntax that isn't supported by list tools
It takes one argument:
- query (str): The query consisting of the Stripe resource to query for and the query clause in Stripe's custom query syntax to query metadata for.
Note that any amount returned is in currency minor units, e.g. cents for USD and yen for JPY.
search_stripe_resources5cr1 paramThis tool can be used to search for specific Stripe resources using a custom Stripe query syntax. It is only able to search for the following resources: customers, payment_intents, charges, invoices, prices, products, subscriptions. It returns a maximum of 100 results. IMPORTANT: For most use cases, prefer using the specific `list_` tools (e.g., `list_customers`, `list_payment_intents`) when you know the resource type you need. Only use this search tool when you need to: - Search across multiple resource types simultaneously - Search by field values that aren't supported by list tools - Use complex query syntax that isn't supported by list tools It takes one argument: - query (str): The query consisting of the Stripe resource to query for and the query clause in Stripe's custom query syntax to query metadata for. Note that any amount returned is in currency minor units, e.g. cents for USD and yen for JPY.
querystringThis query string should be formatted as 'resource:query_clause', where 'resource' is one of (customers, payment_intents, charges, invoices, prices, products, subscriptions), and 'query_clause' is the actual query in Stripe's custom query syntax to query metadata for that resource. For example, for the query: customers:email:"jenny.rosen@example.com" resource: `customers` query_clause: `email:"jenny.rosen@example.com"` A query clause consists of a field, operator, and value. ## Query Fields for customers * created * email * metadata * name * phone ## Query Fields for payment_intents * amount * created * currency * customer * metadata * status ## Query Fields for charges * amount * billing_details.address.postal_code * created * currency * customer * disputed * metadata * payment_method_details.{{SOURCE}}.last4 * payment_method_details.{{SOURCE}}.exp_month * payment_method_details.{{SOURCE}}.exp_year * payment_method_details.{{SOURCE}}.brand * payment_method_details.{{SOURCE}}.fingerprint * refunded * status ## Query Fields for invoices * created * currency * customer * last_finalization_error_code * last_finalization_error_type * metadata * number * receipt_number * status * subscription * total ## Query Fields for prices * active * currency * lookup_key * metadata * product * type ## Query Fields for products * active * description * metadata * name * shippable * url ## Query Fields for subscriptions * created * metadata * status * canceled_at ## Search Operators The following table lists the syntax that you can use to construct a query: | Syntax | Usage | Description | When to Use | Examples | |--------|-------|-------------|-------------|----------| | `:` | `field:value` | Exact match operator (case insensitive) | **ONLY when you know the exact complete value** | `currency:"eur"` returns records where the currency is exactly "EUR" | | `~` | `field~value` | Substring match operator (minimum 3 characters) | **ALWAYS use for domain searches, partial names, email parts** | `email~"foo.com"` returns emails containing "foo.com" | | `AND`, `and` | `field:value1 AND field:value2` | Returns records that match both clauses | Combining multiple conditions | `status:"active" AND amount:500` | | `OR`, `or` | `field:value1 OR field:value2` | Returns records that match either clause | Alternative conditions | `currency:"usd" OR currency:"eur"` | | `-` | `-field:value` | Returns records that don't match the clause | Excluding specific values | `-currency:"jpy"` returns records not in JPY | | `NULL`, `null` | `field:null` | Checks for field presence (empty/null values) | Finding empty fields | `url:null` returns records where URL field is empty | | `>`, `<`, `>=`, `<=`, `=` | `field>value`, `field<value`, etc. | Numeric comparison operators | Amount ranges, dates | `amount>="10"` returns records with amount >= 10 | | `` | `" """` | Escape quotes within quotes | When quotes are in the search value | `description:"the story called "The Sky and the Sea.""` | ## Query Rules * You can combine up to 10 query clauses in a search by separating them with a space or using AND/OR keywords (case insensitive) * You cannot combine AND and OR in the same query * No parentheses are supported for operator precedence * By default, the API combines clauses with AND logic * You must use quotation marks around string values (optional for numeric values) * You can escape quotes inside quotes with a backslash (\) ## Examples Input: Look up charges matching a custom metadata value. Output: charges:metadata['order_id']:'1234567890' Input: Look up charges matching the last 4 digits of the card used for the payment. Output: charges:payment_method_details.card.last4:4242 Input: Look up customers matching an email. Output: customers:email:'jenny.rosen@example.com' Input: Look up PaymentIntents not in the USD currency. Output: payment_intents:-currency:'usd' Input: Filter invoice objects with a total greater than 1000. Output: invoices:total>1000 Input: Filter payments with a amount over $100. Reasoning: Stripe "amount" field is in cents, so we use 1000 instead of 100 Output: payment_intents:amount>1000 Input: Look up charges matching a combination of metadata and currency. Output: charges:metadata['key']:'value' AND currency:'usd' Input: Search for customers with email containing "john". Output: customers:email~"john" Input: Find products where the description field is empty. Output: products:description:null Input: Search for payments with amounts greater than or equal to 5000. Output: payment_intents:amount>=5000 Input: Search for products with description with escaped quotes. Output: products:description:"The story called "The Sky and the Sea"."
fetch_stripe_resources5cr1 paramRetrieve Stripe object details by ID.
IMPORTANT: Only call this tool after search_stripe_resources is called to get specific object IDs. Do not use this tool to discover or search for objects.
This tool fetches the object information from Stripe including all available fields. It is only able to fetch the following resources (prefixes):
- Payment Intents (pi_)
- Charges (ch_)
- Invoices (in_)
- Prices (price_)
- Products (prod_)
- Subscriptions (sub_)
- Customers (cus_)
It takes one argument:
- id (str): The unique identifier for the Stripe object (e.g. cus_123, pi_123).
Note that any amount returned is in currency minor units, e.g. cents for USD and yen for JPY.
fetch_stripe_resources5cr1 paramRetrieve Stripe object details by ID. IMPORTANT: Only call this tool after search_stripe_resources is called to get specific object IDs. Do not use this tool to discover or search for objects. This tool fetches the object information from Stripe including all available fields. It is only able to fetch the following resources (prefixes): - Payment Intents (pi_) - Charges (ch_) - Invoices (in_) - Prices (price_) - Products (prod_) - Subscriptions (sub_) - Customers (cus_) It takes one argument: - id (str): The unique identifier for the Stripe object (e.g. cus_123, pi_123). Note that any amount returned is in currency minor units, e.g. cents for USD and yen for JPY.
idstringThe unique identifier for the Stripe object (e.g. cus_123, pi_123).
stripe_integration_recommender5cr3 paramsGuides 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.
stripe_integration_recommender5cr3 paramsGuides 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.
plan_idstringPlan identifier in format lplan_[alphanumeric] from previous response. Required for continuing existing plan. Omit when starting new plan.
^lplan_[a-zA-Z0-9]+$answerstringFor new plans (no plan_id): 2-3 sentence summary including (1) business name and payment model, (2) tech stack with frontend AND backend (use 'UNKNOWN' for unknown components), (3) payment requirements (use 'UNKNOWN' if not specified). For existing plans: User's verbatim response. Accepts option selections ('Option 1'), natural language, clarifying questions, or 'UNKNOWN'.
notesstringOptional agent-discovered context from codebase analysis (e.g., 'Found Stripe SDK v12.0.0', 'Existing webhook at /api/stripe'). Helps backend provide accurate recommendations.
send_stripe_mcp_feedback5cr5 paramsSubmit 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".
send_stripe_mcp_feedback5cr5 paramsSubmit 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".
sentimentstringpositive, negative, or neutral
quotestringUser's exact message containing feedback. Max 1000 chars.
contextstringWhat the user was trying to accomplish.
tool_namestringThe name of the tool the user is giving feedback about. Include if confident that feedback is about a specific tool.
sourcestringuser or agent
curl -X POST "https://api.agentpmt.com/products/purchase" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ********" \
-d '{
"product_id": "6962caed5d4cf4d4b6af40f5",
"parameters": {
"action": "search_stripe_documentation"
}
}'import requests
import json
url = "https://api.agentpmt.com/products/purchase"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
}
data = {
"product_id": "6962caed5d4cf4d4b6af40f5",
"parameters": {
"action": "search_stripe_documentation"
}
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
product_id: "6962caed5d4cf4d4b6af40f5",
parameters: {
"action": "search_stripe_documentation"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));const axios = require('axios');
const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
product_id: "6962caed5d4cf4d4b6af40f5",
parameters: {
"action": "search_stripe_documentation"
}
};
axios.post(url, data, { headers })
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => {
console.error("Error:", error.message);
});Login to view your API and budget keys. The example above uses placeholder values. Sign in to see personalized code with your bearer token.
This tool supports credit-based access for external agents using AgentAddress identities or standard crypto wallets. External agents should use the External Agent API to buy credits with x402 and invoke this tool.
1. Buy Credits
Purchase credits via x402 payment (500 credit minimum, 100 credits = $1).
# Request payment requirements (returns 402 + PAYMENT-REQUIRED header)
curl -i -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'
# Sign the EIP-3009 authorization, then retry with signature header
curl -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64-json>" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'2. Create a Session Nonce (nonce used in signed balance/invoke)
curl -s -X POST "https://www.agentpmt.com/api/external/auth/session" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET" }'3. Invoke This Tool
Sign the message with your wallet (EIP-191 personal-sign), then POST to the invoke endpoint.
# Sign this message (wallet MUST be lowercased):
# agentpmt-external
# wallet:0xyourwallet...
# session:<session_nonce>
# request:<request_id>
# action:invoke
# product:6962caed5d4cf4d4b6af40f5
# payload:<sha256(canonical_json(parameters))>
curl -s -X POST "https://www.agentpmt.com/api/external/tools/6962caed5d4cf4d4b6af40f5/invoke" \
-H "Content-Type: application/json" \
-d '{
"wallet_address": "0xYOUR_WALLET",
"session_nonce": "<session_nonce>",
"request_id": "invoke-uuid",
"signature": "0x<signature>",
"parameters": {
"action": "your_action",
"your_param": "value"
}
}'




