Stripe

Analyze payment data, revenue, subscriptions, and customer insights. Easy setup with API key authentication.

Overview

The Stripe integration connects your payment data to Claude Code through Presso, giving you instant access to revenue, subscriptions, customers, invoices, refunds, and more — all through natural language queries.

Instead of navigating the Stripe dashboard to build reports, ask Claude Code "What's my revenue this month?" and get an instant, actionable analysis.

Setup

Prerequisites

  • An active Stripe account
  • A Presso account with an active subscription
  • Claude Code installed and configured with the Presso MCP server

Create a Restricted API Key

Presso uses a read-only Restricted API Key to connect to your Stripe account.

  1. Open the Stripe Dashboard.
  2. In the API Keys section, click Create restricted key.
  3. Set the following permissions to Read:
    • Charges
    • Customers
    • Disputes
    • Invoices
    • PaymentIntents
    • Payouts
    • Plans / Prices
    • Products
    • Subscriptions
    • Balance
    • Coupons
  4. Create the key and copy the rk_live_... value.

Important: Always use a Restricted Key (rk_live_...), not a Secret Key (sk_live_...).

Connect Stripe

  1. Open the Presso dashboard.
  2. Click Add Connection and select Stripe.
  3. Enter the Restricted API Key you created.
  4. Once validated, the connection appears with a green Connected status.

Note: Presso uses read-only access only. It cannot create payments, modify customers, or manage subscriptions.

Available tools

The Stripe integration provides 17 tools:

Account and balance

ToolDescription
stripe_get_accountGet Stripe account information
stripe_retrieve_balanceGet current account balance (available and pending)
stripe_list_balance_transactionsList balance transactions (money movements)

Customers

ToolDescription
stripe_list_customersList customers with optional email filter
stripe_get_customerGet details for a specific customer

Products and pricing

ToolDescription
stripe_list_productsList products
stripe_list_pricesList prices with optional product filter

Payments

ToolDescription
stripe_list_chargesList charges with optional customer filter
stripe_list_payment_intentsList payment intents
stripe_search_chargesSearch charges using Stripe query language

Subscriptions and invoices

ToolDescription
stripe_list_subscriptionsList subscriptions with optional status filter
stripe_get_subscriptionGet details for a specific subscription
stripe_list_invoicesList invoices with optional status filter

Refunds and disputes

ToolDescription
stripe_list_refundsList refunds
stripe_list_disputesList disputes and chargebacks

Coupons and payouts

ToolDescription
stripe_list_couponsList coupons
stripe_list_payoutsList payouts to bank accounts

Charge search query language

stripe_search_charges supports Stripe's query language for advanced filtering:

Example queryDescription
status:'succeeded'Only successful charges
amount>1000Charges over 1000 (smallest currency unit)
customer:'cus_xxx'Charges for a specific customer
status:'succeeded' AND amount>5000Combined conditions

Note: Amounts are in the smallest currency unit (e.g., cents for USD, yen for JPY).

Example queries

Revenue analysis

Show me total revenue this month.
What's the daily revenue trend for the past 30 days?
Show me recent refunds and chargebacks.

Subscription analysis

How many active subscriptions do I have and what's the monthly recurring revenue?
How many subscriptions were cancelled in the past month?
Break down subscriptions by plan.

Customer analysis

Show me my highest-paying customers.
Look up the payment history for this email address.

Payouts and balance

What's my current balance (available and pending)?
Show me recent payouts to my bank account.
Break down this month's balance transactions.

Tips and best practices

  • Use Restricted Keys. Always use a Restricted Key (rk_live_), not a Secret Key (sk_live_). Grant only the minimum permissions needed.
  • Amounts are in smallest currency units. Stripe API amounts are returned in the smallest currency unit (cents for USD, yen for JPY).
  • Use pagination for large datasets. Use the limit and starting_after parameters to efficiently page through large result sets.
  • Leverage search queries. stripe_search_charges supports compound conditions for quickly finding specific transactions.

Limitations

  • All tools are read-only. No payments, modifications, or deletions can be made.
  • Each request returns a maximum of 100 results. Use pagination for larger datasets.
  • Stripe API rate limits apply.
  • To access test environment data, use a test-mode Restricted Key.

Next steps

  • Shopify integration — Combine Stripe payment data with Shopify order data for deeper analysis.
  • Use cases — See practical examples of revenue analysis and subscription management.