PayPal Model Context Protocol
STDIOProtocol server allowing integration with PayPal APIs through function calling.
Protocol server allowing integration with PayPal APIs through function calling.
The PayPal Model Context Protocol server allows you to integrate with PayPal APIs through function calling. This protocol supports various tools to interact with different PayPal services.
To run the PayPal MCP server using npx, use the following command:
npx -y @paypal/mcp --tools=all PAYPAL_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" PAYPAL_ENVIRONMENT="SANDBOX"
Replace YOUR_ACCESS_TOKEN
with your PayPal access token. Refer this on how to generate a PayPal access token. Alternatively, you could set the PAYPAL_ACCESS_TOKEN in your environment variables.
This guide explains how to integrate the PayPal connector with Claude Desktop.
Node.js is required for the PayPal connector to function:
We will show the integration with Claude desktop. You can use your favorite MCP host.
{ "mcpServers": { "paypal": { "command": "npx", "args": [ "-y", "@paypal/mcp", "--tools=all" ], "env": { "PAYPAL_ACCESS_TOKEN": "YOUR_PAYPAL_ACCESS_TOKEN", "PAYPAL_ENVIRONMENT": "SANDBOX" } } } }
Make sure to replace YOUR_PAYPAL_ACCESS_TOKEN
with your actual PayPal Access Token. Alternatively, you could set the PAYPAL_ACCESS_TOKEN as an environment variable. You can also pass it as an argument using --access-token in "args"
Set PAYPAL_ENVIRONMENT
value as either SANDBOX
for stage testing and PRODUCTION
for production environment.
Invoices
create_invoice
: Create a new invoice in the PayPal systemlist_invoices
: List invoices with optional pagination and filteringget_invoice
: Retrieve details of a specific invoicesend_invoice
: Send an invoice to recipientssend_invoice_reminder
: Send a reminder for an existing invoicecancel_sent_invoice
: Cancel a sent invoicegenerate_invoice_qr_code
: Generate a QR code for an invoicePayments
create_order
: Create an order in PayPal system based on provided detailsget_order
: Retrieve the details of an orderpay_order
: Process payment for an authorized ordercreate_refund
: Process a refund for a captured payment.get_refund
: Get the details for a specific refund.Dispute Management
list_disputes
: Retrieve a summary of all open disputesget_dispute
: Retrieve detailed information of a specific disputeaccept_dispute_claim
: Accept a dispute claimShipment Tracking
create_shipment_tracking
: Create a shipment tracking recordget_shipment_tracking
: Retrieve shipment tracking informationCatalog Management
create_product
: Create a new product in the PayPal cataloglist_products
: List products with optional pagination and filteringshow_product_details
: Retrieve details of a specific productupdate_product
: Update an existing productSubscription Management
create_subscription_plan
: Create a new subscription planlist_subscription_plans
: List subscription plansshow_subscription_plan_details
: Retrieve details of a specific subscription plancreate_subscription
: Create a new subscriptionshow_subscription_details
: Retrieve details of a specific subscriptionupdate_subscription
: update an existing subscriptioncancel_subscription
: Cancel an active subscriptionReporting and Insights
list_transactions
: List transactions with optional pagination and filteringThe following environment variables can be used:
PAYPAL_ACCESS_TOKEN
: Your PayPal Access TokenPAYPAL_ENVIRONMENT
: Set to SANDBOX
for sandbox mode, PRODUCTION
for production (defaults to SANDBOX
mode)This guide explains how to generate an access token for PayPal API integration, including how to find your client ID and client secret.
Create a PayPal Developer Account:
Access Your Credentials:
Create or View an App:
Retrieve Credentials:
curl -v https://api-m.sandbox.paypal.com/v1/oauth2/token \\ -H \"Accept: application/json\" \\ -H \"Accept-Language: en_US\" \\ -u \"CLIENT_ID:CLIENT_SECRET\" \\ -d \"grant_type=client_credentials\"
Replace CLIENT_ID
and CLIENT_SECRET
with your actual credentials. For production, use https://api-m.paypal.com
instead of the sandbox URL.
https://api-m.sandbox.paypal.com/v1/oauth2/token
grant_type
with value client_credentials
A successful response will look like:
{ "scope": "...", "access_token": "Your Access Token", "token_type": "Bearer", "app_id": "APP-80W284485P519543T", "expires_in": 32400, "nonce": "..." }
Copy the access_token
value for use in your Claude Desktop integration.
Once you have your access token, update the PAYPAL_ACCESS_TOKEN
value in your Claude Desktop connector configuration:
{ "env": { "PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN", "PAYPAL_ENVIRONMENT": "SANDBOX" } }
@paypal/mcp
provides access to AI-generated content that may be inaccurate or incomplete. Users are responsible for independently verifying any information before relying on it. PayPal makes no guarantees regarding output accuracy and is not liable for any decisions, actions, or consequences resulting from its use.