PayPal MCP Server
PayPal API interactions to create, manage, and send invoices and orders via AI agents.
Data last scanned today · Reviewed today
Overview
This JavaScript-based MCP server provides an interface to interact with PayPal services directly through function calling. It enables AI assistants to perform operations such as listing existing invoices, generating invoice QR codes, creating orders, and managing invoice lifecycle tasks like sending reminders or canceling documents.
Our verdict
This server carries a high risk level with a security score of 29/100, primarily because it is a community-maintained project rather than an official tool from PayPal. Key security concerns include the lack of an editorially reviewed authentication method and unverified read-only status. Given these risks, this server should only be used by developers for testing purposes in sandbox environments and is not recommended for production workflows involving sensitive financial data.
- Supports multiple invoice and payment-related API operations
- Small footprint with only three direct dependencies
- Open-source implementation under the Apache-2.0 license
- Not an official product maintained by PayPal
- Security-critical authentication methods remain unreviewed
- Project has seen limited activity with last commit 318 days ago
Setup
{
"mcpServers": {
"paypal-mcp-server": {
"args": [
"-y",
"@paypal/mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| create_invoice | Create a new invoice in the PayPal system | medium |
| list_invoices | List invoices with optional pagination and filtering | low |
| get_invoice | Retrieve details of a specific invoice | low |
| send_invoice | Send an invoice to recipients | medium |
| send_invoice_reminder | Send a reminder for an existing invoice | medium |
| cancel_sent_invoice | Cancel a sent invoice | high |
| generate_invoice_qr_code | Generate a QR code for an invoice | low |
| create_order | Create an order in PayPal system based on provided details | medium |
| get_order | Retrieve the details of an order | low |
| pay_order | Process payment for an authorized order | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What are the system requirements for running the PayPal MCP server?
You need to have Node.js version 18 or higher installed on your local machine.
›How can I configure the server for different environments?
You can set the PAYPAL_ENVIRONMENT environment variable to SANDBOX for stage testing or PRODUCTION for live transactions.
›What is the default environment if I do not specify one?
The server defaults to SANDBOX mode if no PAYPAL_ENVIRONMENT variable is provided.
›Can I pass my access token via command-line arguments instead of environment variables?
Yes, you can pass the token as an argument using the --access-token flag in your configuration.
›What kind of PayPal account is required for production usage?
You must have a PayPal Business account to access production features.
›Where can I find the credentials needed to generate an access token?
You can retrieve your Client ID and Client Secret by logging into the PayPal Developer Dashboard and accessing the Apps & Credentials section.
Alternatives
Badge
Maintain this server? Add the live badge to your README.