Digital Goods (Merchant of Record)
About
Sell software and courses worldwide with taxes handled - one server for Paddle, Lemon Squeezy, Polar, Whop, Creem, Dodo, FastSpring, 2Checkout
Details
- Transport
- SSE
- License
- MIT
Explore
- MCP server integration
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Digital Goods (Merchant of Record)Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
create_checkout
Create a hosted CHECKOUT LINK for a digital product / software / course through a merchant-of-record platform (the MoR is the seller and remits global sales tax / VAT). Returns checkout_url for the buyer to pay. One primitive across eight providers — pick with provider. item = the catalog id on that platform: Paddle price_id (pri_...), Lemon Squeezy variant_id (numeric, also needs store_id), Polar product_id (UUID), Whop plan_id (plan_...), Creem product_id (prod_...), Dodo product_id (pdt_..…
query_order
Get the status of an order / transaction created through the merchant-of-record platform. order_id = Paddle transaction_id (txn_...), Lemon Squeezy order id (numeric), Polar order id (UUID), Whop payment/receipt id, Creem checkout id (ch_...), Dodo payment_id (pay_...), or FastSpring order id. Returns a UNIFIED status enum [PAID | PENDING | FAILED | REFUNDED | PARTIALLY_REFUNDED | CANCELED | PAST_DUE | UNKNOWN(raw)] plus raw_status and a raw passthrough of the provider payload. Credential hea…
issue_refund
Refund an order through the merchant-of-record platform. Capability differs by provider: Paddle = FULL refund only (POST /adjustments; pending_approval on production) — do NOT pass amount. Lemon Squeezy = pass amount (major unit) for partial, or omit for full. Polar = amount is REQUIRED (no full shortcut) plus a reason enum. Dodo = FULL only (POST /refunds) — do NOT pass amount. FastSpring = FULL only (POST /orders/{id}/refunds) — do NOT pass amount. 2Checkout = partial (pass amount) or full …
query_subscription
Get the status of a subscription on the merchant-of-record platform. subscription_id = Paddle sub_..., Lemon Squeezy subscription id (numeric), Polar subscription id (UUID), Whop membership id (mem_...), Creem subscription id (sub_...), Dodo subscription id (sub_...), or FastSpring subscription id. Returns a UNIFIED status enum [ACTIVE | TRIALING | PAST_DUE | PAUSED | CANCELED | EXPIRED | UNKNOWN(raw)] plus raw_status and a raw passthrough. Credential headers (set once in your MCP client, per…
cancel_subscription
Cancel a subscription on the merchant-of-record platform. Behaviour differs: Paddle = cancel immediately or at next_billing_period (set immediately). Dodo = same (immediately -> cancelled now, else at period end). Creem = same (immediately -> now, else scheduled to period end). Lemon Squeezy / FastSpring = always cancel at the END of the current period (access continues; immediate not offered by the API). Polar / Whop = Polar revokes IMMEDIATELY, Whop cancels at period end. Returns the unifie…
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"digital goods (merchant of record)": {
"digital-goods": {
"type": "http",
"url": "https://mor.wishpool.app/mcp",
"headers": {
"x-mor-provider": "paddle",
"x-mor-key": "your_provider_api_key"
}
}
}
}
}
McpServers
{
"digital-goods": {
"type": "http",
"url": "https://mor.wishpool.app/mcp",
"headers": {
"x-mor-provider": "paddle",
"x-mor-key": "your_provider_api_key"
}
}
}
Digital Goods
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



