Skip to main content
Glama

PayPal MCP Server

CI License: MIT TypeScript smithery badge

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.

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

Related MCP server: PayPal MCP Server

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

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build
  4. 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

  1. Fork the repository

  2. Create a feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a Pull Request

License

MIT License

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DynamicEndpoints/Paypal-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server