# Stripe MCP

> Stripe MCP Server manages your entire payment stack—customers, invoices, subscriptions, and balances. Your AI agent connects directly to Stripe’s APIs, allowing you to list overdue payments, create new accounts, or calculate account balances without ever logging into the Stripe dashboard.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** payments, invoicing, recurring-billing, pci-compliance, checkout, customer-management

## Description

Yo, forget logging into the Stripe dashboard just to check a few numbers. This server hooks your AI agent up straight to Stripe's APIs, making you a full-stack billing expert right from your chat window. You can manage everything—the customers, the invoices, the subscriptions, even how much cash you got floating around—without ever leaving your workflow.

**Audit Account Status and Funds Flow**
You wanna know exactly what kind of money's coming in? Use `balance_get` to check your current available funds and any pending deposits across every currency you deal with. For tracking where the dough is going, `payouts_list` pulls up records detailing payments that have already been sent out of your Stripe account. When you need a deep dive into specific transactions, you've got `charges_list`, which lets you pull a list of charges and even filter it down to check just one customer’s spending history. You can also get an overview of all payment intents using `payments_list`, letting you monitor transaction amounts across your whole account or drill down into a specific client’s activity.

**Managing Your Customers' Records**
You need to track who owes you money? Start by listing out everyone in your system with `customers_list`; you can filter that list by email address to quickly gauge someone's balance or see if they're delinquent. If you gotta take on a new client, just use `customers_create` and give them their name and email, and bam—they're registered. To keep your billing clean, you should always know what price points you’re using; check out all available tiers with `prices_list`. Before that, if you need to introduce a brand new service line, use `product_create` to set up the product name first, and then run `products_list` to see everything else already on file.

**Handling Subscriptions, Billing, and Invoicing**
The whole recurring revenue picture is right here. With `subscriptions_list`, you can review every plan—whether it's active, past-due, or canceled—and filter that list by a specific customer or status to see the full lifecycle of their billing arrangement. To keep tabs on outstanding money, run `invoices_list`; this tool lets you generate summaries for open or overdue invoices, and you can narrow down the results by customer ID or by whether they're paid. When it comes time to take a payment off the books, you can issue refunds directly using `refund_create` against a specific payment intent amount in cents; keep track of all those transactions later with `refunds_list`, which gives you a complete history of every refund processed through Stripe.

**Tracking Payment Activity and Products**
To get a full picture of what's happening on the cash flow front, remember that `payments_list` covers payment intents while `charges_list` handles specific charge details. If you need to know which product names are set up for billing, run `products_list`. You can also always check out how much money has left your account with the quick call of `balance_get`. This whole stack means you manage everything—from creating a new user via `customers_create` to issuing a full refund using `refund_create`, and tracking every cent through `payouts_list`—all without opening a browser. You just tell your agent what you need, and it handles the heavy lifting.

## Tools

### balance_get
Checks your current available and pending funds across all configured currencies.

### charges_list
Retrieves a list of specific charges, optionally filtered by a given customer ID.

### customers_create
Registers a new customer account using their name and email address.

### customers_list
Retrieves details for multiple customers, allowing filtering by email to check balance or delinquency status.

### invoices_list
Lists all invoices and allows filtering by customer ID or status (e.g., open, paid).

### payments_list
Retrieves a list of payment intents across your account, optionally filtered to check a specific customer's history.

### payouts_list
Lists records detailing payments that have been transferred out of your Stripe account.

### prices_list
Retrieves a list of all defined price tiers, useful for understanding available billing amounts.

### product_create
Creates a new product name that you plan to use before setting up pricing.

### products_list
Lists all existing products, helping you browse your current service offerings.

### refund_create
Issues a refund against a payment intent for a specified amount in cents.

### refunds_list
Retrieves a history of all refunds that have been processed through Stripe.

### subscriptions_list
Lists active, past-due, or canceled subscriptions, allowing filtering by customer or status.

## Prompt Examples

**Prompt:** 
```
Show my Stripe account balance.
```

**Response:** 
```
Your Stripe balance: **$12,450.80 available** and **$3,200.00 pending** in USD.
```

**Prompt:** 
```
List all past-due subscriptions.
```

**Response:** 
```
Found 3 past-due subscriptions. The largest is for Acme Corp ($299/month, overdue since March 15). Would you like me to pull the associated invoices?
```

**Prompt:** 
```
Create a new customer: Jane Smith, jane@example.com
```

**Response:** 
```
Customer created: **Jane Smith** (cus_QR7x...). Email: jane@example.com. Ready for invoicing and subscriptions.
```

## Capabilities

### Audit Account Status
Get an immediate report on your total available and pending funds using the `balance_get` tool.

### Manage Customer Records
Create new customer profiles or list existing customers, checking their name, email, and current delinquency status via `customers_list`.

### Track Payments History
List all payment intents and charges across your accounts to monitor transaction amounts and currencies using `payments_list` or `charges_list`.

### Handle Subscriptions & Billing
Review the full lifecycle of billing with tools like `subscriptions_list`, which tracks active, past-due, and canceled plans. You can also list detailed price tiers using `prices_list`.

### Process Invoices and Refunds
Generate summaries of open or overdue invoices (`invoices_list`) and process refunds for specific payments using the `refund_create` tool.

## Use Cases

### Reconciling Month-End Revenue
The Billing Manager needs a full picture of revenue. Instead of downloading 10 separate CSVs, they ask their agent to run `subscriptions_list` and then cross-reference the results with `invoices_list`. This single flow gives them every active plan, its status, and any outstanding payments needed for month-end reporting.

### Handling a Failed Payment
A customer reports a charge failure. The agent uses `payments_list` to get the specific transaction ID, checks the error code, and if necessary, runs `refund_create` after manually verifying the amount against their account balance via `balance_get`.

### Onboarding a New Enterprise Client
The Sales team signs a big client. The agent first uses `customers_create` to onboard them. Next, they use `product_create` and `prices_list` to set up the tiered billing structure, completing the setup in one session.

## Benefits

- **Instant Balance Check:** Use `balance_get` to see available and pending funds instantly. You skip the dashboard navigation and get a real-time cash snapshot in your conversation.
- **Proactive Billing Audits:** Run a full audit using `subscriptions_list` to find all past-due or canceled plans for a customer, letting you identify revenue gaps immediately.
- **Efficient Customer Onboarding:** Create new accounts with the `customers_create` tool. You get back the Stripe ID right away, which is necessary for subsequent actions like invoicing.
- **Full Payment Visibility:** Monitor every transaction history using `payments_list` and `charges_list`. You don't have to switch tabs to track a payment intent across multiple customers.
- **Automated Support Responses:** When a user asks about their bill, your agent can use `invoices_list` to pull the exact invoice status (paid/overdue) and provide it directly in the chat.

## How It Works

The bottom line is, you never have to open the Stripe dashboard or copy-paste an API key into a script; your AI client handles it all.

1. Subscribe to the server and provide your Stripe Secret Key (from your developer dashboard).
2. Your AI client sends a natural language prompt specifying the data needed (e.g., 'list all overdue subscriptions for Acme Corp').
3. The agent calls the specific tool (`subscriptions_list`, `invoices_list`, etc.) and returns a formatted report containing the requested financial data.

## Frequently Asked Questions

**How do I get started with Stripe MCP?**
Subscribe, then go to the **Stripe Dashboard → Developers → API keys** and copy your Secret key (starts with sk_live_ or sk_test_ for testing). Paste it here and you're ready. No SDK, no server setup, no webhooks — just connect and start querying your payment data.

**Can my AI agent track subscription churn and billing status?**
Yes. Ask your agent to list all subscriptions filtered by status — 'show me all past-due subscriptions' or 'how many canceled subscriptions do we have this month?'. It returns billing intervals, plan amounts, and whether the subscription will cancel at period end. Perfect for SaaS MRR monitoring.

**How do I check if a customer's payment went through?**
Just ask — 'check recent payments for customer cus_abc123' or 'did John's payment go through?'. Your agent pulls the latest payment intents showing the amount, currency, and status (succeeded, requires_action, or failed). No need to log into the Stripe dashboard or refresh browser tabs.

**Can I manage customers and invoices for my entire team?**
Absolutely. Create new customers with name, email, and notes in a single command. List all invoices filtered by customer or status — open, paid, or overdue. Share hosted invoice URLs directly from the conversation. Perfect for finance teams, SaaS billing departments, and e-commerce operations managing hundreds of customer accounts.

**What security protocols apply when I use `balance_get`?**
The server requires a secret API key for all operations. Your AI client never handles or stores raw payment data; it only transmits the necessary credentials to run the specific tool call.

**If a transaction fails, how do I see those records using `payments_list`?**
You must filter by the status field when calling `payments_list`. You can specifically request 'failed' or 'canceled' intents to pull a list of unsuccessful payments.

**What happens if I run `customers_list` and exceed the record limit?**
The tool handles pagination automatically. If you need more than the standard batch size, your AI client will continue calling the endpoint until all customer records are retrieved.

**How do I ensure a partial refund amount is correct when using `refund_create`?**
You specify the exact amount in cents for the refund. The tool requires this precise integer value, allowing you to partially refund a payment without affecting the original charge record.