100+ integrations are ready to connect to your AI.Connect your first MCP

Paddle MCP server for your AI

Check revenue and MRR, look up a customer by email, change or cancel a subscription, refund a payment, create a product and its price, or pull a report, in your live Paddle account or your sandbox.

PopMCPPaddle

What were my net revenue, refunds and MRR over the last 30 days?

Supported Paddle tools

Every operation of the Paddle Billing API is here, from settings and checkout domains to webhook simulations and usage-based billing, with everyday customer, subscription and payment tools loaded first and the rest one search away.

147 tools in the full catalog: 87 read and 60 write. 42 load by default, and the rest are found with tool search.

paddle_create_address

Add an address to a customer.

paddle_create_customer

Create a customer.

paddle_create_customer_portal_session

Make a signed link to the customer portal, where a customer manages their billing.

paddle_customer_overview

Everything about one customer in one call: their record, addresses, businesses, subscriptions, recent payments and credit balances.

paddle_get_customer

Get one customer by id.

paddle_list_addresses

List a customer's addresses.

paddle_list_customers

List customers.

paddle_update_customer

Change a customer's name, email, locale or custom data, or archive one with status=archived.

paddle_cancel_subscription

Cancel a subscription.

paddle_get_subscription

Get one subscription: status, items with prices, next billing date, scheduled change, discount.

paddle_list_subscriptions

List subscriptions, newest first.

paddle_pause_subscription

Pause a subscription.

paddle_preview_subscription_update

See what paddle_update_subscription would do, with the same body, without changing anything: the immediate charge, the next bill and the prorated credits.

paddle_resume_subscription

Resume a paused subscription: effective_from immediately (the default here) or an RFC 3339 time.

paddle_subscription_overview

Everything about one subscription in one call: status, items, next bill (with amounts), scheduled changes, the customer, recent payments and recent history.

paddle_update_subscription

Change a subscription: items (upgrade, downgrade, seats), next_billed_at, discount, custom_data, or remove a scheduled change with scheduled_change=null.

paddle_create_price

Create a price for a product.

paddle_create_product

Create a product.

paddle_create_product_with_price

Create a product and its price together, the usual first step of selling something.

paddle_get_revenue_metrics

Net revenue per day in a date range, in the account's balance currency.

paddle_list_prices

List prices.

paddle_list_products

List products in the catalog.

paddle_revenue_summary

The state of the business for a date range: net revenue, refunds, chargebacks, MRR at the start and end, and active subscribers at the start and end, with amounts already written out as money.

paddle_run_explore_metrics_query

Break a metric down any way you like, for example revenue by country per month.

paddle_update_price

Change a price, or archive it with status=archived.

paddle_update_product

Change a product, or archive it with status=archived.

paddle_create_notification_setting

Have Paddle send events to a URL or email.

paddle_list_notification_settings

List webhook destinations.

paddle_create_discount

Create a discount.

paddle_list_discounts

List discounts.

paddle_create_transaction

Bill a customer, or make a checkout link.

paddle_get_transaction

Get one transaction with its line items, totals, tax and payment attempts.

paddle_get_transaction_invoice_pdf

Get a link to a transaction's invoice PDF.

paddle_list_transactions

List transactions (payments and invoices), newest first, up to 30 a page.

paddle_preview_transaction

Calculate totals, tax and discounts for items without creating a transaction.

paddle_account_readiness

Is this account set up to take payments? Which environment and account this is, what the API key may do, the verification status and open steps, the default payment link, payment methods and checkout domains.

paddle_get_report_download_url

Get the download link for a ready report's CSV.

paddle_run_report

Build a CSV report and get its download link, in one call.

paddle_create_adjustment

Refund or credit a transaction.

paddle_list_adjustments

List refunds, credits and chargebacks, 10 a page by default (50 at most).

paddle_refund_transaction

Refund a payment: everything, or an amount from one of its lines.

paddle_list_events

The account's event history, newest first: what happened, when, with its data.

paddle_create_client_token

Create a client-side token for Paddle.js in a web page.

paddle_delete_checkout_domain

Delete a checkout domain.

paddle_get_balance_currency_settings

Get balance currency settings.

paddle_get_checkout_domain

Get a checkout domain.

paddle_get_checkout_features

Get checkout feature settings.

paddle_get_checkout_payment_method_settings

Get checkout payment method settings.

paddle_get_checkout_recovery_settings

Get checkout recovery settings.

paddle_get_checkout_styles

Get inline checkout style settings.

paddle_get_checkout_url_settings

The account's default payment link, the page paddle_create_transaction checkout links open on.

paddle_get_client_token

Get a client-side token.

paddle_get_currency_conversion_settings

Get currency conversion settings.

paddle_get_overlay_checkout_styles

Get overlay checkout style settings.

paddle_get_statement_descriptor_settings

Get statement descriptor settings.

paddle_get_tax_settings

Get tax settings.

paddle_list_checkout_domains

List checkout domains.

paddle_list_client_tokens

List client-side tokens, the public tokens used by Paddle.js in a web page.

paddle_update_balance_currency_settings

Update balance currency settings.

paddle_update_checkout_features

Update checkout feature settings.

paddle_update_checkout_payment_method_settings

Update checkout payment method settings.

paddle_update_checkout_recovery_settings

Update checkout recovery settings.

paddle_update_checkout_styles

Update inline checkout style settings.

paddle_update_checkout_url_settings

Set the account's default payment link.

paddle_update_client_token

Rename a client-side token, or revoke it with status=revoked.

paddle_update_currency_conversion_settings

Update currency conversion settings.

paddle_update_overlay_checkout_styles

Update overlay checkout style settings.

paddle_update_statement_descriptor_settings

Update statement descriptor settings.

paddle_update_tax_settings

Update tax settings.

paddle_verify_checkout_domain_payment_method

Verify a payment method for a checkout domain.

paddle_create_business

Add a business to a customer.

paddle_delete_customer_payment_method

Delete a customer's saved payment method.

paddle_generate_customer_auth_token

Make a short-lived token that lets Paddle.js show a customer's saved payment methods at checkout.

paddle_get_address

Get an address for a customer.

paddle_get_business

Get a business for a customer.

paddle_get_customer_payment_method

Get a payment method for a customer.

paddle_list_businesses

List a customer's businesses (company name and tax number).

paddle_list_credit_balances

A customer's credit balances per currency: available, reserved and used.

paddle_list_customer_payment_methods

List a customer's saved payment methods.

paddle_update_address

Update an address for a customer.

paddle_update_business

Change a business.

paddle_activate_subscription

End a trial now on an automatically billed subscription.

paddle_create_subscription_charge

Bill an one-time charge against a subscription, using its saved payment method.

paddle_create_update_payment_method_transaction

Get the transaction and checkout link that let a customer change the card on a subscription billed automatically.

paddle_list_subscription_history

The full record of changes to one subscription: what changed, when, and who or what did it.

paddle_preview_subscription_charge

See what paddle_create_subscription_charge would bill, with the same body, without charging.

paddle_create_meter

Create a meter.

paddle_create_usage_balance_unit

Create an usage balance unit.

paddle_get_meter

Get a meter.

paddle_get_usage_balance

Get an usage balance for a customer.

paddle_get_usage_balance_unit

Get an usage balance unit.

paddle_list_meters

List meters.

paddle_list_usage_balance_grants

List grants for an usage balance.

paddle_list_usage_balance_units

List usage balance units.

paddle_list_usage_balances

List usage balances for a customer.

paddle_record_usage_events

Record usage events.

paddle_update_meter

Update a meter.

paddle_update_usage_balance_unit

Update an usage balance unit.

paddle_create_simulation

Set up a webhook simulation, one event or a scenario.

paddle_create_simulation_run

Run a simulation now: Paddle sends its events to the destination.

paddle_get_simulation

Get a simulation.

paddle_get_simulation_run

Get a run for a simulation.

paddle_get_simulation_run_event

Get an event for a simulation run.

paddle_list_simulation_run_events

List events for a simulation run.

paddle_list_simulation_runs

List runs for a simulation.

paddle_list_simulation_types

List simulation types.

paddle_list_simulations

List webhook simulations: fake events you can fire at a destination to test it.

paddle_replay_simulation_run_event

Replay an event for a simulation run.

paddle_update_simulation

Update a simulation.

paddle_get_active_subscribers_metrics

Active subscribers per day in a date range.

paddle_get_chargeback_metrics

Chargebacks per day in a date range.

paddle_get_checkout_conversion_metrics

Checkout conversion per day in a date range.

paddle_get_mrr_change_metrics

Net change in monthly recurring revenue per day in a date range; an amount can be negative.

paddle_get_mrr_metrics

Monthly recurring revenue per day in a date range.

paddle_get_price

Get a price.

paddle_get_product

Get a product.

paddle_get_refund_metrics

Refund amount per day in a date range.

paddle_list_explore_metric_entities

What paddle_run_explore_metrics_query can query: each metric entity with its measures, dimensions and filters.

paddle_preview_prices

Price a list of items for a location without creating anything: tax, discounts and local currency, with totals already formatted.

paddle_delete_notification_setting

Delete a webhook destination for good.

paddle_get_notification

Get one webhook delivery with its full payload.

paddle_get_notification_setting

Get one webhook destination.

paddle_list_notification_logs

List logs for a notification.

paddle_list_notifications

List webhook deliveries with their status and attempts.

paddle_replay_notification

Send a webhook delivery again, to the same destination.

paddle_update_notification_setting

Change a webhook destination.

paddle_create_discount_group

Create a discount group.

paddle_get_discount

Get a discount.

paddle_get_discount_group

Get a discount group.

paddle_list_discount_groups

List discount groups.

paddle_update_discount

Change a discount, or archive it with status=archived.

paddle_update_discount_group

Update a discount group.

paddle_revise_transaction

Correct the customer details on a billed or completed transaction (name, address, business, tax number).

paddle_update_transaction

Change a draft or ready transaction, or set status=billed to issue an invoice, or status=canceled to cancel.

paddle_get_account

The account's business identity: Paddle id, legal name, display name, website and contact email.

paddle_get_api_root

Who this connection is: the Paddle account, sandbox or production, and every permission the API key holds.

paddle_get_verification

Get a verification.

paddle_list_verifications

Whether the account is ready for live payments, and the steps still open.

paddle_update_account

Change the account's contact email.

paddle_create_report

Ask Paddle to build a CSV report: type is transactions, transaction_line_items, adjustments, adjustment_line_items, products_prices, discounts, balance, payout_reconciliation, checkouts or subscriptions; filters narrow it.

paddle_get_report

Get a report's status: pending, ready, failed or expired.

paddle_list_reports

List reports you have asked Paddle to build, with their status.

paddle_get_adjustment_credit_note

Get a link to an adjustment's credit note PDF.

paddle_get_ip_addresses

The IP addresses Paddle sends webhooks from, for this connection's environment.

paddle_list_countries

Countries Paddle supports, with their codes.

paddle_list_currencies

Currencies Paddle supports, with their decimal places: read this to turn an amount into money.

paddle_list_event_types

Every event type Paddle can send to a webhook, for use with paddle_create_notification_setting and paddle_list_events.

Connect Paddle to Claude, ChatGPT and Claude Code

Credentials off one Paddle screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In Paddle, open My account, Settings, Authentication, then API keys. Make a new key named PopMCP, choose its permissions and expiry, save, and copy it. Paste the key into PopMCP. It already says whether it is live or sandbox, so there is no app to register and no approval to wait for.

API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “What were my net revenue, refunds and MRR over the last 30 days?”

    • revenue_summary
  • “Who is sam@example.com, what are they paying for, and have any of their payments failed?”

    • customer_overview
  • “Which subscriptions are past due, and what does each customer owe?”

    • list_subscriptions
    • subscription_overview
  • “Move this subscription to the annual price, and show me what the customer pays before you do it”

    • list_prices
    • preview_subscription_update
    • update_subscription
  • “Refund $20 of this customer's last payment and tell me when Paddle approves it”

    • list_transactions
    • refund_transaction
    • list_adjustments
  • “Create a Pro plan at $29 a month with a 14 day trial, and give me a checkout link”

    • create_product_with_price
    • create_transaction
  • “Export last month's completed transactions as a CSV”

    • run_report

Use Paddle from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Paddle MCP server questions

What teams ask before putting Paddle behind an AI client.

What does PopMCP need to connect Paddle?

One API key. In Paddle open My account, Settings, Authentication, then API keys, make a key and copy it straight away, because it is shown only once. Paste it into PopMCP and you are connected. There is no OAuth app, redirect URL or review, and the key is stored encrypted and used only on PopMCP's servers.

Does it work with a Paddle sandbox account?

Yes. A key made in your sandbox dashboard connects your test account and a live key connects your real one. The key says which, so there is nothing to choose. They are separate accounts with separate ids, so connect each on its own if you want both, and a sandbox connection is a safe way to watch what an agent does.

Does it work with Paddle Classic?

No. This connector is for Paddle Billing, which everyone who signed up after August 2023 has. Paddle Classic is a separate older product with a different API, and pasting a Classic auth code gets a message saying so.

Can the agent refund payments or cancel subscriptions?

Yes, if the key has the permission and write actions are on. refund_transaction refunds all or part of a payment, cancel_subscription ends at the close of the billing period unless told otherwise, and preview_subscription_update shows what a plan change would cost before anything changes. On live accounts most refunds wait for Paddle's approval.

How do I keep it read-only?

Two ways, and you can use both. Give the key only permissions ending in .read when you make it, so Paddle itself refuses changes, and turn off write actions for the connection in PopMCP, which hides those tools from the AI.

What happens when a key does not have a permission?

The tool answers with the exact permission it needs, such as subscription.write. Add it to the key under Authentication in Paddle and try again; you do not need to reconnect. paddle_get_api_root lists what the key has now.

Why did my connection stop working after a few months?

Paddle API keys expire, after 90 days unless you choose a later date, and a year at most. Choose a later date when you make the key, and when one expires, make a new key and connect again.

How does the agent read amounts?

Paddle keeps money as a string in the currency's lowest denomination, so 2499 in USD is $24.99 and 1000 in JPY is 1000 yen. The connector tells the AI this, refuses a decimal rather than billing the wrong amount, and revenue_summary writes its totals out as money.

Is the webhook signing secret visible to the AI?

Only once, in the answer to create_notification_setting, when it is first made. Every other answer replaces it with a marker, so a read-only connection cannot see it. The Paddle dashboard always shows it.

Do I have to run or host the Paddle MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Paddle to Claude Code?

Connect Paddle in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Paddle on the consent screen. The Paddle tools are then available in that session, and no Paddle credential is stored on your machine.

Why do only 42 of the 147 tools load by default?

Loading 147 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 42-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 147 here. A trigger is something PopMCP watches for you: 29 Paddle events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Paddle.

Connect Paddle to your AI in minutes

Launch a hosted MCP endpoint for Paddle, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP