# Stripe MCP

> Stripe lets your AI client take full control of your payments and billing infrastructure via conversation. Create payment intents, list customers, track invoices, and audit refunds—all from any MCP-compatible application. Check available balances, review product pricing, manage subscriptions, and audit every charge without ever leaving your IDE or chat window.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** payments, invoicing, customer-management, subscription-billing, financial-reporting, refund-management

## Description

Dealing with payments usually means context switching. You open the Stripe dashboard to check a balance, then switch back to your code editor to write an API call. This MCP changes that. It connects your AI agent directly to your payment data, allowing you to manage your entire financial lifecycle using only natural language.

You can use it to build new customer profiles or simply verify if a client's account is currently past due on their invoice. Need to know the total remaining balance across multiple currencies? Ask. You get immediate access to all necessary tools. This makes the whole catalog of Vinkius available, so you don't have to write boilerplate code just to retrieve status data.

Whether you are debugging a checkout flow or running end-of-month reconciliation, your agent acts as a dedicated payments engineer, pulling everything from customer records and subscription statuses to historical charges. It’s pure data retrieval, delivered conversationally.

## Tools

### create_customer
Creates a new customer record, optionally adding name and email details for future billing.

### create_payment_intent
Generates a payment intent object that requires an amount and currency to process a charge later.

### get_balance
Returns the available and pending total funds, broken down by type (e.g., card, bank transfer) and currency.

### get_customer
Retrieves all details for a specific customer ID, including contact info and metadata.

### list_charges
Lists multiple charges, providing the amount, status (succeeded/failed), customer ID, and date of each transaction.

### list_coupons
Lists all available discount coupons, detailing their type (percent or amount) and when they expire.

### list_customers
Retrieves a list of customers by ID, email, or name to find records in your system.

### list_invoices
Lists all invoices for a customer, showing amounts due, status (paid/open), and creation dates.

### list_payment_intents
Retrieves the current state of payment intents, including their amount, currency, and required action status.

### list_prices
Lists available pricing tiers for products, specifying if they are one-time or recurring subscriptions.

### list_products
Retrieves the catalog of all defined products by name and description, which are used to set prices.

### list_refunds
Lists historical refunds, detailing the amount, status, charge ID, and date they were issued.

### list_subscriptions
Retrieves details on all active subscriptions for a customer, including their current billing cycle and status.

## Prompt Examples

**Prompt:** 
```
Show me all active subscriptions and their monthly revenue.
```

**Response:** 
```
I found 47 active subscriptions. Total monthly recurring revenue is $12,450. The largest plan is the Enterprise tier at $499/mo (3 customers), followed by Pro at $99/mo (18 customers) and Starter at $29/mo (26 customers).
```

**Prompt:** 
```
Show me all refunds issued in the last 30 days.
```

**Response:** 
```
I found 8 refunds in the last 30 days totaling $347.50. The largest was $149.00 for charge ch_3Oa... (Annual Plan cancellation). All others were under $50 each. Would you like the details for any specific refund?
```

**Prompt:** 
```
What's my current Stripe balance?
```

**Response:** 
```
Your available balance is $8,234.50 USD and €1,120.00 EUR. Pending balance: $2,450.00 USD (3 payment intents still processing). Next payout is scheduled for tomorrow.
```

## Capabilities

### Manage Customer Accounts
Create new user accounts or pull detailed profiles for existing customers using their ID or email.

### Process Payments and Intents
Generate payment tokens and track the status of payments in real time, from pending to succeeded.

### Review Billing History
Pull detailed lists of invoices, past charges, and refunds to reconcile financial records.

### Monitor Subscriptions
Check the status, billing cycle, and associated prices for all active user subscriptions.

### Audit Financial Status
Quickly check both available and pending balances across various currencies.

## Use Cases

### Month-End Reconciliation
A finance analyst needs to prove that 47 subscriptions were active last month. The agent runs `list_subscriptions`, pulls the status and billing cycle for all users, and compiles a summary report detailing recurring revenue.

### Debugging a Failed Payment
A developer sees a checkout fail. They ask the agent to review recent activity by calling `list_charges` using the customer ID, pinpointing the exact charge failure status and associated payment method details for debugging.

### Handling Customer Support Disputes
A support team member needs to verify a refund request. They use the agent to call `list_refunds` and cross-reference that data with `get_customer` records to confirm identity and transaction history.

### Product Pricing Review
A product manager wants to know which discount codes are most popular. They prompt the agent to call `list_coupons`, getting a full list of active coupons, their type (percent/amount), and remaining duration.

## Benefits

- Audit refunds in seconds. Instead of hunting through the dashboard to find a specific transaction ID, you can run `list_refunds` directly via your agent, getting the amount, status, and date immediately.
- Build checkout flows without leaving your chat window. Use `create_payment_intent` to generate client secrets for payment processing right where you're working, streamlining development cycles.
- Track revenue health effortlessly. Check all active user plans using `list_subscriptions`, instantly knowing which customers are past due or still in their trial period.
- Centralize customer data. Instead of multiple database lookups, use `get_customer` to pull a full profile—email, name, and metadata—for any client ID you provide.
- Get instant financial oversight. Use `get_balance` to check total available and pending funds across all currencies with a single prompt.

## How It Works

The bottom line is, you get immediate, conversational access to Stripe's entire data set without writing boilerplate API calls.

1. Subscribe to this MCP and input your Stripe Secret Key.
2. Your AI client uses the credentials to access all payment endpoints.
3. You prompt your agent with a request (e.g., 'List all open invoices for customer X').

## Frequently Asked Questions

**How do I find a customer ID using the Stripe MCP?**
You use `list_customers` to search for customers by name or email address. This tool returns a list of IDs, allowing you to then target that specific user with other commands.

**Can I see my current payout status using the Stripe MCP?**
Yes, use `get_balance`. This function provides both your available funds and any pending balances, broken down by currency and type, so you know exactly when the money hits.

**What if I need to list all subscriptions for a single customer?**
Use `list_subscriptions`. You provide the customer ID, and it returns every active plan, along with its status (like 'active' or 'past_due') and billing cycle details.

**How does Stripe MCP handle refunds?**
You use `list_refunds` to get a comprehensive list of all issued refunds. This includes the refund amount, the status (success/failed), and which original charge it was tied to.

**Can I check product prices before creating an invoice?**
Absolutely. Use `list_prices` to browse current pricing tiers for products, checking if they are one-time fees or recurring subscription amounts.