PayPal
Integrates with
PayPal
PayPal MCP Server
A Model Context Protocol (MCP) server that provides integration with PayPal's APIs. This server enables seamless interaction with PayPal's payment processing, invoicing, subscription management, and business operations through a standardized interface.
Features
- Payment Processing: Create and capture payments, orders, and payment tokens
- Subscription Management: Create and manage recurring subscriptions
- Business Operations: Create products, invoices, and process payouts
- User Management: Retrieve user information and create web profiles
- Secure Authentication: Automatic token management with refresh handling
- Input Validation: Comprehensive validation using Zod schemas
- Error Handling: Robust error handling and logging
Installation
## Clone the repository
git clone https://github.com/arbuthnot-eth/PayPal-MCP-Backdated.git
cd PayPal-MCP-Backdated
## Install dependencies
npm install
## Build the project
npm run build
Configuration
Create a .env
file in the root directory with your PayPal API credentials:
PAYPAL_CLIENT_ID=your_client_id_here
PAYPAL_CLIENT_SECRET=your_client_secret_here
PAYPAL_ENVIRONMENT=sandbox # or 'live' for production
Usage
Running the Server
## Start the server
npm start
## For development with auto-reload
npm run dev
MCP Configuration
Add the server to your MCP configuration file:
{
"mcpServers": {
"paypal": {
"command": "node",
"args": ["path/to/paypal-mcp/build/index.js"],
"env": {
"PAYPAL_CLIENT_ID": "your_client_id",
"PAYPAL_CLIENT_SECRET": "your_client_secret",
"PAYPAL_ENVIRONMENT": "sandbox"
},
"disabled": false,
"autoApprove": []
}
}
}
Available Tools
Payment Tools
create_payment_token
: Create a payment token for future usecreate_order
: Create a new order in PayPalcapture_order
: Capture payment for an authorized ordercreate_payment
: Create a direct paymentcreate_subscription
: Create a subscription for recurring billing
Business Tools
create_product
: Create a new product in the catalogcreate_invoice
: Generate a new invoicecreate_payout
: Process a batch payout
User Tools
get_userinfo
: Retrieve user informationcreate_web_profile
: Create a web experience profileget_web_profiles
: Get list of web experience profiles
Development
## Run linting
npm run lint
## Run tests
npm test
## Format code
npm run format
License
This project is licensed under the MIT License - see the LICENSE file for details.