# Stripe MCP

```json
{
  "name": "Stripe MCP",
  "slug": "stripe_mcp",
  "url": "https://composio.dev/toolkits/stripe_mcp",
  "markdown_url": "https://composio.dev/toolkits/stripe_mcp.md",
  "logo_url": "https://logos.composio.dev/api/stripe_mcp",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-25T05:37:45.105Z"
}
```

![Stripe MCP logo](https://logos.composio.dev/api/stripe_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Stripe MCP or direct API to create customers, charge payments, issue refunds, and manage products through natural language.

## Summary

Stripe MCP is Stripe's platform for managing payments, customers, products, and accounts.
Use it to process payments, manage billing, and operate account resources at scale.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 12

## Images

- Logo: https://logos.composio.dev/api/stripe_mcp

## Authentication

- **Dcr Oauth**
  - Type: `custom`
  - Description: Dcr Oauth authentication for Stripe MCP.
  - Setup:
    - Configure Dcr Oauth credentials for Stripe MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Create a new customer and invoice
- List open charges for a customer
- Refund a payment by transaction ID

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `STRIPE_MCP_CREATE_REFUND` | Create refund | This tool will refund a payment intent in Stripe. |
| `STRIPE_MCP_GET_STRIPE_ACCOUNT_INFO` | Get stripe account info | This will get the account info for the logged in Stripe account. |
| `STRIPE_MCP_LIST_AVAILABLE_ACCOUNTS_OR_ORGS` | List available accounts or orgs | Lists all Stripe accounts in this session with their stripe_context and livemode values. [USAGE NOTES] - Call this first to get stripe_context and livemode before any account-specific operation. [AGENT BEHAVIOR] - After calling, ask the user which account to use unless already specified. - Warn the user before switching between testmode and livemode. |
| `STRIPE_MCP_MANAGE_STRIPE_ACCOUNTS` | Manage stripe accounts | Returns a URL to the Stripe Dashboard where users can add accounts, remove accounts, or change permissions for this session. [USAGE NOTES] - Use when the user wants to add, remove, or modify permissions for an account. - Call this directly — no need to call list_available_accounts_or_orgs first. [AGENT BEHAVIOR] - Present the URL to the user and wait for them to confirm they completed their changes. - After confirmation, call list_available_accounts_or_orgs to sync the updated account list. |
| `STRIPE_MCP_SEARCH_STRIPE_DOCUMENTATION` | Search stripe documentation | Search the Stripe documentation for the given question and language. It takes two arguments: - question (str): The user question to search an answer for in the Stripe documentation. - language (str, optional): The programming language to search for in the documentation. |
| `STRIPE_MCP_SEND_STRIPE_MCP_FEEDBACK` | Send stripe mcp feedback | Submit feedback from user or agent about Stripe's MCP server tools. Valid: "the search tool returned irrelevant results", "I wish there was a tool for X" Invalid: Stripe API complaints, AI model issues, IDE/environment problems - Only call when feedback clearly targets MCP tools. - If feedback is about one specific tool, include its name in tool_name. - If feedback is from user, quote their exact message and set source to "user". - If a tool didn't follow your expectations as an agent, set source to "agent". |
| `STRIPE_MCP_STRIPE_ANALYTICS` | Stripe analytics | This tool is for analyzing Stripe Sigma and Metrics data (e.g. about revenue, charges, products, invoices, subscriptions, disputes, transactions, tax tables, payments etc) and running SQL-based reporting queries. Use it for historical analytics, aggregations, and business intelligence questions (e.g. MRR, churn, cohorts, revenue trends). Prefer this tool over making multiple Stripe API calls that would need to be joined or aggregated client-side. ## SQL Query Runs **execute_query_run**: Runs a SQL query (Trino) against reporting tables. Requires `sql`. Returns a QueryRun object; use retrieve_query_run to poll. **retrieve_query_run**: Retrieves a QueryRun's status and results. Requires `query_run_id`. **search_query_tables**: Searches available reporting tables by keyword. Requires `search_string`. **retrieve_query_table**: Gets full schema for a specific table. Requires `table_name`, which is the `name` parameter in each table. **execute_query_template**: Starts a pre-built query template for subscription/billing metrics (Trino, async). Requires `metric`. Optional: `dimensions`, `grains`, `metric_filters`. Returns a `query_run_id`; use retrieve_query_template to poll for results. **retrieve_query_template**: Retrieves the status/results of a template run started by execute_query_template. Requires `query_run_id`. ### workflow (custom SQL): 1. search_query_tables: find relevant tables 2. retrieve_query_table: get column names and types 3. execute_query_run: run SQL 4. retrieve_query_run: poll status, get download link ### workflow (query templates): 1. execute_query_template: start a template-based metric query (returns a query_run_id) 2. retrieve_query_template: poll with query_run_id (exponential backoff) until status is 'succeeded', then get download link ## Return types All monetary values returned by this tool are expressed in the smallest currency unit. For example: - 1000 is 10 USD (most two-decimal currencies like GBP, EUR, AUD, CAD, divide by 100 to get the major unit value) - 10 is 10 JPY (zero-decimal currency) - 10000 is 10 BHD (three-decimal currency) - 1000000 is 1 USDC If you don't know how many decimals are in a currency's minor units, use the search_stripe_documentation tool to look it up in https://docs.stripe.com/currencies#minor-units |
| `STRIPE_MCP_STRIPE_API_DETAILS` | Stripe api details | Get detailed parameter information for a specific Stripe API operation. Provide the stripe_api_operation_id from stripe_api_search results to see all path, query, and body parameters with their types, descriptions, and whether they are required. Use before calling the relevant Stripe API execution tool for operations with nested object fields. The response may include an "LLM Context" section with usage guidance specific to the operation — follow any instructions there. |
| `STRIPE_MCP_STRIPE_API_READ` | Stripe api read | Read data from any Stripe API GET operation: 1. Use stripe_api_search to find the operation ID. 2. Use stripe_api_details to understand its parameters (required for operations with nested object fields like address, metadata, or restrictions). 3. Call this tool with the stripe_api_operation_id and a parameters object containing path and query parameters. For mutations (POST/PATCH/PUT/DELETE), use stripe_api_write instead. Monetary values in responses are in the smallest currency unit (e.g. 1000 = $10.00 USD for most currencies). |
| `STRIPE_MCP_STRIPE_API_SEARCH` | Stripe api search | Search for Stripe API operations by providing an intent and a resource to operate on. For the resource, use a specific, descriptive phrase (e.g. "issuing card transactions", "payout methods", "outbound payments") rather than a single generic noun — Stripe has many similar resources, and the extra qualifiers help disambiguate between them rather than causing a miss. Only fall back to the bare core noun (e.g. "transactions") if a specific multi-word search returns no results. Returns matching operations with their HTTP method, path, summary, and top-level parameter names with types. Does not include parameter descriptions, enum values, or nested object fields — use stripe_api_details to get those before calling the relevant Stripe API execution tool. |
| `STRIPE_MCP_STRIPE_API_WRITE` | Stripe api write | Write data via any Stripe API POST/PATCH/PUT/DELETE operation: 1. Use stripe_api_search to find the operation ID. 2. Use stripe_api_details to understand its parameters (required for operations with nested object fields like address, metadata, or restrictions). 3. Call this tool with the stripe_api_operation_id and a parameters object containing path, query, and body parameters. For read-only lookups (GET), use stripe_api_read instead. All monetary amounts must be in the smallest currency unit (e.g. 1000 = $10.00 USD for most currencies). |
| `STRIPE_MCP_STRIPE_IMPLEMENTATION_PLANNER` | Stripe implementation planner | Stripe payment integration planner. Use this tool to help users accept payments, sell products online, set up billing, or build any Stripe integration. Call this BEFORE writing code when the user wants to charge customers, add a checkout flow, handle subscriptions, create invoices, or monetize their app. WHEN TO USE: Call this tool when the user wants to: - Accept payments, take payments, or charge customers (credit cards, bank transfers, wallets) - Sell online, build e-commerce, add a shopping cart, or create a checkout page - Set up subscriptions, recurring billing, metered billing, or usage-based pricing - Send invoices or collect one-time payments - Add Stripe to their app, integrate Stripe, or build a payment flow - Understand which Stripe products to use (Checkout, Elements, Payment Intents, Connect, Billing) - Plan an integration architecture before writing code - Monetize an app, add billing, or start charging users FIRST CALL GUIDANCE: Ask the user about their business and payment requirements before choosing a use case: - What do they sell? (physical goods, digital products, SaaS, services, marketplace) - Payment model? (one-time, subscriptions, invoices, usage-based) - Platform? (web, mobile app, in-person, payment links) - Complexity? (simple payment link vs. custom integration in existing tech stack) Then pass their full description as the message parameter. Returns JSON with use cases, decision trees, documentation links, and a guide_id for follow-up calls. RULES: - Do NOT pass a guide_id unless you received it from this tool in this conversation. - Do NOT retry with different guide_ids if one fails — omit guide_id to start fresh. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Stripe MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Stripe MCP actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Stripe MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Stripe MCP tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Stripe MCP Integration

- Supports both Stripe MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Stripe data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Stripe MCP access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Stripe MCP
- Scoped, least privilege access to Stripe MCP resources
- Full audit trail of agent actions to support review and compliance

## Use Stripe MCP with any AI Agent Framework

Choose a framework you want to connect Stripe MCP with:

- [ChatGPT](https://composio.dev/toolkits/stripe_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/stripe_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/stripe_mcp/framework/hermes-agent)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - 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.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Airwallex](https://composio.dev/toolkits/airwallex) - Airwallex is a global financial platform providing business accounts, payments, payouts, FX, and cards. Built to simplify cross-border payments and streamline financial operations for businesses.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Bigdata.com MCP](https://composio.dev/toolkits/bigdata_com_mcp) - Bigdata.com MCP provides grounded access to financial news, transcripts, filings, and entity intelligence. Ideal for building research workflows and generating timely market insights.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Cashfree Payments MCP](https://composio.dev/toolkits/cashfree_payments_mcp) - Cashfree Payments MCP is a merchant payments platform that handles collection, payouts, subscriptions, settlements, refunds, and identity verification. Simplifies merchant money lifecycle management with unified, API-driven workflows.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinbase Wallet MCP](https://composio.dev/toolkits/coinbase_wallet_mcp) - Coinbase Wallet MCP is Coinbase's wallet service for interacting with onchain accounts. Use it to give agents secure, structured access to inspect wallets and request onchain actions.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.

## Frequently Asked Questions

### Do I need my own developer credentials to use Stripe MCP with Composio?

Yes, Stripe MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
