# Recharge MCP

> Recharge manages the entire lifecycle of subscription billing directly through your AI agent. You can create customers, update addresses, manage plans, process charges, and adjust subscriptions—all without leaving your chat window. It lets you handle recurring revenue tasks that used to require jumping between a CRM, a payment processor, and an internal dashboard.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** recurring-billing, subscription-management, customer-data, shipping-logistics, ecommerce-automation

## Description

Think about the mess of managing recurring payments. You're constantly juggling customer records, tracking delivery schedules, making sure addresses are current, or adjusting charges for specific issues. This MCP lets your AI agent handle those operational headaches through simple conversation.

Need to update a billing address or cancel a subscription because a client moved? Just ask. It pulls the necessary data and executes the change. You can list all customers, check credit balances, and even manually process queued charges if needed. For operations teams that deal with high volumes of recurring revenue, this is huge. Because it's hosted on Vinkius, you connect once from your preferred AI client, and suddenly, complex billing tasks become natural conversations.

This tool gives your agent the power to create new users, generate checkouts, manage payment methods, or even delay a prepaid order—all while maintaining accurate records. It’s about giving your team immediate operational control over every aspect of their subscription base.

## Tools

### activate_subscription
Restarts a subscription that was previously cancelled.

### add_async_batch_tasks
Adds multiple tasks to a scheduled batch of operations.

### apply_charge_discount
Reduces the cost of a charge that is waiting to be processed.

### bulk_manage_product_plans
Makes changes to product plans across many items at once.

### cancel_subscription
Stops a subscription from renewing or billing in the future.

### change_subscription_address
Updates the physical delivery address associated with an active subscription.

### clone_order
Creates a copy of an existing prepaid order for record-keeping or manual fulfillment.

### create_address
Generates and saves a brand new physical address record.

### create_async_batch
Starts a large, scheduled batch of background billing tasks.

### create_checkout
Generates the initial necessary checkout structure for a new purchase.

### create_customer
Registers a brand-new user account in the system.

### create_metafield
Adds custom, non-billing data points to an existing record.

### create_payment_method
Saves a customer's credit card or payment details for future use.

### create_plan
Defines the terms, price, and duration of a repeatable service plan.

### create_product
Adds an item that can be sold through your e-commerce store.

### create_subscription
Sets up a new recurring billing arrangement for a customer.

### create_webhook
Sets up an automated alert that sends data to another service when an event happens.

### delay_order
Postpones a prepaid order by one billing cycle interval.

### delete_address
Removes an address record, provided no active subscriptions use it.

### delete_customer
Permanently deletes a customer and all associated records.

### delete_metafield
Removes custom data points from a record.

### delete_order
Eliminates a scheduled order before it can be fulfilled or charged.

### delete_payment_method
Removes saved payment details from a customer's profile.

### delete_plan
Deletes the definition of a billing plan.

### delete_product
Removes an item listing from your store's catalog.

### delete_subscription
Permanently removes a specific active subscription record.

### delete_webhook
Deletes an automated alert setup.

### get_address
Retrieves the full details of a specific address.

### get_async_batch
Retrieves the status and contents of a scheduled billing batch.

### get_charge
Fetches all details about a specific charge attempt or transaction.

### get_checkout_shipping_rates
Checks and retrieves the available shipping costs for an order checkout.

### get_checkout
Retrieves all details about a specific checkout session.

### get_customer_credit_summary
Calculates and returns the current monetary balance remaining on a customer account.

### get_customer_delivery_schedule
Predicts all upcoming delivery dates for a given customer address.

### get_customer
Retrieves the complete profile and history of a specific user.

### get_metafield
Fetches custom data points attached to any record.

### get_order
Retrieves the full details of a historical or scheduled order.

### get_payment_method
Fetches saved payment method information for a customer.

### get_plan
Retrieves the details of a specific billing plan definition.

### get_product
Fetches all available data about a single product listing.

### get_subscription
Retrieves the full status and history of an active subscription.

### get_webhook
Fetches details about a specific automated webhook alert.

### list_addresses
Provides a list of all saved addresses in the system.

### list_charges
Lists multiple transaction records and charge attempts over time.

### list_customers
Generates a list of all customer accounts in the database.

### list_metafields
Lists all custom data fields available for use across records.

### list_orders
Generates a comprehensive list of historical and pending orders.

### list_plans
Lists all defined billing plans available for sale or use.

### list_subscriptions
Generates a list of all active and past subscriptions.

### merge_addresses
Combines multiple source addresses into one clean target record.

### process_async_batch
Forces the execution of a previously scheduled billing batch of tasks.

### process_charge
Manually runs a charge that was queued but hasn't processed yet.

### process_checkout
Completes the payment and order process for a given checkout session.

### refund_charge
Reverses a previously successful charge transaction, returning funds to the customer.

### remove_charge_discount
Takes an existing discount off a queued charge, reversing that promotion.

### set_subscription_next_charge_date
Adjusts the exact date when a subscription will attempt its next billing cycle.

### skip_address_charges
Prevents future charges from being applied to a specific address for certain subscriptions.

### skip_charge
Temporarily blocks a single, upcoming charge attempt for any reason.

### test_webhook
Runs a test payload through an existing webhook alert to ensure it works.

### unskip_charge
Re-enables a charge that was previously skipped or blocked.

### update_address
Modifies the details of an existing address record.

### update_checkout
Makes changes to a checkout session before it is finalized.

### update_customer
Modifies any core piece of data on a customer's profile, like their name or email.

### update_metafield
Changes the value of custom data points attached to a record.

### update_order
Modifies details on an existing order, like shipping instructions or notes.

### update_payment_method
Updates saved payment information for a customer.

### update_plan
Changes the pricing or terms of an existing billing plan.

### update_product
Modifies details, descriptions, or inventory levels for a product listing.

### update_subscription
Changes the terms, price, or status of an active subscription plan.

### update_webhook
Modifies the destination URL or trigger criteria for an automated alert.

## Prompt Examples

**Prompt:** 
```
List the most recent 10 customers from Recharge.
```

**Response:** 
```
I've retrieved the latest customers. The list includes 'Jane Doe' (ID: 88231), 'John Smith' (ID: 88232), and 8 others. Would you like to see the details for a specific customer?
```

**Prompt:** 
```
Show me the delivery schedule for customer 123456.
```

**Response:** 
```
Fetching the schedule for customer 123456... They have 3 upcoming deliveries: June 15th (Monthly Coffee), July 15th (Monthly Coffee), and August 15th (Monthly Coffee).
```

**Prompt:** 
```
Get the details for subscription ID 998877.
```

**Response:** 
```
Inspecting subscription 998877... It is an active 'Premium Skincare Bundle' priced at $45.00, renewing every 30 days. The next charge date is set for June 20th.
```

## Capabilities

### Manage Customer Records
Create new customer profiles and retrieve detailed information, including payment methods and credit balances.

### Control Subscriptions
Cancel, reactivate, update, or delete entire subscriptions to manage the client lifecycle.

### Handle Payments and Charges
Process charges manually, refund payments, apply discounts, and skip future billing dates for specific customers.

### Update Logistics Data
Create or update shipping addresses, merge duplicate records, and manage delivery schedules.

### Build Core Products
Programmatically create new products, plans, and subscriptions needed for your e-commerce catalog.

## Use Cases

### A customer calls about an incorrect charge.
The support agent doesn't know if the charge was valid. They ask their agent to `get_charge` details and then use `get_customer_credit_summary`. If the charge was wrong, they can immediately run `refund_charge` and explain the exact numbers to the client.

### The company is expanding to a new region.
The operations lead needs to update 50 old customer records with new tax addresses. They use `list_customers` to pull the IDs, then call `update_customer` and `change_subscription_address` iteratively until all records are current.

### A key product plan is expiring or needs a price change.
Instead of updating documents and hoping people read them, the billing manager uses their agent to run `update_plan` for the affected products. This ensures all future subscription setups use the correct, current pricing.

### A large batch of prepaid orders needs to be processed.
The fulfillment team doesn't want 50 separate API calls. They use `create_async_batch` and then later trigger `process_async_batch`, letting the system handle all the heavy lifting in the background.

## Benefits

- Stop manually tracking delivery dates. You can use `get_customer_delivery_schedule` to instantly see when a customer expects their next shipment, helping support agents resolve issues before they escalate.
- Handle billing adjustments on the fly. If a client needs a pause or a discount, you don't need to open another tab; your agent can execute `skip_charge` or `apply_charge_discount` immediately via conversation.
- Keep customer data clean and accurate. Use `merge_addresses` when dealing with old records that have duplicate addresses, ensuring future billing cycles use the correct location.
- Accelerate onboarding for new users. Your agent can now fully handle the setup process by running `create_customer`, then immediately following up with `create_payment_method` and finally `create_subscription` in a single flow.
- Gain full control over your catalog. Need to launch a sale? Instead of manually updating every product, you can run `bulk_manage_product_plans` to adjust pricing across dozens of items simultaneously.

## How It Works

The bottom line is that your AI client translates complex, multi-step billing tasks into single conversational commands.

1. Subscribe to this MCP and provide your Recharge API Access Token.
2. Your AI agent connects the credentials and verifies access to all billing tools.
3. You simply ask your agent to perform a task, like 'Update customer 1234's address' or 'Cancel subscription ID 900.'
4. The agent executes the command using the necessary tool and reports back the success or failure status.

## Frequently Asked Questions

**How do I check a customer's current credit balance using Recharge MCP?**
You use `get_customer_credit_summary`. This tool calculates and returns the exact monetary balance available on that customer's account, so you know if they can afford a new service.

**What is the best way to update an address for multiple users?**
You should first use `list_customers` to get all IDs, then run `update_customer` or `change_subscription_address` in a loop. This ensures every relevant record gets updated consistently.

**Can I pause a subscription using Recharge MCP?**
You can manage this by calling `skip_charge`. If you want to stop it permanently, use the `cancel_subscription` tool instead. The choice depends on whether you plan to reactivate later.

**How do I manually process a payment that failed?**
Use `process_charge`. This function allows your agent to force-run a charge that was queued up but couldn't process automatically. Always verify the original transaction details first using `get_charge`.

**I need to delete an old customer record; is it safe?**
You can use `delete_customer`, but be careful because this permanently removes all child resources associated with that account. Always confirm the ID before running any deletion command.