Paddle MCP server
Paddle's official MCP server lets agents manage the product catalog, billing, subscriptions, and reports through the Paddle Billing API.
Paddle MCP is the official server from Paddle (PaddleHQ) that connects AI assistants like Claude and AI-powered IDEs like Cursor to the Paddle Billing API as a merchant of record. It exposes a broad, well-organized tool set covering the product catalog (products and prices), discounts and discount groups, customers, addresses and businesses, transactions and adjustments, subscriptions, saved payment methods, customer portal sessions, notification settings and webhooks, simulations, reports, client-side tokens, and revenue metrics. That makes it a fit for billing copilots that need to spin up a product and price, reconcile a transaction, or pull MRR and churn metrics on demand.
The server runs locally over stdio via npx @paddle/paddle-mcp. It authenticates with a Paddle API key and a PADDLE_ENVIRONMENT of sandbox or production, and a PADDLE_MCP_TOOLS setting controls which tools are exposed (all, read-only, non-destructive, or a comma-separated list), defaulting to non-destructive so destructive operations are opt-in. It works exclusively with Paddle Billing and does not support Paddle Classic.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| list_products | Lists products in the catalog. |
| create_product | Creates a product. |
| get_product | Retrieves a product by ID. |
| update_product | Updates a product. |
| list_prices | Lists prices in the catalog. |
| create_price | Creates a price for a product. |
| get_price | Retrieves a price by ID. |
| update_price | Updates a price. |
| preview_prices | Previews prices, including localized amounts and taxes. |
| list_discounts | Lists discounts. |
| create_discount | Creates a discount. |
| get_discount | Retrieves a discount by ID. |
| update_discount | Updates a discount. |
| list_discount_groups | Lists discount groups. |
| create_discount_group | Creates a discount group. |
| get_discount_group | Retrieves a discount group by ID. |
| update_discount_group | Updates a discount group. |
| archive_discount_group | Archives a discount group. |
| list_customers | Lists customers. |
| create_customer | Creates a customer. |
| get_customer | Retrieves a customer by ID. |
| update_customer | Updates a customer. |
| list_credit_balances | Lists a customer's credit balances. |
| list_addresses | Lists addresses for a customer. |
| create_address | Creates an address for a customer. |
| get_address | Retrieves an address by ID. |
| update_address | Updates an address. |
| list_businesses | Lists businesses for a customer. |
| create_business | Creates a business for a customer. |
| get_business | Retrieves a business by ID. |
| update_business | Updates a business. |
| list_transactions | Lists transactions. |
| create_transaction | Creates a transaction. |
| get_transaction | Retrieves a transaction by ID. |
| update_transaction | Updates a transaction. |
| preview_transaction_create | Previews a transaction before creating it. |
| revise_transaction | Revises customer information on a billed or completed transaction. |
| get_transaction_invoice | Retrieves the invoice PDF link for a transaction. |
| list_adjustments | Lists adjustments such as refunds and credits. |
| create_adjustment | Creates an adjustment (refund or credit) for a transaction. |
| get_adjustment_credit_note | Retrieves the credit note PDF for an adjustment. |
| list_subscriptions | Lists subscriptions. |
| get_subscription | Retrieves a subscription by ID. |
| update_subscription | Updates a subscription. |
| cancel_subscription | Cancels a subscription. |
| pause_subscription | Pauses a subscription. |
| resume_subscription | Resumes a paused subscription. |
| activate_subscription | Activates a trialing subscription. |
| preview_subscription_update | Previews the effect of updating a subscription. |
| create_subscription_charge | Creates a one-time charge on a subscription. |
| preview_subscription_charge | Previews a one-time charge on a subscription. |
| list_saved_payment_methods | Lists a customer's saved payment methods. |
| get_saved_payment_method | Retrieves a saved payment method by ID. |
| delete_saved_payment_method | Deletes a saved payment method. |
| create_customer_portal_session | Creates a customer portal session link. |
| list_notification_settings | Lists notification settings (webhook and email destinations). |
| create_notification_setting | Creates a notification setting. |
| get_notification_setting | Retrieves a notification setting by ID. |
| update_notification_setting | Updates a notification setting. |
| delete_notification_setting | Deletes a notification setting. |
| list_notifications | Lists notifications that have been sent. |
| get_notification | Retrieves a notification by ID. |
| list_notification_logs | Lists delivery logs for a notification. |
| replay_notification | Replays a notification. |
| list_events | Lists events that have occurred on the account. |
| list_simulations | Lists webhook simulations. |
| create_simulation | Creates a webhook simulation. |
| get_simulation | Retrieves a simulation by ID. |
| update_simulation | Updates a simulation. |
| list_simulation_runs | Lists runs for a simulation. |
| create_simulation_run | Creates a run for a simulation. |
| get_simulation_run | Retrieves a simulation run by ID. |
| list_simulation_run_events | Lists events in a simulation run. |
| get_simulation_run_event | Retrieves a single event from a simulation run. |
| replay_simulation_run_event | Replays an event from a simulation run. |
| list_reports | Lists reports. |
| create_report | Creates a report. |
| get_report | Retrieves a report by ID. |
| get_report_csv | Retrieves the CSV download link for a report. |
| list_client_side_tokens | Lists client-side tokens. |
| create_client_side_token | Creates a client-side token. |
| get_client_side_token | Retrieves a client-side token by ID. |
| revoke_client_side_token | Revokes a client-side token. |
| get_active_subscribers_metrics | Retrieves active subscriber metrics. |
| get_monthly_recurring_revenue_metrics | Retrieves monthly recurring revenue (MRR) metrics. |
| get_revenue_metrics | Retrieves revenue metrics. |
| get_refunds_metrics | Retrieves refund metrics. |
| get_chargebacks_metrics | Retrieves chargeback metrics. |
| get_checkout_conversion_metrics | Retrieves checkout conversion metrics. |
| get_monthly_recurring_revenue_change_metrics | Retrieves MRR movement (change) metrics. |
Required configuration
- PADDLE_API_KEYRequired
Paddle API key for the target account.
- PADDLE_ENVIRONMENTOptional
Either 'sandbox' or 'production'.
- PADDLE_MCP_TOOLSOptional
Tool filter: 'all', 'read-only', 'non-destructive' (default), or a comma-separated list of tool names.
What you can do with it
Stand up a product and checkout
An agent creates a product, attaches a price, and previews localized pricing so a new plan is ready to sell without an engineer touching the Paddle dashboard.
Pull revenue and churn metrics
A finance copilot reads MRR, MRR movement, active subscribers, refunds, and chargebacks to answer a 'how are we doing this month' question with live numbers.
Reconcile a customer's billing
The agent looks up a customer, lists their transactions and subscriptions, and issues an adjustment or pulls the invoice PDF to resolve a billing dispute end to end.
FAQ
- Is it free?
- The MCP server is free and open source under PaddleHQ. You pay normal Paddle merchant-of-record fees on any real transactions it helps create.
- Does it support remote/OAuth?
- No. Paddle MCP runs locally over stdio via npx @paddle/paddle-mcp and authenticates with a Paddle API key plus an environment flag. There is no hosted OAuth endpoint.
- Can I limit what it can do?
- Yes. The PADDLE_MCP_TOOLS setting accepts 'all', 'read-only', 'non-destructive' (the default), or a comma-separated allowlist of tool names, so you can keep an agent read-only or scope it to specific operations.
- Does it work with Paddle Classic?
- No. The server targets the Paddle Billing API only and does not support Paddle Classic.