Lemon Squeezy MCP by usefulapi
Server Details
MCP server for Lemon Squeezy — stores, products, orders, subscriptions, license keys.
- Status
- Healthy
- Uptime
- 81.8% over 58 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action (get vs list for each entity, plus specific write operations). Filtering parameters further distinguish list tools. No overlapping purposes.
All tools follow a consistent `lemonsqueezy_action_resource` pattern using lowercase and underscores. Actions are consistently get, list, create, cancel, or update.
18 tools cover a broad set of resources (customers, orders, stores, subscriptions, discounts, license keys, prices, products, invoices, variants, checkouts) for a comprehensive e-commerce platform. Each tool earns its place.
While reading (list/get) is well-covered for most resources, creation and deletion are missing for many core entities (customers, products, orders, etc.), which may force agents to rely on external processes. Only subscriptions and checkouts have write support.
Available Tools
18 toolslemonsqueezy_cancel_customer_subscriptionCancel subscriptionDestructiveInspect
WRITE: Cancel a LIVE subscription. It remains active until the end of the current billing period, then moves to cancelled. This affects a real customer. API: DELETE /subscriptions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_id | Yes | Subscription id to cancel (required). |
lemonsqueezy_create_checkoutCreate checkoutDestructiveInspect
WRITE: Create a hosted checkout / payment link for a store + variant. Returns the created checkout including its url (the shareable payment link). API: POST /checkouts.
| Name | Required | Description | Default |
|---|---|---|---|
| store_id | Yes | Store id (required). | |
| expires_at | No | ISO 8601 date-time when the checkout link expires. | |
| variant_id | Yes | Variant id to sell (required). | |
| custom_price | No | Override price in cents (integer). | |
| checkout_data | No | JSON:API checkout_data object (email, name, custom, discount_code, etc.). | |
| product_options | No | JSON:API product_options object (name, description, redirect_url, etc.). | |
| checkout_options | No | JSON:API checkout_options object (embed, media, button_color, etc.). |
lemonsqueezy_get_customerGet a customerRead-onlyInspect
Get a single customer by id. API: GET /customers/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| customer_id | Yes | Customer id (required). |
lemonsqueezy_get_orderGet an orderRead-onlyInspect
Get a single order by id. API: GET /orders/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| order_id | Yes | Order id (required). |
lemonsqueezy_get_storeGet a storeRead-onlyInspect
Get a single store by id. API: GET /stores/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | Yes | Store id (required). |
lemonsqueezy_get_subscriptionGet a subscriptionRead-onlyInspect
Get a single subscription by id. API: GET /subscriptions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| subscription_id | Yes | Subscription id (required). |
lemonsqueezy_get_userGet authenticated userRead-onlyInspect
Get the currently authenticated user/account behind the API key. Good first call to confirm auth. API: GET /users/me.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
lemonsqueezy_list_customersList customersRead-onlyInspect
List customers, optionally filtered by store and/or email. API: GET /customers (filter[store_id], filter[email]).
| Name | Required | Description | Default |
|---|---|---|---|
| No | Filter to a customer email. | ||
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_discountsList discountsRead-onlyInspect
List discounts, optionally filtered to one store. API: GET /discounts (filter[store_id]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_license_keysList license keysRead-onlyInspect
List license keys, optionally filtered by store, order, or product. API: GET /license-keys (filter[store_id], filter[order_id], filter[product_id]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| order_id | No | Filter to a single order id. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| product_id | No | Filter to a single product id. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_ordersList ordersRead-onlyInspect
List orders, optionally filtered by store and/or buyer email. API: GET /orders (filter[store_id], filter[user_email]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| user_email | No | Filter to a buyer email. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_pricesList pricesRead-onlyInspect
List price models, optionally filtered to one variant. API: GET /prices (filter[variant_id]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| variant_id | No | Filter to a single variant id. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_productsList productsRead-onlyInspect
List products, optionally filtered to one store. API: GET /products (filter[store_id]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_storesList storesRead-onlyInspect
List all stores in the account. API: GET /stores.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_subscription_invoicesList subscription invoicesRead-onlyInspect
List subscription invoices, optionally filtered by store, status, or refunded flag. API: GET /subscription-invoices (filter[store_id], filter[status], filter[refunded]).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by invoice status (e.g. paid, void, refunded). | |
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| refunded | No | Filter by refunded flag. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_subscriptionsList subscriptionsRead-onlyInspect
List subscriptions with rich filtering by store, status, product, variant, customer, or buyer email. API: GET /subscriptions (filter[store_id], filter[status], filter[product_id], filter[variant_id], filter[customer_id], filter[user_email]).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by subscription status. | |
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| store_id | No | Filter to a single store id. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| product_id | No | Filter to a single product id. | |
| user_email | No | Filter to a buyer email. | |
| variant_id | No | Filter to a single variant id. | |
| customer_id | No | Filter to a single customer id. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_list_variantsList variantsRead-onlyInspect
List variants (price/plan tiers), optionally filtered to one product. API: GET /variants (filter[product_id]).
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Comma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'. | |
| page_size | No | Results per page (JSON:API page[size], max 100). Default 10. | |
| product_id | No | Filter to a single product id. | |
| page_number | No | Page number (JSON:API page[number]). Default 1. |
lemonsqueezy_update_subscriptionUpdate subscriptionDestructiveInspect
WRITE: Modify a LIVE subscription — change plan/tier (variant_id), cancel, pause/unpause, or set the billing anchor. This affects a real customer's billing. API: PATCH /subscriptions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| pause | No | Pause object (mode, resumes_at), or null to unpause. | |
| cancelled | No | Set true to cancel, false to un-cancel. | |
| variant_id | No | New variant id to switch the plan/tier to. | |
| billing_anchor | No | Day of month (1-31) to anchor billing to. | |
| subscription_id | Yes | Subscription id to update (required). |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Added
lemonsqueezy_cancel_customer_subscription - Removed
lemonsqueezy_cancel_subscription
18 tool updates
- Changed
lemonsqueezy_cancel_subscription1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_create_checkout1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_get_customer1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_get_order1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_get_store1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_get_subscription1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_get_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_customers1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_discounts1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_license_keys1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_orders1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_prices1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_products1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_stores1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_subscription_invoices1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_subscriptions1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_list_variants1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
lemonsqueezy_update_subscription1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
18 tool updates
- First observed
lemonsqueezy_cancel_subscription - First observed
lemonsqueezy_create_checkout - First observed
lemonsqueezy_get_customer - First observed
lemonsqueezy_get_order - First observed
lemonsqueezy_get_store - First observed
lemonsqueezy_get_subscription - First observed
lemonsqueezy_get_user - First observed
lemonsqueezy_list_customers - First observed
lemonsqueezy_list_discounts - First observed
lemonsqueezy_list_license_keys - First observed
lemonsqueezy_list_orders - First observed
lemonsqueezy_list_prices - First observed
lemonsqueezy_list_products - First observed
lemonsqueezy_list_stores - First observed
lemonsqueezy_list_subscription_invoices - First observed
lemonsqueezy_list_subscriptions - First observed
lemonsqueezy_list_variants - First observed
lemonsqueezy_update_subscription
Related MCP Connectors
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for the LemonSqueezy API. Enables managing stores, products, customers, subscriptions, discounts, and license keys from any MCP-compatible AI assistant.64360 npm4MIT
- AlicenseBqualityBmaintenanceMCP server for the Revolut Merchant API, enabling AI assistants to read and manage customers, orders, subscriptions, and plans. Supports sandbox and production with safe defaults.8MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language interaction with Lemon Squeezy accounts via MCP tools for managing subscriptions, orders, discounts, license keys, and more, with built-in security and audit logging.39 npmMIT
- AlicenseAqualityBmaintenanceMCP server for PayMongo payment gateway (Philippines). Supports payment intents, sources, payments, refunds, and checkout sessions via Basic Auth.2411 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.