PayPal MCP
This is an MCP server to manage PayPal
DynamicEndpoints
Tools
create_payment_token
Create a payment token
create_payment
Create a payment
create_payout
Create a batch payout
create_referenced_payout
Create a referenced payout
create_order
Create a new order in PayPal
create_partner_referral
Create a partner referral
create_web_profile
Create a web experience profile
create_product
Create a new product in PayPal
list_products
List all products
get_dispute
Get details of a dispute
get_userinfo
Get user info from identity token
create_invoice
Create a new invoice
README
PayPal MCP Server
Maintained by DynamicEndpoints - Contact: kameron@dynamicendpoints.com
A Model Context Protocol (MCP) server that provides integration with PayPal's APIs. This server enables seamless interaction with PayPal's payment processing, invoicing, and business management features through a standardized interface.
<a href="https://glama.ai/mcp/servers/6op9uaqyev"> <img width="380" height="200" src="https://glama.ai/mcp/servers/6op9uaqyev/badge" alt="PayPal MCP server" /> </a>
Architecture
graph TB
subgraph "MCP Environment"
Client[MCP Client]
Server[PayPal MCP Server]
Validation[Input Validation]
Auth[OAuth Authentication]
end
subgraph "PayPal APIs"
Orders[Orders API]
Payments[Payments API]
Payouts[Payouts API]
Invoicing[Invoicing API]
Products[Products API]
Disputes[Disputes API]
Identity[Identity API]
end
Client --> |Request| Server
Server --> |Response| Client
Server --> Validation
Server --> Auth
Auth --> |Access Token| PayPal
Server --> Orders
Server --> Payments
Server --> Payouts
Server --> Invoicing
Server --> Products
Server --> Disputes
Server --> Identity
style Client fill:#f9f,stroke:#333,stroke-width:2px
style Server fill:#bbf,stroke:#333,stroke-width:2px
style Auth fill:#bfb,stroke:#333,stroke-width:2px
style Validation fill:#bfb,stroke:#333,stroke-width:2px
Features
-
Payment Processing
- Create and manage orders
- Process payments
- Handle payment tokens
- Manage disputes
-
Business Operations
- Create and manage products
- Generate invoices
- Process payouts
- Handle partner referrals
-
User Management
- Identity verification
- User information retrieval
- Web profile management
Installation
Installing via Smithery
To install PayPal MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @DynamicEndpoints/Paypal-MCP --client claude
Manual Installation
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
- Configure PayPal credentials in the MCP settings file:
{ "mcpServers": { "paypal": { "command": "node", "args": ["path/to/paypal-server/build/index.js"], "env": { "PAYPAL_CLIENT_ID": "your_client_id", "PAYPAL_CLIENT_SECRET": "your_client_secret" }, "disabled": false, "autoApprove": [] } } }
Available Tools
Payment Operations
create_payment_token
Create a payment token for future use.
{
customer: {
id: string;
email_address?: string;
};
payment_source: {
card?: {
name: string;
number: string;
expiry: string;
security_code: string;
};
paypal?: {
email_address: string;
};
};
}
create_order
Create a new order in PayPal.
{
intent: 'CAPTURE' | 'AUTHORIZE';
purchase_units: Array<{
amount: {
currency_code: string;
value: string;
};
description?: string;
reference_id?: string;
}>;
}
create_payment
Create a direct payment.
{
intent: string;
payer: {
payment_method: string;
funding_instruments?: Array<{
credit_card?: {
number: string;
type: string;
expire_month: number;
expire_year: number;
cvv2: string;
first_name: string;
last_name: string;
};
}>;
};
transactions: Array<{
amount: {
total: string;
currency: string;
};
description?: string;
}>;
}
Business Operations
create_product
Create a new product in the catalog.
{
name: string;
description: string;
type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE';
category: string;
image_url?: string;
home_url?: string;
}
create_invoice
Generate a new invoice.
{
invoice_number: string;
reference: string;
currency_code: string;
recipient_email: string;
items: Array<{
name: string;
quantity: string;
unit_amount: {
currency_code: string;
value: string;
};
}>;
}
create_payout
Process a batch payout.
{
sender_batch_header: {
sender_batch_id: string;
email_subject?: string;
recipient_type?: string;
};
items: Array<{
recipient_type: string;
amount: {
value: string;
currency: string;
};
receiver: string;
note?: string;
}>;
}
User & Profile Management
get_userinfo
Retrieve user information.
{
access_token: string;
}
create_web_profile
Create a web experience profile.
{
name: string;
presentation?: {
brand_name?: string;
logo_image?: string;
locale_code?: string;
};
input_fields?: {
no_shipping?: number;
address_override?: number;
};
flow_config?: {
landing_page_type?: string;
bank_txn_pending_url?: string;
};
}
Usage Examples
Creating an Order
const result = await mcpClient.useTool('paypal', 'create_order', {
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: 'USD',
value: '100.00'
},
description: 'Premium Subscription'
}]
});
Generating an Invoice
const result = await mcpClient.useTool('paypal', 'create_invoice', {
invoice_number: 'INV-2024-001',
reference: 'REF-2024-001',
currency_code: 'USD',
recipient_email: 'customer@example.com',
items: [{
name: 'Consulting Services',
quantity: '1',
unit_amount: {
currency_code: 'USD',
value: '500.00'
}
}]
});
Processing a Payout
const result = await mcpClient.useTool('paypal', 'create_payout', {
sender_batch_header: {
sender_batch_id: 'Payroll_2024_001',
email_subject: 'You have received a payment'
},
items: [{
recipient_type: 'EMAIL',
amount: {
value: '1000.00',
currency: 'USD'
},
receiver: 'employee@example.com',
note: 'Monthly salary payment'
}]
});
Error Handling
The server implements comprehensive error handling:
- Input validation errors with detailed messages
- PayPal API errors with response details
- Network and authentication errors
- Rate limiting and timeout handling
Security Considerations
- All sensitive data is validated and sanitized
- OAuth 2.0 authentication with PayPal
- Secure credential management through environment variables
- Input validation for all API parameters
- Error messages don't expose sensitive information
Development
Building
npm run build
Testing
npm test
Debugging
The server outputs detailed logs to help with debugging:
- Authentication issues
- API call failures
- Validation errors
- Request/response details
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT License
Recommended Servers
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

chromia-mcp
Enables AI to interact with Chromia Wallet for sending $CHR transactions.
TripleWhale MCP Server
An implementation of Model Context Protocol (MCP) that allows users to interact with TripleWhale's e-commerce analytics platform using natural language queries through Claude Desktop.
Adamik MCP Server
Enables read and write interactions with 60+ blockchain networks through Claude Desktop, providing a standardized multi-chain API for transaction management, account insights, staking, and token interactions.
Open-Ledger-MCP-Server
A Model Context Protocol (MCP) server implementation for the OpenLedger API. This server provides structured context to AI models according to the MCP specification.
ntropy-mcp MCP Server
Enables enriching banking data with the Ntropy API, providing tools to create account holders and enrich transactions efficiently.
Iaptic MCP Server
A server for interacting with the Iaptic API, allowing AI models like Claude to query customer, purchase, and transaction data, as well as retrieve statistical insights.
Bitrefill Search and Shop
This MCP wraps Bitrefill public API to allow agents to search for products and shop using cryptocurrencies like Bitcoin, Ethereum, Solana, and many more.
MCP EVM Signer
A server that securely manages Ethereum private keys locally and enables Claude for Desktop to interact with EVM-compatible blockchains through Infura.