list_productsLABSCO SUMMARY
Billing questions get answered where you are already typing.
It reaches most of the Paddle Billing API, so the catalogue work — a price that needs changing, a discount that needs building, a customer whose record you need to read — happens in the conversation rather than in a dashboard tab.
What it is
Paddle's own MCP server for Paddle Billing, with near parity to the Paddle API. The catalogue, customer records and discount setup you would otherwise click through in the dashboard are reachable as tool calls. It does not support Paddle Classic.
What you get
- Products listed, opened, created and updated
- Prices the same way, plus a preview of what a buyer would actually be charged
- Customer records read and written, and their credit balances listed
- Discounts created, updated and listed
- Discount groups created, updated, listed and archived
- Each tool marked non-destructive or not, so a read and a change are distinguishable before you call one
Requirements
A Paddle Billing account and an API key for it, plus npx to launch the server.
Setup effort
One command plus a key — npx -y @paddle/paddle-mcp --api-key=<YOUR_API_KEY> --environment=sandbox --tools=non-destructive, then supply credentials
USE CASES
Publishing a new plan end to end
Create the product, hang prices off it, then read both back to confirm what the buyer will see. Three calls replace a walk through the catalogue screens.
Checking what a buyer will actually be charged
Preview the prices rather than reasoning about them. The preview accounts for what the stored price object really does, which is where hand calculations usually go wrong.
Answering a customer's billing question
Find the customer, open their record, and read the credit balances sitting against it — enough to answer most support questions without opening the dashboard.
Running a promotion
Build the discount, group it with the others in the campaign, and archive the group when the promotion ends.
Correcting a price that went out wrong
Read the price as it stands, change it, and list the prices on the product to confirm nothing else moved.
83 tools
Listed in project docs. Your client may show a different list.
create_productget_productupdate_productlist_pricescreate_priceget_priceupdate_pricepreview_priceslist_discountscreate_discountget_discountupdate_discountlist_discount_groupscreate_discount_groupget_discount_groupupdate_discount_grouparchive_discount_grouplist_customerscreate_customerget_customerupdate_customerlist_credit_balanceslist_addressescreate_addressget_addressupdate_addresslist_businessescreate_businessget_businessupdate_businesslist_transactionscreate_transactionget_transactionupdate_transactionpreview_transaction_createrevise_transactionget_transaction_invoicelist_adjustmentscreate_adjustmentget_adjustment_credit_notelist_subscriptionsget_subscriptionupdate_subscriptioncancel_subscriptionpause_subscriptionresume_subscriptionactivate_subscriptionpreview_subscription_updatecreate_subscription_chargepreview_subscription_chargelist_saved_payment_methodsget_saved_payment_methoddelete_saved_payment_methodcreate_customer_portal_sessionlist_notification_settingscreate_notification_settingget_notification_settingupdate_notification_settingdelete_notification_settinglist_eventslist_notificationsget_notificationreplay_notificationlist_notification_logslist_simulationscreate_simulationget_simulationupdate_simulationlist_simulation_runscreate_simulation_runget_simulation_runlist_simulation_run_eventsget_simulation_run_eventreplay_simulation_run_eventlist_reportscreate_reportget_reportget_report_csvlist_client_side_tokenscreate_client_side_tokenget_client_side_tokenrevoke_client_side_tokenBEFORE YOU INSTALL
What to know first
Tools you get
83 tools named in the project's documentation.
Requires
- npx on PATH
- PADDLE_API_KEY in your environment
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @paddle/paddle-mcp --api-key=<YOUR_API_KEY> --environment=sandbox --tools=non-destructiveMCP Clients
Any MCP client — key in args
{
"mcpServers": {
"paddle": {
"command": "npx",
"args": [
"-y",
"@paddle/paddle-mcp",
"--api-key=<YOUR_API_KEY>",
"--environment=sandbox",
"--tools=non-destructive"
]
}
}
}Any MCP client — key in env
{
"mcpServers": {
"paddle": {
"command": "npx",
"args": [
"-y",
"@paddle/paddle-mcp"
],
"env": {
"PADDLE_API_KEY": "<YOUR_PADDLE_API_KEY>",
"PADDLE_ENVIRONMENT": "sandbox",
"PADDLE_MCP_TOOLS": "non-destructive"
}
}
}
}