Paddle Billing

Interact with the Paddle Billing API to manage products, prices, customers, transactions, and subscriptions.

MCP Server for Paddle Billing

Paddle Billing is the developer-first merchant of record. We take care of payments, tax, subscriptions, and metrics with one unified API that does it all.

This is a Model Context Protocol (MCP) server that provides LLMs and AI agents with tools for interacting with the Paddle API.

Important: This MCP server works with Paddle Billing. It does not support Paddle Classic. To work with Paddle Classic, see: Paddle Classic API reference

Install MCP Server

Features

The MCP server has near parity with the Paddle API, allowing AI assistants and agents to:

  • Manage your full Paddle catalog
  • View customer, purchase, and provisioning information
  • Handle subscription, payment, and refund workflows
  • Debug billing and order management issues
  • Create and adjust transactions directly in conversation
  • Generate financial reports for financial and operational insights
  • Implement and test Paddle integrations faster

Products

OperationToolNon-destructiveRead only
List productslist_products
Create a productcreate_product
Get a productget_product
Update a productupdate_product

Prices

OperationToolNon-destructiveRead only
List priceslist_prices
Create a pricecreate_price
Get a priceget_price
Update a priceupdate_price
Preview pricespreview_prices

Discounts

OperationToolNon-destructiveRead only
List discountslist_discounts
Create a discountcreate_discount
Get a discountget_discount
Update a discountupdate_discount

Discount Groups

OperationToolNon-destructiveRead only
List discount groupslist_discount_groups
Create a discount groupcreate_discount_group
Get a discount groupget_discount_group
Update a discount groupupdate_discount_group
Archive a discount grouparchive_discount_group

Customers

OperationToolNon-destructiveRead only
List customerslist_customers
Create a customercreate_customer
Get a customerget_customer
Update a customerupdate_customer
List credit balances for a customerlist_credit_balances

Addresses

OperationToolNon-destructiveRead only
List addresses for a customerlist_addresses
Create an address for a customercreate_address
Get an address for a customerget_address
Update an address for a customerupdate_address

Businesses

OperationToolNon-destructiveRead only
List businesses for a customerlist_businesses
Create a business for a customercreate_business
Get a business for a customerget_business
Update a business for a customerupdate_business

Transactions

OperationToolNon-destructiveRead only
List transactionslist_transactions
Create a transactioncreate_transaction
Get a transactionget_transaction
Update a transactionupdate_transaction
Preview a transactionpreview_transaction_create
Revise customer information on a billed or completed transactionrevise_transaction
Get a PDF invoice for a transactionget_transaction_invoice

Adjustments

OperationToolNon-destructiveRead only
List adjustmentslist_adjustments
Create an adjustmentcreate_adjustment
Get a PDF credit note for an adjustmentget_adjustment_credit_note

Subscriptions

OperationToolNon-destructiveRead only
List subscriptionslist_subscriptions
Get a subscriptionget_subscription
Update a subscriptionupdate_subscription
Cancel a subscriptioncancel_subscription
Pause a subscriptionpause_subscription
Resume a paused subscriptionresume_subscription
Activate a trialing subscriptionactivate_subscription
Preview an update to a subscriptionpreview_subscription_update
Create a one-time charge for a subscriptioncreate_subscription_charge
Preview a one-time charge for a subscriptionpreview_subscription_charge

Saved Payment Methods

OperationToolNon-destructiveRead only
List payment methods saved for a customerlist_saved_payment_methods
Get a payment method saved for a customerget_saved_payment_method
Delete a payment method saved for a customerdelete_saved_payment_method

Customer Portal Sessions

OperationToolNon-destructiveRead only
Create a customer portal sessioncreate_customer_portal_session

Notification Settings

OperationToolNon-destructiveRead only
List notification settingslist_notification_settings
Create a notification settingcreate_notification_setting
Get a notification settingget_notification_setting
Update a notification settingupdate_notification_setting
Delete a notification settingdelete_notification_setting

Events

OperationToolNon-destructiveRead only
List eventslist_events

Notifications

OperationToolNon-destructiveRead only
List notificationslist_notifications
Get a notificationget_notification
Replay a notificationreplay_notification

Notification Logs

OperationToolNon-destructiveRead only
List logs for a notificationlist_notification_logs

Simulations

OperationToolNon-destructiveRead only
List simulationslist_simulations
Create a simulationcreate_simulation
Get a simulationget_simulation
Update a simulationupdate_simulation

Simulation Runs

OperationToolNon-destructiveRead only
List runs for a simulationlist_simulation_runs
Create a run for a simulationcreate_simulation_run
Get a run for a simulationget_simulation_run

Simulation Run Events

OperationToolNon-destructiveRead only
List events for a simulation runlist_simulation_run_events
Get an event for a simulation runget_simulation_run_event
Replay an event for a simulation runreplay_simulation_run_event

Reports

OperationToolNon-destructiveRead only
List reportslist_reports
Create a reportcreate_report
Get a reportget_report
Get a CSV file for a reportget_report_csv

Client-Side Tokens

OperationToolNon-destructiveRead only
List client-side tokenslist_client_side_tokens
Create a client-side tokencreate_client_side_token
Get a client-side tokenget_client_side_token
Revoke a client-side tokenrevoke_client_side_token

Installation

To use the MCP server, you'll need an API key. You can create and manage API keys in Paddle > Developer tools > Authentication:

To run the server in a client like Claude Desktop, Cursor or Windsurf, add the following to your MCP config:

{
  "mcpServers": {
    "paddle": {
      "command": "npx",
      "args": ["-y", "@paddle/paddle-mcp", "--api-key=PADDLE_API_KEY", "--environment=(sandbox|production)", "--tools=(all|read-only|non-destructive|tool_name1,tool_name2,...)"]
    }
  }
}

Replace PADDLE_API_KEY with your API key, and pass the correct value as environment.

You can also filter the tools available to the MCP server by passing the --tools argument. Accepted values are all, read-only, non-destructive, or a comma-separated list of tool names. The default is non-destructive.

For detailed setup guides, see:

Development

  1. Install dependencies:

    pnpm install
    
  2. Build the server:

    pnpm build
    
  3. Update client to use the local build:

    {
      "mcpServers": {
        "paddle": {
          "command": "node",
          "args": ["path/to/paddle-mcp-server/build/index.js"],
          "env": {
            "PADDLE_API_KEY": "your_api_key",
            "PADDLE_ENVIRONMENT": "sandbox",
            "PADDLE_MCP_TOOLS": "all"
          }
        }
      }
    }
    

    The PADDLE_MCP_TOOLS environment variable accepts the same values as the --tools argument: all, read-only, non-destructive, or a comma-separated list of tool names. If not set, defaults to non-destructive.

Debugging

To debug the MCP server, you can use the MCP Inspector tool:

  1. Run the server with the inspector:

    pnpm inspector
    
  2. Open the provided URL in your browser to view and debug the MCP requests and responses.

  3. Include the --api-key and --environment arguments.

Learn more

Related Servers