npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@paddle/paddle-mcp

v0.1.3

Published

MCP Server for Paddle Billing

Readme

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

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List products | list_products | ✅ | ✅ | | Create a product | create_product | ✅ | ❌ | | Get a product | get_product | ✅ | ✅ | | Update a product | update_product | ❌ | ❌ |

Prices

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List prices | list_prices | ✅ | ✅ | | Create a price | create_price | ✅ | ❌ | | Get a price | get_price | ✅ | ✅ | | Update a price | update_price | ❌ | ❌ | | Preview prices | preview_prices | ✅ | ❌ |

Discounts

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List discounts | list_discounts | ✅ | ✅ | | Create a discount | create_discount | ✅ | ❌ | | Get a discount | get_discount | ✅ | ✅ | | Update a discount | update_discount | ❌ | ❌ |

Discount Groups

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List discount groups | list_discount_groups | ✅ | ✅ | | Create a discount group | create_discount_group | ✅ | ❌ | | Get a discount group | get_discount_group | ✅ | ✅ | | Update a discount group | update_discount_group | ❌ | ❌ | | Archive a discount group | archive_discount_group | ❌ | ❌ |

Customers

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List customers | list_customers | ✅ | ✅ | | Create a customer | create_customer | ✅ | ❌ | | Get a customer | get_customer | ✅ | ✅ | | Update a customer | update_customer | ❌ | ❌ | | List credit balances for a customer | list_credit_balances | ✅ | ✅ |

Addresses

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List addresses for a customer | list_addresses | ✅ | ✅ | | Create an address for a customer | create_address | ✅ | ❌ | | Get an address for a customer | get_address | ✅ | ✅ | | Update an address for a customer | update_address | ❌ | ❌ |

Businesses

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List businesses for a customer | list_businesses | ✅ | ✅ | | Create a business for a customer | create_business | ✅ | ❌ | | Get a business for a customer | get_business | ✅ | ✅ | | Update a business for a customer | update_business | ❌ | ❌ |

Transactions

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List transactions | list_transactions | ✅ | ✅ | | Create a transaction | create_transaction | ✅ | ❌ | | Get a transaction | get_transaction | ✅ | ✅ | | Update a transaction | update_transaction | ❌ | ❌ | | Preview a transaction | preview_transaction_create | ✅ | ❌ | | Revise customer information on a billed or completed transaction | revise_transaction | ❌ | ❌ | | Get a PDF invoice for a transaction | get_transaction_invoice | ✅ | ✅ |

Adjustments

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List adjustments | list_adjustments | ✅ | ✅ | | Create an adjustment | create_adjustment | ✅ | ❌ | | Get a PDF credit note for an adjustment | get_adjustment_credit_note | ✅ | ✅ |

Subscriptions

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List subscriptions | list_subscriptions | ✅ | ✅ | | Get a subscription | get_subscription | ✅ | ✅ | | Update a subscription | update_subscription | ❌ | ❌ | | Cancel a subscription | cancel_subscription | ❌ | ❌ | | Pause a subscription | pause_subscription | ❌ | ❌ | | Resume a paused subscription | resume_subscription | ❌ | ❌ | | Activate a trialing subscription | activate_subscription | ❌ | ❌ | | Preview an update to a subscription | preview_subscription_update | ✅ | ❌ | | Create a one-time charge for a subscription | create_subscription_charge | ✅ | ❌ | | Preview a one-time charge for a subscription | preview_subscription_charge | ✅ | ❌ |

Saved Payment Methods

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List payment methods saved for a customer | list_saved_payment_methods | ✅ | ✅ | | Get a payment method saved for a customer | get_saved_payment_method | ✅ | ✅ | | Delete a payment method saved for a customer | delete_saved_payment_method | ❌ | ❌ |

Customer Portal Sessions

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | Create a customer portal session | create_customer_portal_session | ✅ | ❌ |

Notification Settings

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List notification settings | list_notification_settings | ✅ | ✅ | | Create a notification setting | create_notification_setting | ✅ | ❌ | | Get a notification setting | get_notification_setting | ✅ | ✅ | | Update a notification setting | update_notification_setting | ❌ | ❌ | | Delete a notification setting | delete_notification_setting | ❌ | ❌ |

Events

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List events | list_events | ✅ | ✅ |

Notifications

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List notifications | list_notifications | ✅ | ✅ | | Get a notification | get_notification | ✅ | ✅ | | Replay a notification | replay_notification | ✅ | ❌ |

Notification Logs

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List logs for a notification | list_notification_logs | ✅ | ✅ |

Simulations

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List simulations | list_simulations | ✅ | ✅ | | Create a simulation | create_simulation | ✅ | ❌ | | Get a simulation | get_simulation | ✅ | ✅ | | Update a simulation | update_simulation | ❌ | ❌ |

Simulation Runs

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List runs for a simulation | list_simulation_runs | ✅ | ✅ | | Create a run for a simulation | create_simulation_run | ✅ | ❌ | | Get a run for a simulation | get_simulation_run | ✅ | ✅ |

Simulation Run Events

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List events for a simulation run | list_simulation_run_events | ✅ | ✅ | | Get an event for a simulation run | get_simulation_run_event | ✅ | ✅ | | Replay an event for a simulation run | replay_simulation_run_event | ✅ | ❌ |

Reports

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List reports | list_reports | ✅ | ✅ | | Create a report | create_report | ✅ | ❌ | | Get a report | get_report | ✅ | ✅ | | Get a CSV file for a report | get_report_csv | ✅ | ✅ |

Client-Side Tokens

| Operation | Tool | Non-destructive | Read only | |-----------|------|-----------------|-----------| | List client-side tokens | list_client_side_tokens | ✅ | ✅ | | Create a client-side token | create_client_side_token | ✅ | ❌ | | Get a client-side token | get_client_side_token | ✅ | ✅ | | Revoke a client-side token | revoke_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:

  • Sandbox: https://sandbox-vendors.paddle.com/authentication-v2
  • Live: https://vendors.paddle.com/authentication-v2

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