# MCP Server for Paddle Billing
[Paddle Billing](https://www.paddle.com/billing?utm_source=dx&utm_medium=paddle-mcp-server) 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)](https://modelcontextprotocol.io/introduction) server that provides 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](https://developer.paddle.com/classic/api-reference/1384a288aca7a-api-reference?utm_source=dx&utm_medium=paddle-mcp-server)
## Features
- List products in your Paddle catalog
- Create new products
- List prices for products
- Create new prices for products
- List customers
- List transactions
- List subscriptions
- Create custom reports for financial analysis
## 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
You can run the Paddle MCP server using `npx` with the following command:
```bash
npx -y @paddle/paddle-mcp --api-key=PADDLE_API_KEY --environment=(sandbox|production)
```
Replace `PADDLE_API_KEY` with your API key, and pass the correct value as `environment`.
To run the server in a client like Claude Desktop, Cursor or Windsurf, add the following to your MCP config:
```json
{
"mcpServers": {
"paddle": {
"command": "npx",
"args": ["-y", "@paddle/paddle-mcp", "--api-key=PADDLE_API_KEY", "--environment=(sandbox|production)"]
}
}
}
```
For detailed setup guides, see:
- [Claude Desktop](https://modelcontextprotocol.io/quickstart/user)
- [Cursor](https://docs.cursor.com/context/model-context-protocol)
- [Windsurf](https://docs.codeium.com/windsurf/mcp)
## Development
1. Install dependencies:
```bash
pnpm install
```
2. Build the server:
```bash
pnpm build
```
3. Update client to use the local build:
```json
{
"mcpServers": {
"paddle": {
"command": "node",
"args": ["path/to/paddle-mcp-server/build/index.js"],
"env": {
"PADDLE_API_KEY": "your_api_key",
"PADDLE_ENVIRONMENT": "sandbox"
}
}
}
}
```
## Debugging
To debug the MCP server, you can use the MCP Inspector tool:
1. Run the server with the inspector:
```bash
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
- [Paddle developer docs](https://developer.paddle.com?utm_source=dx&utm_medium=paddle-mcp-server)
- [Paddle API reference](https://developer.paddle.com/api-reference/overview?utm_source=dx&utm_medium=paddle-mcp-server)
- [Sign up for Paddle Billing](https://login.paddle.com/signup?utm_source=dx&utm_medium=paddle-mcp-server)