PayPal MCP Server
by arbuthnot-eth
Verified
# PayPal MCP Server
[](https://opensource.org/licenses/MIT)
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
```bash
# 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
```bash
# Start the server
npm start
# For development with auto-reload
npm run dev
```
### MCP Configuration
Add the server to your MCP configuration file:
```json
{
"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 use
- `create_order`: Create a new order in PayPal
- `capture_order`: Capture payment for an authorized order
- `create_payment`: Create a direct payment
- `create_subscription`: Create a subscription for recurring billing
### Business Tools
- `create_product`: Create a new product in the catalog
- `create_invoice`: Generate a new invoice
- `create_payout`: Process a batch payout
### User Tools
- `get_userinfo`: Retrieve user information
- `create_web_profile`: Create a web experience profile
- `get_web_profiles`: Get list of web experience profiles
## Development
```bash
# 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.