# Recharge MCP

> Recharge MCP Server manages subscription commerce directly from any AI agent. This server exposes 11 tools for handling recurring billing, customer records, and order fulfillment via Recharge. You can list active subscriptions, get detailed customer profiles, track specific orders, or update subscription parameters—all without navigating the dashboard. It makes managing your entire subscription lifecycle conversational.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** subscriptions, recurring-billing, shopify-subscriptions, ecommerce-automation, recharge

## Description

**Recharge MCP Server** lets your agent talk directly to your billing backend. You connect any AI client—Claude, Cursor, whatever—and you can manage recurring commerce stuff in natural conversation. This server exposes eleven specific tools that let your agent handle everything from listing active subscriptions to updating customer data and reviewing full financial history without ever touching the main Recharge dashboard. It makes managing your whole subscription life cycle a conversational thing.

### Managing Subscriptions

You've got `list_subscriptions` when you need an overview of every existing Recharge subscription; it gives you the status and basic details for all of them at once. If you know a specific subscription ID, you can pull deep metadata and parameters using `get_subscription_details`, which shows exactly what that plan is doing right now. You'll use `update_subscription` when you need to change key parameters on an active account—say, bumping up the quantity or tweaking the renewal date. Need to shut something down? Just give your agent `cancel_subscription` with the specific ID, and it stops the subscription immediately.

### Customer Data Access

You can start by pulling a paginated list of all customer IDs using `list_customers`. Once you have those IDs, you fetch detailed information for any single subscriber—their full profile and billing records—with `get_customer`. You also get access to physical location data; `list_shipping_addresses` gathers every stored shipping address across your user base. If you need to look at historical order fulfillment, `list_subscription_orders` pulls a list of processed orders for bulk review, and you can dive into the specifics of one completed transaction using `get_order`. Furthermore, your agent can get a complete catalog of every single subscription product available in the store by running `list_products`.

### Billing and Financial History

When it comes to money, you've got deep visibility. You pull all recent processed charges and see the full billing history records using `list_billing_charges`. If a customer needs help with their account status, your agent can first list every single subscription using `list_subscriptions` for an immediate overview, then drill down into specific transaction details by pulling either a whole order record via `get_order` or checking the deep parameters of one active subscription using `get_subscription_details`. You don't have to leave the chat window to manage this; your AI client handles the tool calls directly.

This setup lets you skip the dashboard entirely. You pull customer IDs with `list_customers`, get their full details with `get_customer` and review all addresses using `list_shipping_addresses`. If a plan needs adjusting, you use `update_subscription`; if it's done, you call `cancel_subscription`. For billing reviews, you run `list_billing_charges` to see the history, or get the full details of a past order with `get_order`.

## Tools

### cancel_subscription
Stops a specific subscription immediately using its ID.

### get_customer
Retrieves all profile and billing details for one customer ID.

### get_order
Pulls full information about a single, completed subscription order.

### get_subscription_details
Fetches all specific metadata and parameters for one active subscription ID.

### list_billing_charges
Outputs a list of recent processed charges and billing history records.

### list_customers
Provides a paginated list containing IDs for all Recharge customers.

### list_products
Returns the catalog of every subscription product available in your store.

### list_shipping_addresses
Lists and retrieves all stored physical shipping addresses for customers.

### list_subscription_orders
Retrieves a list of processed subscription orders, allowing bulk review.

### list_subscriptions
Gives an overview and status of all subscriptions currently managed by Recharge.

### update_subscription
Makes direct changes to a subscription, such as changing its plan or quantity.

## Prompt Examples

**Prompt:** 
```
List all active subscriptions in Recharge.
```

**Response:** 
```
I've retrieved your subscriptions. You have 50 active subscriptions, including 'Premium Coffee Plan' and 'Monthly Supplement Pack'.
```

**Prompt:** 
```
Show me all active subscriptions that are due for renewal in the next 7 days.
```

**Response:** 
```
142 subscriptions due for renewal within 7 days. Tomorrow: 23 renewals ($4,567 total). Wednesday: 31 renewals ($6,234). Thursday-Sunday: 88 renewals ($18,900). Top products: "Monthly Coffee Box" (45 renewals), "Protein Pack" (34), "Wellness Bundle" (28). 8 subscriptions have failed payment methods that need updating. 3 customers requested skipping their next delivery. Total projected renewal revenue: $29,701.
```

**Prompt:** 
```
Show me the churn analysis for the last 30 days with cancellation reasons.
```

**Response:** 
```
89 cancellations in the last 30 days (4.2% churn rate, down from 5.1% last month). Reasons: "Too expensive" (34%), "No longer needed" (22%), "Switching to competitor" (18%), "Product quality" (12%), "Delivery issues" (8%), "Other" (6%). Average subscription length before cancellation: 4.7 months. Revenue lost: $12,340. 23 cancellations were win-back eligible. 8 customers paused instead of cancelling after retention offers.
```

## Capabilities

### List all subscriptions
Retrieves a list of all existing Recharge subscriptions, including status and basic details.

### Get customer profile data
Fetches detailed information for a specific subscriber using their unique ID.

### Track order specifics
Retrieves full details about a single, processed subscription order.

### View billing records
Lists all historical and recent charges associated with your store's recurring revenue.

### List products for sale
Retrieves a catalog of every subscription product offered through Recharge.

### Modify an existing subscription
Updates key parameters on an active subscription, such as its quantity or renewal date.

## Use Cases

### Investigating a double charge
A customer contacts support claiming they were double-charged. Instead of asking the user to email screenshots, your agent runs `get_order` and compares it against `list_billing_charges`. The output immediately shows two separate charges on different dates, clarifying that one was for a premium add-on billed separately.

### Bulk status audit
The ops team needs to verify which high-value customers are currently subscribed. They ask the agent to run `list_subscriptions`, filtering only by 'Premium' plans and checking if they have paid in the last 30 days using the output of `get_subscription_details`.

### Mid-cycle plan upgrade
A user calls to upgrade their service immediately. The agent first uses `get_customer` to verify the account is in good standing, then runs `update_subscription` to change the product and quantity, ensuring the charge date is correct.

### Identifying lapsed accounts
The marketing team wants a list of customers who haven't placed an order or checked their details in 60 days. The agent runs `list_customers` and then cross-references the resulting IDs against recent data from `list_subscription_orders` to find stale records.

## Benefits

- **Real-time status checks:** Use `list_subscriptions` to instantly see if a user's plan is active, cancelled, or suspended. You don't have to manually check the customer portal for basic status updates.
- **Deep financial dives:** `list_billing_charges` gives you access to historical transaction data, letting your agent calculate revenue loss or verify a specific payment date without generating a manual report.
- **Customer record lookup:** The `get_customer` tool pulls the entire profile—including shipping addresses (`list_shipping_addresses`) and billing info—into one structured response for easy review.
- **Subscription adjustments on the fly:** Never manually change a plan again. Use `update_subscription` to modify quantities or reschedule charges directly through your conversation with the agent.
- **Full order transparency:** You can track down specific transactions using `get_order`. This means you know exactly when an item shipped and what was charged for it, solving fulfillment questions instantly.

## How It Works

The bottom line is you don't talk to the dashboard; your agent talks directly to your billing database via predictable API calls.

1. Subscribe to the Recharge server and provide your API Access Token from your store settings.
2. Your AI client calls a specific tool (e.g., `list_subscriptions`) using the required parameters.
3. The agent executes the function against the Recharge platform, returning structured data that you can use immediately.

## Frequently Asked Questions

**How do I check all my active subscriptions using list_subscriptions?**
You simply ask the agent to run `list_subscriptions`. It returns a structured list showing every subscription ID, status (active/cancelled), and basic plan metadata.

**Can I use get_customer to find billing addresses?**
Yes. The `get_customer` tool retrieves the complete customer profile, which includes all stored billing information and a list of associated shipping addresses (`list_shipping_addresses`).

**What if I need to change a plan? Do I use update_subscription?**
Yes. You must use `update_subscription`. Remember, you'll need the specific subscription ID first; never guess it.

**Can list_billing_charges show me charges from last year?**
The tool lists processed and recent charges. While it provides historical data, always check its documentation for date range limitations to ensure you pull the full history needed.

**When I use `list_customers`, what credentials does my AI client need to authenticate?**
You must provide a valid Recharge API Access Token. This token acts as your primary authentication key, granting the agent read/write access to all customer data. The server validates this token first; if it's missing or expired, no tools will execute.

**Does `list_products` return every product available in my store, or only those currently subscribed to?**
`list_products` returns the full catalog of subscription products. This lets your agent see all options—whether they are active, paused, or archived. It gives you a complete list for cross-referencing data.

**If I run `get_order` and provide an Order ID that doesn't exist, what error does the server return?**
The system returns a standard 'Not Found' (404) error. Your agent handles this by reporting back to you that the specific order ID was invalid. You can then prompt it to search using different criteria.

**Is there a rate limit if I call `list_subscriptions` repeatedly in one session?**
Yes, like any external API, there are usage limits. For large datasets, the server employs pagination; you'll need to handle the 'next page' tokens returned by the tool to ensure you retrieve every single subscription record.

**Can I list all my active subscriptions using my AI agent?**
Yes! Use the `list_subscriptions` tool to retrieve a comprehensive list of all active and cancelled subscriptions in your account.