Recharge MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.17.3 · published by io.usefulapi
Read subscriptions, customers, charges, orders; skip charges, cancel or activate subscriptions.
15 tools: 3 can delete or cancel things and 12 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads12Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http recharge https://recharge.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Deletes or cancels 3Claude Code: deny
recharge_activate_subscriptionREACTIVATES a cancelled subscription — resumes future charges.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it REACTIVATES a cancelled subscription — resumes future charges. This MODIFIES live data. Recharge REST: POST /subscriptions/{id}/activate (no body). Returns { subscription }.
Annotations the server declares
- title: Activate subscription
- destructiveHint: true
recharge_cancel_customer_subscriptionCANCELS an active subscription — stops all future charges.No findings
Why it is in this group
- The name "recharge_cancel_customer_subscription" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it CANCELS an active subscription — stops all future charges. This MODIFIES live data. A `cancellation_reason` is required. Recharge REST: POST /subscriptions/{id}/cancel with JSON body { cancellation_reason, cancellation_reason_comments? }. Returns { subscription }.
Annotations the server declares
- title: Cancel subscription
- destructiveHint: true
recharge_skip_chargeSKIPS a scheduled charge — prevents it from processing on its scheduled date.No findings
Why it is in this group
- The name "recharge_skip_charge" says "charge": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it SKIPS a scheduled charge — prevents it from processing on its scheduled date. This MODIFIES live billing data. Some stores require the specific line items to skip via `purchase_item_ids`. Recharge REST: POST /charges/{id}/skip with JSON body { purchase_item_ids? }. Returns { charge }.
Annotations the server declares
- title: Skip charge
- destructiveHint: true
Only reads 12Claude Code: allow
recharge_get_chargeGet a single charge by id, including line items, totals, status, scheduled date, and customer/address.No findings
Why it is in this group
- The name "recharge_get_charge" says "get": a word for reading.
Description, as the server wrote it Get a single charge by id, including line items, totals, status, scheduled date, and customer/address. Recharge REST: GET /charges/{id}.
Annotations the server declares
- title: Get charge
- readOnlyHint: true
recharge_get_customerGet a single customer by id, including contact details, Shopify customer id, and subscription/charge counts.No findings
Why it is in this group
- The name "recharge_get_customer" says "get": a word for reading.
Description, as the server wrote it Get a single customer by id, including contact details, Shopify customer id, and subscription/charge counts. Recharge REST: GET /customers/{id}.
Annotations the server declares
- title: Get customer
- readOnlyHint: true
recharge_get_orderGet a single order by id, including line items, totals, status, and the charge/subscription it came from.No findings
Why it is in this group
- The name "recharge_get_order" says "get": a word for reading.
Description, as the server wrote it Get a single order by id, including line items, totals, status, and the charge/subscription it came from. Recharge REST: GET /orders/{id}.
Annotations the server declares
- title: Get order
- readOnlyHint: true
recharge_get_storeGet the Recharge store/shop info — name, domain, currency, timezone, and account settings.No findings
Why it is in this group
- The name "recharge_get_store" says "get": a word for reading.
Description, as the server wrote it Get the Recharge store/shop info — name, domain, currency, timezone, and account settings. Recharge REST: GET /store.
Annotations the server declares
- title: Get store
- readOnlyHint: true
recharge_get_subscriptionGet a single subscription by id, including product, quantity, price, charge interval, and next charge date.No findings
Why it is in this group
- The name "recharge_get_subscription" says "get": a word for reading.
Description, as the server wrote it Get a single subscription by id, including product, quantity, price, charge interval, and next charge date. Recharge REST: GET /subscriptions/{id}.
Annotations the server declares
- title: Get subscription
- readOnlyHint: true
recharge_list_addressesList customer addresses with optional filters (customer, ids, created/updated date ranges).No findings
Why it is in this group
- The name "recharge_list_addresses" says "list": a word for reading.
Description, as the server wrote it List customer addresses with optional filters (customer, ids, created/updated date ranges). Returns { addresses }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /addresses.
Annotations the server declares
- title: List addresses
- readOnlyHint: true
recharge_list_chargesList charges with optional filters (customer, address, status, ids, purchase item, scheduled/created/updated date ranges) and sorting.No findings
Why it is in this group
- The name "recharge_list_charges" says "list": a word for reading.
Description, as the server wrote it List charges with optional filters (customer, address, status, ids, purchase item, scheduled/created/updated date ranges) and sorting. Returns { charges }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /charges.
Annotations the server declares
- title: List charges
- readOnlyHint: true
recharge_list_customersList customers with optional filters (email, ids, created/updated date ranges) and sorting.No findings
Why it is in this group
- The name "recharge_list_customers" says "list": a word for reading.
Description, as the server wrote it List customers with optional filters (email, ids, created/updated date ranges) and sorting. Returns { customers }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /customers.
Annotations the server declares
- title: List customers
- readOnlyHint: true
recharge_list_onetimesList one-time (non-recurring) line items with optional filters (customer, address, created/updated date ranges).No findings
Why it is in this group
- The name "recharge_list_onetimes" says "list": a word for reading.
Description, as the server wrote it List one-time (non-recurring) line items with optional filters (customer, address, created/updated date ranges). Returns { onetimes }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /onetimes.
Annotations the server declares
- title: List one-times
- readOnlyHint: true
recharge_list_ordersList orders with optional filters (customer, address, subscription, status, ids, created/updated/scheduled date ranges) and sorting.No findings
Why it is in this group
- The name "recharge_list_orders" says "list": a word for reading.
Description, as the server wrote it List orders with optional filters (customer, address, subscription, status, ids, created/updated/scheduled date ranges) and sorting. Returns { orders }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /orders.
Annotations the server declares
- title: List orders
- readOnlyHint: true
recharge_list_productsList Recharge products (subscription rules / discounts per product) with optional id filter.No findings
Why it is in this group
- The name "recharge_list_products" says "list": a word for reading.
Description, as the server wrote it List Recharge products (subscription rules / discounts per product) with optional id filter. Returns { products }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /products.
Annotations the server declares
- title: List products
- readOnlyHint: true
recharge_list_subscriptionsList subscriptions with optional filters (customer, address, status, ids, created/updated date ranges) and sorting.No findings
Why it is in this group
- The name "recharge_list_subscriptions" says "list": a word for reading.
Description, as the server wrote it List subscriptions with optional filters (customer, address, status, ids, created/updated date ranges) and sorting. Returns { subscriptions }. Pagination is cursor-based: pass `limit` (default 50, max 250) and read `next_cursor` / `previous_cursor` from the response. IMPORTANT: when paging with `cursor`, Recharge accepts ONLY `limit` alongside it — omit every other filter on cursor requests. Recharge REST: GET /subscriptions.
Annotations the server declares
- title: List subscriptions
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.17.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http recharge https://recharge.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__recharge__recharge_get_store",
"mcp__recharge__recharge_list_subscriptions",
"mcp__recharge__recharge_get_subscription",
"mcp__recharge__recharge_list_customers",
"mcp__recharge__recharge_get_customer",
"mcp__recharge__recharge_list_charges",
"mcp__recharge__recharge_get_charge",
"mcp__recharge__recharge_list_orders",
"mcp__recharge__recharge_get_order",
"mcp__recharge__recharge_list_onetimes",
"mcp__recharge__recharge_list_products",
"mcp__recharge__recharge_list_addresses"
],
"ask": [],
"deny": [
"mcp__recharge__recharge_skip_charge",
"mcp__recharge__recharge_cancel_customer_subscription",
"mcp__recharge__recharge_activate_subscription"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as recharge. Review it before you use it.