How to integrate Stripe MCP with CrewAI

This guide walks you through connecting Stripe to CrewAI using the Composio tool router. By the end, you'll have a working Stripe agent that can create a new stripe customer with email, generate a draft invoice for recent orders, cancel an active subscription at period end through natural language commands. This guide will help you understand how to give your CrewAI agent real control over a Stripe account through Composio's Stripe MCP server. Before we dive in, let's take a quick look at the key ideas and tools involved.

Stripe logoStripe
Api KeyOauth2

Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.

415 Tools7 Triggers

Introduction

This guide walks you through connecting Stripe to CrewAI using the Composio tool router. By the end, you'll have a working Stripe agent that can create a new stripe customer with email, generate a draft invoice for recent orders, cancel an active subscription at period end through natural language commands.

This guide will help you understand how to give your CrewAI agent real control over a Stripe account through Composio's Stripe MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Stripe with

TL;DR

Here's what you'll learn:
  • Get a Composio API key and configure your Stripe connection
  • Set up CrewAI with an MCP enabled agent
  • Create a Tool Router session or standalone MCP server for Stripe
  • Build a conversational loop where your agent can execute Stripe operations

What is CrewAI?

CrewAI is a powerful framework for building multi-agent AI systems. It provides primitives for defining agents with specific roles, creating tasks, and orchestrating workflows through crews.

Key features include:

  • Agent Roles: Define specialized agents with specific goals and backstories
  • Task Management: Create tasks with clear descriptions and expected outputs
  • Crew Orchestration: Combine agents and tasks into collaborative workflows
  • MCP Integration: Connect to external tools through Model Context Protocol

What is the Stripe MCP server, and what's possible with it?

The Stripe MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Stripe account. It provides structured and secure access to your payments platform, so your agent can perform actions like creating customers, managing subscriptions, issuing refunds, and generating invoices on your behalf.

  • Automated customer management: Effortlessly create, update, or delete Stripe customers—enabling streamlined onboarding and account maintenance through your agent.
  • Subscription and recurring billing automation: Have your agent create, configure, or cancel subscriptions, supporting trials, discounts, and advanced billing scenarios with ease.
  • Smart payment and refund processing: Allow your agent to initiate payment intents, confirm transactions, and issue full or partial refunds as needed, all through secure APIs.
  • Seamless invoice and price creation: Generate draft invoices for customers, create new products, and set up pricing structures—saving you time on manual billing tasks.
  • Advanced product and pricing management: Let your agent create new products and prices, helping you roll out new offerings or adjust monetization strategies with just a prompt.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step08 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Python 3.9 or higher
  • A Composio account and API key
  • A Stripe connection authorized in Composio
  • An OpenAI API key for the CrewAI LLM
  • Basic familiarity with Python
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio crewai crewai-tools[mcp] python-dotenv
What's happening:
  • composio connects your agent to Stripe via MCP
  • crewai provides Agent, Task, Crew, and LLM primitives
  • crewai-tools[mcp] includes MCP helpers
  • python-dotenv loads environment variables from .env
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
OPENAI_API_KEY=your_openai_api_key_here

Create a .env file in your project root.

What's happening:

  • COMPOSIO_API_KEY authenticates with Composio
  • USER_ID scopes the session to your account
  • OPENAI_API_KEY lets CrewAI use your chosen OpenAI model
5

Import dependencies

python
import os
from composio import Composio
from crewai import Agent, Task, Crew
from crewai_tools import MCPServerAdapter
import dotenv

dotenv.load_dotenv()

COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set")
What's happening:
  • CrewAI classes define agents and tasks, and run the workflow
  • MCPServerHTTP connects the agent to an MCP endpoint
  • Composio will give you a short lived Stripe MCP URL
6

Create a Composio Tool Router session for Stripe

python
composio_client = Composio(api_key=COMPOSIO_API_KEY)
session = composio_client.create(user_id=COMPOSIO_USER_ID, toolkits=["stripe"])

url = session.mcp.url
What's happening:
  • You create a Stripe only session through Composio
  • Composio returns an MCP HTTP URL that exposes Stripe tools
7

Initialize the MCP Server

python
server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users search the internet effectively",
        backstory="You are a helpful assistant with access to search tools.",
        tools=tools,
        verbose=False,
        max_iter=10,
    )
What's Happening:
  • Server Configuration: The code sets up connection parameters including the MCP server URL, streamable HTTP transport, and Composio API key authentication.
  • MCP Adapter Bridge: MCPServerAdapter acts as a context manager that converts Composio MCP tools into a CrewAI-compatible format.
  • Agent Setup: Creates a CrewAI Agent with a defined role (Search Assistant), goal (help with internet searches), and access to the MCP tools.
  • Configuration Options: The agent includes settings like verbose=False for clean output and max_iter=10 to prevent infinite loops.
  • Dynamic Tool Usage: Once created, the agent automatically accesses all Composio Search tools and decides when to use them based on user queries.
8

Create a CLI Chatloop and define the Crew

python
print("Chat started! Type 'exit' or 'quit' to end.\n")

conversation_context = ""

while True:
    user_input = input("You: ").strip()

    if user_input.lower() in ["exit", "quit", "bye"]:
        print("\nGoodbye!")
        break

    if not user_input:
        continue

    conversation_context += f"\nUser: {user_input}\n"
    print("\nAgent is thinking...\n")

    task = Task(
        description=(
            f"Conversation history:\n{conversation_context}\n\n"
            f"Current request: {user_input}"
        ),
        expected_output="A helpful response addressing the user's request",
        agent=agent,
    )

    crew = Crew(agents=[agent], tasks=[task], verbose=False)
    result = crew.kickoff()
    response = str(result)

    conversation_context += f"Agent: {response}\n"
    print(f"Agent: {response}\n")
What's Happening:
  • Interactive CLI Setup: The code creates an infinite loop that continuously prompts for user input and maintains the entire conversation history in a string variable.
  • Input Validation: Empty inputs are ignored to prevent processing blank messages and keep the conversation clean.
  • Context Building: Each user message is appended to the conversation context, which preserves the full dialogue history for better agent responses.
  • Dynamic Task Creation: For every user input, a new Task is created that includes both the full conversation history and the current request as context.
  • Crew Execution: A Crew is instantiated with the agent and task, then kicked off to process the request and generate a response.
  • Response Management: The agent's response is converted to a string, added to the conversation context, and displayed to the user, maintaining conversational continuity.

Complete Code

Here's the complete code to get you started with Stripe and CrewAI:

python
from crewai import Agent, Task, Crew, LLM
from crewai_tools import MCPServerAdapter
from composio import Composio
from dotenv import load_dotenv
import os

load_dotenv()

GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not GOOGLE_API_KEY:
    raise ValueError("GOOGLE_API_KEY is not set in the environment.")
if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set in the environment.")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set in the environment.")

# Initialize Composio and create a session
composio = Composio(api_key=COMPOSIO_API_KEY)
session = composio.create(
    user_id=COMPOSIO_USER_ID,
    toolkits=["stripe"],
)
url = session.mcp.url

# Configure LLM
llm = LLM(
    model="gpt-5",
    api_key=os.getenv("OPENAI_API_KEY"),
)

server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users with internet searches",
        backstory="You are an expert assistant with access to Composio Search tools.",
        tools=tools,
        llm=llm,
        verbose=False,
        max_iter=10,
    )

    print("Chat started! Type 'exit' or 'quit' to end.\n")

    conversation_context = ""

    while True:
        user_input = input("You: ").strip()

        if user_input.lower() in ["exit", "quit", "bye"]:
            print("\nGoodbye!")
            break

        if not user_input:
            continue

        conversation_context += f"\nUser: {user_input}\n"
        print("\nAgent is thinking...\n")

        task = Task(
            description=(
                f"Conversation history:\n{conversation_context}\n\n"
                f"Current request: {user_input}"
            ),
            expected_output="A helpful response addressing the user's request",
            agent=agent,
        )

        crew = Crew(agents=[agent], tasks=[task], verbose=False)
        result = crew.kickoff()
        response = str(result)

        conversation_context += f"Agent: {response}\n"
        print(f"Agent: {response}\n")

Conclusion

You now have a CrewAI agent connected to Stripe through Composio's Tool Router. The agent can perform Stripe operations through natural language commands.

Next steps:

  • Add role-specific instructions to customize agent behavior
  • Plug in more toolkits for multi-app workflows
  • Chain tasks for complex multi-step operations
TOOLS & TRIGGERS

Supported Tools and Triggers

Every Stripe action and event your agent gets out of the box.

Accept quote

Tool to accept a quote in Stripe.

Activate billing alert

Reactivates a billing alert, allowing it to trigger again.

Add lines to invoice

Tool to add multiple line items to a draft Stripe invoice.

Advance test clock

Advance a test clock to a future timestamp.

Apply customer balance to payment intent

Manually reconciles remaining amount for a customer_balance PaymentIntent by applying funds from customer's cash balance.

Archive billing alert

Tool to archive a billing alert in Stripe, removing it from list views and APIs.

Attach source to customer

Attach a payment source (card token or source object) to a customer for future charges.

Attach payment to invoice

Attaches a PaymentIntent or Out of Band Payment to an invoice's payments list.

Attach payment method to customer

Attaches a PaymentMethod to a Customer.

Attach feature to product

Tool to attach a feature to a product.

Cancel payment intent

Cancels a PaymentIntent when in cancelable state.

Cancel Quote

Tool to cancel a Stripe quote.

Cancel setup intent

Cancels a SetupIntent that is no longer needed.

Cancel subscription

Cancels a customer's active Stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.

Cancel subscription schedule

Cancels a subscription schedule and its associated subscription immediately (if active).

Cancel Terminal Reader Action

Tool to cancel the current reader action.

Capture Charge

Tool to capture payment on an uncaptured charge.

Capture payment intent

Captures the funds of an existing uncaptured PaymentIntent.

Close Dispute

Tool to close a dispute.

Set Terminal Reader Display

Initiates input collection on a Terminal Reader to display forms and collect customer information.

Collect payment method on Terminal Reader

Tool to initiate payment method collection on a Stripe Terminal Reader.

Confirm payment intent

Tool to confirm customer intent to pay with current or provided payment method.

Confirm setup intent

Confirms a SetupIntent to complete customer payment method setup.

Confirm PaymentIntent on Terminal Reader

Tool to confirm a PaymentIntent on a Terminal reader device.

Create Card Payments Capability

Tool to create or update card payments capability for a Stripe Connect account.

Create Apple Pay Domain

Tool to create an Apple Pay domain registration.

Create apps secret

Tool to create a secret in the Stripe Secret Store.

Create Bank Account Token

Tool to create a single-use token representing bank account details.

Create billing alert

Tool to create a billing alert that monitors usage on a billing meter and triggers notifications when a specified threshold is crossed.

Create billing credit grant

Tool to create a credit grant that allocates billing credits to a customer for use against metered pricing.

Create billing meter

Tool to create a billing meter in Stripe for tracking usage events.

Create Billing Meter Event V2

Creates a billing meter event using Stripe API v2 for usage-based billing.

Create Billing Meter Event Adjustment

Creates an adjustment to cancel a billing meter event.

Create Billing Meter Event Session

Creates authentication session for high-throughput meter event stream.

Create Billing Portal Configuration

Tool to create a Stripe billing portal configuration.

Create Billing Portal Session

Tool to create a Stripe billing portal session.

Create Charge Refund

Tool to create a refund for a charge in Stripe.

Create Checkout Session

Tool to create a Stripe Checkout Session.

Create Coupon

Creates a new discount coupon in Stripe with percentage or fixed amount discount.

Create Credit Note

Issues a credit note to adjust a finalized invoice's amount.

Create Customer

Creates a new customer in Stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.

Create Customer Balance Transaction

Tool to create an immutable transaction that updates the customer's credit balance.

Create customer bank account

Tool to create a new bank account attached to a customer object.

Create card for customer

Tool to create a new card payment source for an existing Stripe customer.

Create Customer Session

Tool to create a Stripe Customer Session granting client-side access control over a Customer.

Create card or payment source

Attaches a payment source to a customer for later reuse.

Create customer subscription

Tool to create a subscription for an existing customer.

Create Customer Tax ID

Creates a new tax ID for a customer, used for tax compliance and invoicing across 100+ supported country-specific tax ID formats.

Create CVC Update Token

Creates a single-use token representing an updated CVC value for card payments.

Create Feature Entitlement

Creates a new feature entitlement in Stripe representing a monetizable ability or functionality.

Create Ephemeral Key

Tool to create a short-lived ephemeral API key for secure mobile SDK access to specific Stripe resources.

Create File

Tool to upload a file to Stripe for business purposes such as dispute evidence, identity verification, or business logos.

Create File Link

Tool to create a file link object that generates a shareable URL for accessing uploaded files.

Create Financial Connections Session

Tool to create a Financial Connections Session to launch the authorization flow for linking financial accounts.

Create FX Quote

Tool to create an FX quote for currency conversion with optional rate locking.

Create an invoice

Creates a new draft Stripe invoice for a customer; use to revise an existing invoice, bill for a specific subscription (which must belong to the customer), or apply detailed customizations.

Create invoice item

Tool to create an invoice item for draft invoices.

Create payment intent

Creates a Stripe PaymentIntent to initiate and process a customer's payment; using `application_fee_amount` for a connected account requires the `Stripe-Account` header.

Create Payment Link

Tool to create a Stripe Payment Link.

Create payment method

Creates a PaymentMethod object representing a customer's payment instrument (card, bank account, etc.

Create payment method configuration

Creates a payment method configuration to control which payment methods are displayed during checkout.

Create payment method domain

Tool to create a payment method domain object to control where payment methods are shown.

Create PII Token

Tool to create a single-use token representing PII (personally identifiable information).

Create a plan

Tool to create a recurring billing plan with flexible pricing configuration.

Create Preview Invoice

Tool to preview an upcoming invoice without creating it.

Create a price

Creates a new Stripe Price for a product, defining its charges (one-time or recurring) and billing scheme; requires either an existing `product` ID or `product_data`.

Create product

Creates a new product in Stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.

Create Promotion Code

Tool to create a promotion code linked to an underlying coupon.

Create a quote

Tool to create a Stripe quote modeling prices and services for a customer.

Create Refund

Creates a full or partial refund in Stripe, targeting either a specific charge ID or a payment intent ID.

Create a Report Run

Creates a new report run object and begins executing the report asynchronously.

Create Reversal Tax Transaction

Creates a reversal of an existing tax transaction.

Create Setup Intent

Creates a SetupIntent object to collect payment method permissions for future payments.

Create a shipping rate

Creates a new shipping rate object that appears on Checkout Sessions for customer display.

Create Source

Tool to create a Stripe source object for accepting payment methods.

Create subscription

Creates a new, highly configurable subscription for an existing Stripe customer, supporting multiple items, trials, discounts, and various billing/payment options.

Create subscription item

Tool to add a new item to an existing subscription without changing existing items.

Create subscription schedule

Tool to create a new subscription schedule for managing subscription changes over time.

Create Tax Calculation

Creates a Tax Calculation to compute taxes for customer purchases.

Create Tax ID

Creates a new tax ID for an account or customer.

Create tax rate

Tool to create a new tax rate in Stripe.

Create Tax Registration

Creates a new Tax Registration object to enable tax collection in specified jurisdictions.

Create Tax Transaction from Calculation

Tool to create a Tax Transaction from a calculation before 90-day expiration.

Create Terminal Configuration

Creates a new Configuration object for Stripe payment terminals with customizable settings.

Create Terminal Connection Token

Creates a short-lived connection token for Stripe Terminal SDK to connect to readers.

Create Terminal Location

Creates a new Terminal Location for managing Stripe Terminal readers.

Create Terminal Onboarding Link

Creates an onboarding link for Tap to Pay on iPhone.

Create Terminal Reader

Creates and registers a new Terminal Reader to a Stripe account at a specified location.

Create Test Clock

Tool to create a test clock for testing time-based scenarios in Stripe.

Create Test Confirmation Token (Test Mode Only)

Creates a test mode Confirmation Token for server-side payment integration testing.

Create CVC update token

Tool to create a single-use CVC update token for card re-collection.

Create usage record

Creates a usage record for a specified subscription item and timestamp.

Deactivate billing alert

Tool to deactivate a billing alert, preventing it from triggering.

Deactivate Billing Meter

Deactivates a billing meter.

Delete Apple Pay Domain

Tool to delete an Apple Pay domain from a Stripe account.

Delete apps secret

Tool to delete a secret from the Stripe Secret Store by name and scope.

Delete coupon

Tool to delete a coupon from Stripe.

Delete customer bank account

Deletes a bank account payment source from a customer.

Delete customer discount

Removes the currently applied discount on a customer.

Delete customer

Permanently deletes a customer and cancels active subscriptions.

Cancel customer subscription

Cancels a customer's subscription immediately.

Delete customer subscription discount

Removes currently applied discount from a customer's subscription.

Delete customer tax ID

Deletes a customer's tax ID object.

Delete ephemeral key

Immediately invalidate an ephemeral key.

Delete draft invoice

Permanently deletes a draft invoice.

Delete invoice item

Tool to delete an invoice item from Stripe.

Delete plan

Tool to delete a plan from Stripe.

Delete product

Delete a product.

Delete product feature

Removes a feature from a product.

Delete subscription discount

Removes the currently applied discount on a subscription.

Delete subscription item

Deletes a subscription item without canceling the subscription.

Delete tax ID

Deletes an existing tax ID object.

Delete Terminal Configuration

Permanently deletes a Terminal Configuration object from your Stripe account.

Delete Terminal Location

Tool to permanently delete a Terminal Location object from your Stripe account.

Delete Terminal Reader

Permanently deletes a Terminal Reader object from your Stripe account.

Delete test clock

Permanently deletes a test clock from Stripe's test environment.

Void an invoice

Tool to void a finalized Stripe invoice.

Cancel subscription

Tool to cancel a Stripe subscription immediately.

Detach payment from invoice

Tool to detach a payment from an invoice.

Detach payment method

Detaches a PaymentMethod object from a Customer account.

Download Quote PDF

Tool to download the PDF for a finalized quote from Stripe.

Expire billing credit grant

Expires a billing credit grant immediately.

Expire Checkout Session

Tool to expire an active Stripe Checkout Session.

Finalize an invoice

Finalize a draft invoice so it becomes open/collectable (and immutable where required).

Finalize quote

Tool to finalize a quote in Stripe.

Find a secret by name and scope

Tool to find a secret by name and scope in the Stripe Apps secret store.

Find tax association

Tool to find a tax association by PaymentIntent ID.

Fund Test Mode Cash Balance

Tool to fund a test mode cash balance for a customer.

Retrieve Account

Retrieves detailed information for the authenticated Stripe account.

List Account Capabilities

Retrieves a list of all capabilities for a connected Stripe account.

Retrieve Account Capability

Retrieves information about a specific capability for a Stripe account.

Retrieve Person from Account

Retrieves an existing person associated with a Stripe account.

List all persons for an account

Retrieves a list of people associated with the account's legal entity.

Retrieve Account

Retrieves the details of a Stripe account.

Retrieve active entitlement

Tool to retrieve an active entitlement describing customer access to a feature.

Retrieve Apple Pay Domain

Retrieves details about a previously registered Apple Pay domain.

Get balance settings overview

Tool to retrieve balance settings for a Stripe account.

Retrieve Balance Transaction

Retrieves the balance transaction with the given ID.

Retrieve Billing Alert

Retrieves a billing alert by its unique identifier.

Get Billing Credit Balance Summary

Retrieves the credit balance summary for a customer in Stripe Billing.

Retrieve credit balance transaction

Retrieves a credit balance transaction by its unique identifier.

List billing credit grants

Tool to retrieve a paginated list of billing credit grants.

Retrieve billing credit grant

Retrieves a billing credit grant by its unique identifier.

List billing meters

Tool to retrieve a list of billing meters from Stripe.

Retrieve Billing Meter

Retrieves a billing meter by its unique identifier.

List portal configurations

Tool to list billing portal configurations.

Get billing portal configuration

Tool to retrieve a billing portal configuration from Stripe.

Retrieve Charge Dispute

Tool to retrieve a dispute for a specified charge.

Get Charge Refund Details

Tool to retrieve the details of an existing refund within a specific charge.

Get Checkout Session Line Items

Tool to retrieve line items for a Checkout Session.

Retrieve climate product

Tool to retrieve details of a specific Stripe Climate product.

Retrieve climate supplier details

Retrieves detailed information about a specific Stripe Climate carbon removal supplier.

Retrieve Confirmation Token

Tool to retrieve an existing ConfirmationToken object by its ID.

Retrieve Country Spec

Retrieves configuration details for a specific country, including supported payment methods, required verification fields, and supported currencies.

Retrieve Coupon Details

Retrieves full details for an existing Stripe coupon using its unique ID.

Get Credit Note Lines

Retrieves the paginated list of line items for a specific credit note.

Retrieve a credit note

Retrieves a credit note by its unique identifier.

Preview Credit Note

Tool to preview a credit note without creating it in Stripe.

Get Credit Note Preview Lines

Tool to retrieve a credit note preview's line items from Stripe.

Retrieve customer cash balance transaction

Tool to retrieve a specific cash balance transaction that updated a customer's cash balance.

List customer balance transactions

Tool to list customer balance transactions that updated a customer's balance.

Retrieve Customer Balance Transaction

Retrieves a specific customer balance transaction that updated the customer's balances.

List customer bank accounts

Tool to fetch all bank accounts linked to a customer.

Retrieve customer bank account

Retrieves details about a specific bank account stored on a Stripe customer.

List all cards

Tool to list all cards for a customer.

Retrieve customer card

Retrieves details about a specific card for a customer.

Get customer cash balance

Tool to retrieve a customer's cash balance.

List cash balance transactions

Tool to retrieve a list of cash balance transactions for a customer.

Get customer discount

Tool to retrieve the discount currently active on a customer.

List customer payment methods

Retrieves a list of payment methods for a given customer, supporting type filtering and pagination.

Retrieve customer's payment method

Tool to retrieve a specific PaymentMethod object for a given Customer.

List customer sources

Tool to list sources for a specified customer.

Retrieve customer subscription

Tool to retrieve a specific subscription for a customer.

Get customer subscription discount

Tool to retrieve the discount currently applied to a customer's subscription.

List customer tax IDs

Tool to retrieve all tax IDs for a specific Stripe customer.

Retrieve a customer tax ID

Tool to retrieve a specific tax ID for a customer.

List active entitlements

Tool to retrieve active entitlements for a customer.

Retrieve entitlements feature

Tool to retrieve a feature by ID from Stripe.

List events

Retrieves a list of Stripe events from the past 30 days with filtering and pagination.

Retrieve event

Retrieves event details for events created within the last 30 days.

Retrieve file link

Retrieves the details of an existing file link.

Retrieve File

Tool to retrieve details of an existing file object by its unique identifier.

Retrieve Financial Connections Session

Retrieves the details of a Financial Connections Session.

Retrieve FX Quote

Retrieve a specific FX (foreign exchange) Quote by its ID.

Retrieve Invoice Item

Tool to retrieve the details of an invoice item using its unique identifier.

Retrieve an invoice payment

Tool to retrieve details of a specific Stripe invoice payment by ID.

Retrieve Invoice

Tool to retrieve a specific invoice by ID.

Get Invoice Line Items

Tool to retrieve a paginated list of line items for a specific invoice.

Retrieve mandate

Tool to retrieve a Stripe mandate by ID.

Retrieve Payment Attempt Record

Tool to retrieve a specific Payment Attempt Record by ID.

Get payment intent amount details line items

Tool to retrieve paginated line items for a PaymentIntent.

Retrieve payment link

Tool to retrieve details of an existing Stripe payment link by ID.

Get payment link line items

Tool to retrieve paginated line items for a payment link.

Retrieve payment method

Retrieves the details of a PaymentMethod object by its unique identifier.

Retrieve payment method configuration

Tool to retrieve a specific payment method configuration by its unique identifier.

Retrieve Payment Method Domain

Retrieves details of an existing payment method domain.

Retrieve Payment Record

Tool to retrieve a Payment Record from Stripe.

Retrieve a payout

Tool to retrieve details of an existing Stripe payout.

Retrieve plan

Tool to retrieve a specific Stripe plan by its unique identifier.

Retrieve a price

Retrieves detailed information for a specific Stripe price using its unique ID.

Retrieve a product

Retrieves detailed information for an existing Stripe product using its unique product ID.

Retrieve product feature

Retrieves a specific product feature by its ID.

List Stripe promotion codes

Retrieves a list of promotion codes from a Stripe account with optional filters for active status, code value, coupon association, and customer restrictions.

Get quote details

Tool to retrieve a quote by ID.

Get Quote Computed Upfront Line Items

Tool to retrieve computed upfront line items for a quote.

Get Quote Line Items

Tool to retrieve a paginated list of line items for a quote.

Get Radar Value List

Retrieves a specific Stripe Radar value list by its identifier.

List Radar value list items

Tool to list all value list items from a Stripe Radar value list.

Retrieve a refund

Tool to retrieve details of a specific Stripe refund by ID.

Retrieve a Report Run

Retrieves details of an existing Report Run object.

Retrieve a report type

Tool to retrieve details of a specific Stripe report type by ID.

List setup attempts

Tool to list SetupAttempts associated with a SetupIntent.

Retrieve setup intent

Retrieves details of a SetupIntent by its ID; `client_secret` is required if a publishable API key is used.

Retrieve Shipping Rate

Tool to retrieve details of a specific Stripe shipping rate by its unique ID.

Retrieve subscription

Retrieves detailed information for an existing Stripe subscription using its unique ID.

Retrieve subscription item

Retrieves detailed information for a specific subscription item using its unique ID.

Retrieve subscription schedule

Retrieve a subscription schedule using its unique identifier.

Retrieve Tax Calculation

Retrieves a Tax Calculation object by its unique ID.

Get Tax Calculation Line Items

Retrieves line items of a tax calculation as a paginated collection.

Retrieve tax code

Retrieves the details of an existing tax code.

Retrieve tax ID

Retrieves an account or customer tax ID object.

Retrieve a tax rate

Tool to retrieve the details of an existing tax rate.

Retrieve tax registration

Tool to retrieve a specific tax registration configured for your Stripe account.

Get Tax Settings

Retrieves Tax Settings for a merchant.

Retrieve Tax Transaction

Retrieves a Tax Transaction object by ID.

Get tax transaction line items

Retrieves the line items of a committed standalone tax transaction.

Retrieve terminal configuration

Tool to retrieve a specific Terminal Configuration object from Stripe.

Retrieve Terminal Location

Tool to retrieve a Terminal Location object by ID.

Retrieve Terminal Reader

Tool to retrieve a Terminal Reader object by ID.

Retrieve test clock

Tool to retrieve a test clock by ID.

Retrieve Token

Retrieves the token with the given ID.

Retrieve Upcoming Invoice Line Items

Tool to retrieve a paginated list of line items for an upcoming invoice preview.

Search Stripe customers

Tool to search for Stripe customers using Stripe's Search Query Language.

Retrieve Dispute Details

Retrieves detailed information for an existing Stripe dispute by ID.

List Invoice Payments

Tool to list invoice payments in Stripe with pagination and filtering options.

List payment method configurations

Tool to list all payment method configurations in a Stripe account.

List payment method domains

Tool to retrieve list of payment method domains registered with Stripe account.

List payment methods

Tool to retrieve a list of PaymentMethods with filtering and pagination support.

List Radar Early Fraud Warnings

Returns a list of early fraud warnings.

Get Radar value lists overview

Tool to retrieve an overview of Radar value lists.

Get reporting report types overview

Tool to list all available Stripe report types.

Get Shipping Rates Overview

Tool to retrieve an overview of shipping rates from Stripe.

List subscription schedules

Retrieves a list of subscription schedules with optional filtering and pagination capabilities.

Get tax codes

Tool to retrieve all tax codes available to add to Products for specific tax calculations.

List tax IDs

Tool to retrieve a list of tax IDs with pagination support.

Get tax rates

Tool to retrieve all tax rates with pagination support.

Retrieve V2 Core Event

Retrieves detailed information about a specific event from Stripe V2 Core Events API.

List subscription item period summaries

Tool to list all subscription item period summaries.

List Apple Pay domains

Retrieves a list of Apple Pay domains registered with Stripe.

List Application Fees

Returns a list of application fees you've previously collected, sorted by creation date descending (newest first).

List apps secrets

Tool to list all secrets stored on the given scope.

List Balance Transactions

Lists Stripe balance transactions sorted by creation date descending (newest first), with optional filtering by currency, type, source, or payout and pagination support.

List billing alerts

Tool to retrieve a paginated list of billing alerts.

List credit balance transactions

Tool to retrieve a paginated list of credit balance transactions with optional filtering.

List Charges

Retrieves a list of Stripe charges with filtering and pagination; use valid cursor IDs from previous responses for pagination, and note that charges are typically returned in reverse chronological order.

List Checkout Sessions

Tool to retrieve a list of Stripe Checkout Sessions with pagination support.

List Climate Orders

Tool to list all Climate order objects.

List climate products

Tool to retrieve a list of available Stripe Climate products.

List climate suppliers

Tool to retrieve a list of available Stripe Climate supplier objects for carbon removal.

List country specs

Retrieves a list of country specifications available in the Stripe API.

List Stripe coupons

Retrieves a list of discount coupons from a Stripe account, supporting pagination via `limit`, `starting_after`, and `ending_before`.

List Credit Notes

Lists Stripe credit notes with optional filtering by customer, invoice, or customer account, and pagination support.

List customers

Retrieves a list of Stripe customers, with options to filter by email, creation date, or test clock, and support for pagination.

List customer subscriptions

Tool to list all active subscriptions for a customer in Stripe.

List Disputes

Tool to list all disputes from a Stripe account.

List entitlements features

Retrieves a paginated list of entitlements features from Stripe.

List file links

Tool to retrieve a list of Stripe file links.

List files

Tool to retrieve a list of files that your account has access to.

List Financial Connections Accounts

Tool to list Financial Connections Account objects representing external financial accounts.

List forwarding requests

Lists ForwardingRequest objects from Stripe's Vault and Forward API.

List FX quotes

Retrieves a list of FX quotes that have been issued, with the most recent appearing first.

List Invoice Items

Retrieves a paginated list of Stripe invoice items.

List Invoice Payments

Tool to list all payments for invoices in Stripe.

List Invoice Rendering Templates

Tool to list all invoice rendering templates ordered by creation date.

List Invoices

Retrieves a list of Stripe invoices, filterable by various criteria and paginatable using invoice ID cursors obtained from previous responses.

List meter event summaries

Tool to retrieve billing meter event summaries for a customer within a time range.

List Payment Attempt Records

Tool to list payment attempt records for a specified payment record.

List payment intents

Tool to list PaymentIntents from Stripe.

List payment links

Retrieves a list of payment links from Stripe, sorted by creation date in descending order by default.

List Payouts

Lists Stripe payouts sent to external accounts or received from Stripe, sorted by creation date descending (newest first), with optional filtering by arrival date, creation date, destination, and status.

List plans

Tool to list all billing plans from Stripe account.

List prices

Tool to list Stripe prices.

List products

Retrieves a list of Stripe products, with optional filtering and pagination; `starting_after`/`ending_before` cursors must be valid product IDs from a previous response.

List product features

Retrieves a list of features attached to a product.

List Stripe promotion codes

Tool to retrieve a list of promotion codes from Stripe.

List Quotes

Retrieves a list of Stripe quotes with pagination support.

Get Radar Early Fraud Warnings

Tool to list all early fraud warnings from Stripe Radar.

List Radar Reviews

Returns a list of Radar Review objects that have open set to true, sorted in descending order by creation date.

List Refunds

Lists Stripe refunds, sorted by creation date descending (newest first), with optional filtering by charge or payment_intent and pagination support.

List Report Runs

Lists Stripe Report Runs, sorted by creation date descending (newest first).

List open reviews

Retrieves a list of open Stripe reviews with pagination support.

List SetupAttempts

Tool to list SetupAttempts associated with a SetupIntent.

List setup intents

Tool to list SetupIntents from Stripe.

List Sigma scheduled query runs

Tool to list all Sigma scheduled query runs.

List subscription items

List all subscription items for a given subscription.

List subscriptions

Retrieves a list of Stripe subscriptions, optionally filtered by various criteria such as customer, price, status, collection method, and date ranges, with support for pagination.

List tax codes

Retrieves a paginated list of globally available, predefined Stripe tax codes used for classifying products and services in Stripe Tax.

List tax rates

Retrieves a list of tax rates, which are returned sorted by creation date in descending order.

List tax registrations

Retrieves a paginated list of tax registrations.

List terminal configurations

Tool to retrieve a list of Terminal Configuration objects from Stripe.

List terminal locations

Retrieves a list of Stripe terminal locations with pagination support.

List terminal readers

Tool to list all Stripe Terminal Readers with optional filtering.

List test clocks

Retrieves a paginated list of test clocks.

List Top-ups

Tool to retrieve a list of existing top-ups from Stripe.

List transfers

List all transfers sent to connected accounts.

List V2 Core Event Destinations

Retrieves a list of event destinations from Stripe V2 Core Events API.

List v2 core events

Tool to list v2 core events from Stripe.

Mark invoice as uncollectible

Tool to mark a Stripe invoice as uncollectible for bad debt accounting purposes.

Migrate subscription to flexible billing

Migrate a subscription from classic to flexible billing mode.

Pay an invoice

Tool to pay an invoice manually outside the normal collection schedule.

Void billing credit grant

Voids a billing credit grant, preventing it from being applied to future invoices.

Update Charge

Updates a Stripe charge with the specified parameters; unspecified fields remain unchanged.

Update customer subscription

Tool to update a customer's subscription.

Verify customer bank account

Verifies a bank account for a customer using microdeposit amounts.

Update file link

Tool to update an existing file link in Stripe.

Void an invoice

Voids a finalized invoice and maintains a papertrail.

Report Payment Record

Tool to report a payment record in terminal state or for initialization.

Update setup intent

Updates a SetupIntent object to modify configuration parameters and metadata.

Update subscription item

Tool to update a subscription item's plan, quantity, billing thresholds, discounts, or metadata.

Update subscription

Tool to update an existing Stripe subscription with specified parameters.

Update Terminal Configuration

Tool to update a Stripe Terminal Configuration.

Process payment on terminal reader

Initiates a payment flow on a Stripe Terminal Reader to process a PaymentIntent.

Set Reader Display

Configures a Stripe terminal reader to display cart information on screen.

Set Terminal Reader Display

Tool to configure a terminal reader's display to show cart details.

Update Account Capability

Updates an existing account capability for a Stripe connected account.

Update balance settings overview

Tool to update balance settings for a Stripe account.

Update Billing Portal Configuration

Tool to update an existing billing portal configuration in Stripe.

Update and retrieve Checkout Session

Tool to update and retrieve a Checkout Session object from Stripe.

Update Credit Note

Tool to update an existing credit note in Stripe by modifying its memo or metadata.

Create or Retrieve Customer Funding Instructions

Creates or retrieves funding instructions for a customer cash balance via bank transfer.

Search Stripe customers

Tool to search for Stripe customers using a search query.

Void an invoice

Voids a finalized invoice and maintains a papertrail.

Update Invoice Line Item

Updates an invoice's line item before finalization.

Remove lines from invoice

Tool to remove multiple line items from a draft Stripe invoice.

Void invoice

Tool to void a finalized Stripe invoice.

Void an invoice

Tool to permanently void a finalized Stripe invoice.

Update payment method configuration

Updates a payment method configuration to control which payment methods are displayed at checkout.

Update Payment Method Domain

Updates an existing payment method domain to enable or disable it.

Report Payment Attempt

Tool to report a payment attempt on a Stripe Payment Record.

Report Payment Attempt Canceled

Tool to report that the most recent payment attempt was canceled.

Report payment attempt guaranteed overview

Reports that a payment attempt was guaranteed for a specific Payment Record.

Report payment attempt information

Tool to report additional payment attempt information for a payment record.

Report Payment Record Refund

Reports that the most recent payment attempt on a Payment Record was refunded.

Update payout metadata

Updates a payout's metadata and returns the updated payout object.

Update Plan Overview

Tool to update a Stripe plan by setting passed parameter values.

Update Promotion Code

Updates an existing promotion code.

Update Shipping Rate

Tool to update an existing Stripe shipping rate.

Update subscription schedule

Tool to update an existing subscription schedule with new phases, settings, metadata, and end behavior.

Release subscription schedule

Tool to release a subscription schedule.

Update subscription

Updates an existing Stripe subscription's properties including metadata, description, payment method, billing settings, trial periods, and cancellation behavior.

Update Tax Rate

Tool to update an existing Stripe tax rate.

Create Meter Event Adjustment

Creates a billing meter event adjustment to cancel a previously sent meter event.

Present payment method on reader

Tool to present a payment method on a simulated terminal reader for testing purposes.

Process setup intent on terminal reader

Initiates a SetupIntent flow on a Stripe Terminal Reader to save payment details.

Reactivate Billing Meter

Reactivates a deactivated billing meter.

Report Payment Attempt Failed

Reports that a recent payment attempt on a Payment Record has failed.

Resume subscription

Resumes a paused Stripe subscription with billing cycle and proration options.

Retrieve Balance

Retrieves the complete current balance details for the connected Stripe account.

Retrieve Charge Details

Retrieves full details for an existing Stripe charge using its unique ID.

Retrieve Checkout Session

Tool to retrieve a Checkout Session object from Stripe.

Retrieve customer

Retrieves detailed information for an existing Stripe customer using their unique customer ID.

Retrieve payment intent

Retrieves a PaymentIntent by its ID; `client_secret` is required if a publishable API key is used.

Retrieve Promotion Code

Tool to retrieve a Stripe promotion code by its ID.

Retrieve Upcoming Invoice

Tool to preview the upcoming invoice for a customer, showing all pending charges including subscription renewals and invoice items.

Search Stripe charges

Search charges using Stripe's Search Query Language.

Search Stripe customers

Retrieves a list of Stripe customers matching a search query that adheres to Stripe's Search Query Language.

Search invoices

Searches for invoices using Stripe's Search Query Language.

Search payment intents

Searches for PaymentIntents using Stripe's Search Query Language.

Search Stripe prices

Search for prices using Stripe's Search Query Language.

Search Stripe products

Tool to search for products using Stripe's Search Query Language.

Search subscriptions

Searches for subscriptions using Stripe's Search Query Language.

Send invoice for manual payment

Tool to manually send a finalized Stripe invoice to the customer outside the automatic billing schedule.

Set reader display

Configures a Stripe Terminal reader to display cart information on its screen.

Set terminal reader display

Tool to set the display on a Stripe Terminal reader to show cart details.

Simulate successful input collection

Simulates successful completion of an ongoing input collection on a Terminal reader.

Simulate Terminal Reader Input Collection Timeout

Simulate an input collection timeout on a Stripe Terminal reader.

Update billing credit grant

Updates an existing billing credit grant.

Update Billing Meter

Tool to update a billing meter's display name.

Update Billing Portal Configuration

Update a billing portal configuration.

Update Cash Balance Settings

Tool to update a customer's cash balance settings in Stripe.

Update Charge

Tool to update a Stripe charge object with provided parameters.

Update Charge Dispute

Tool to update metadata on a charge's dispute.

Update Charge Refund

Tool to update a specified refund within a charge.

Update Checkout Session

Tool to update a Stripe Checkout Session dynamically.

Update Coupon

Updates a Stripe coupon's metadata, name, or currency options.

Update Customer

Updates an existing Stripe customer, identified by customer_id, with only the provided details; unspecified fields remain unchanged.

Update Customer Balance Transaction

Updates an existing customer balance transaction's description and metadata.

Update customer bank account

Updates a specified bank account for a given customer.

Update customer bank account

Updates a bank account source attached to a customer.

Update customer card

Tool to update a card for a specified customer.

Update customer source

Update a specified source for a given customer.

Update Customer Subscription

Tool to update a subscription on a customer in Stripe.

Update Dispute

Tool to update a Stripe dispute by submitting evidence or updating metadata.

Update entitlements feature

Tool to update a feature's properties or deactivate it.

Update Invoice

Updates a draft Stripe invoice.

Update invoice item

Updates an invoice item on a draft invoice.

Bulk update invoice line items

Tool to bulk update multiple line items on a draft invoice.

Update Payment Intent

Updates a Stripe PaymentIntent with new values for specified parameters; note that if `currency` is updated, `amount` might also be required, and certain updates (e.

Update Payment Link

Updates an existing payment link with new configuration details.

Update Payment Method

Updates an existing PaymentMethod object in Stripe.

Update a price

Updates a Stripe price by setting passed parameter values; unspecified parameters remain unchanged.

Update product

Tool to update an existing product in Stripe.

Update Promotion Code

Updates an existing Stripe promotion code by setting the values of the parameters passed.

Update Quote

Tool to update an existing Stripe quote with new values.

Update Subscription

Updates an existing, non-canceled Stripe subscription by its ID, ensuring all referenced entity IDs (e.

Update Subscription Schedule

Tool to update an existing subscription schedule in Stripe.

Update Tax Registration

Tool to update an existing tax registration in Stripe.

Update Tax Settings

Updates Stripe Tax Settings parameters used in tax calculations.

Update Terminal Location

Updates a Terminal Location by modifying specified parameters.

Update Terminal Reader

Tool to update a Terminal Reader object by setting parameter values.

Validate payment method domain

Tool to validate an existing payment method domain in Stripe to activate payment methods.

Verify microdeposits on setup intent

Verifies microdeposits on a SetupIntent object to confirm bank account ownership.

Verify microdeposits on payment intent

Verifies microdeposits on a PaymentIntent object by matching deposit amounts or descriptor code.

Void a credit note

Marks a credit note as void.

Void an invoice

Tool to void a finalized Stripe invoice.

FAQ

Frequently asked questions

With a standalone Stripe MCP server, the agents and LLMs can only access a fixed set of Stripe tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Stripe and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. CrewAI fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Stripe tools.

Yes, absolutely. You can configure which Stripe scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Stripe data and credentials are handled as safely as possible.

Start with Stripe.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Stripe tool your agent needs.Free to start.

Start building