PayPal MCP

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides integration with PayPal's payment processing, invoicing, and business management features, allowing users to create and manage orders, process payments, handle payment tokens, manage disputes, create and manage products, generate invoices, process payouts, and handle partner referrals.

Servidor MCP de PayPal

Mantenido por DynamicEndpoints - Contacto: kameron@dynamicendpoints.com

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con las API de PayPal. Este servidor permite una interacción fluida con las funciones de procesamiento de pagos, facturación y gestión empresarial de PayPal mediante una interfaz estandarizada.

Arquitectura

Características

  • Procesamiento de pagos
    • Crear y gestionar pedidos
    • Procesar pagos
    • Manejar tokens de pago
    • Gestionar disputas
  • Operaciones comerciales
    • Crear y gestionar productos
    • Generar facturas
    • Procesar pagos
    • Gestionar referencias de socios
  • Gestión de usuarios
    • Verificación de identidad
    • Recuperación de información del usuario
    • Gestión de perfiles web

Instalación

Instalación mediante herrería

Para instalar PayPal MCP Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @DynamicEndpoints/Paypal-MCP --client claude

Instalación manual

  1. Clonar el repositorio
  2. Instalar dependencias:
    npm install
  3. Construir el proyecto:
    npm run build
  4. Configure las credenciales de PayPal en el archivo de configuración de MCP:
    { "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": [] } } }

Herramientas disponibles

Operaciones de pago

crear_token_de_pago

Crea un token de pago para uso futuro.

{ customer: { id: string; email_address?: string; }; payment_source: { card?: { name: string; number: string; expiry: string; security_code: string; }; paypal?: { email_address: string; }; }; }

crear_orden

Crear un nuevo pedido en PayPal.

{ intent: 'CAPTURE' | 'AUTHORIZE'; purchase_units: Array<{ amount: { currency_code: string; value: string; }; description?: string; reference_id?: string; }>; }

crear_pago

Crear un pago directo.

{ 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; }>; }

Operaciones comerciales

crear_producto

Crear un nuevo producto en el catálogo.

{ name: string; description: string; type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE'; category: string; image_url?: string; home_url?: string; }

crear_factura

Generar una nueva factura.

{ invoice_number: string; reference: string; currency_code: string; recipient_email: string; items: Array<{ name: string; quantity: string; unit_amount: { currency_code: string; value: string; }; }>; }

crear_pago

Procesar un pago por lotes.

{ 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; }>; }

Gestión de usuarios y perfiles

obtener_información_del_usuario

Recuperar información del usuario.

{ access_token: string; }

crear_perfil_web

Crear un perfil de experiencia web.

{ 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; }; }

Ejemplos de uso

Creando un pedido

const result = await mcpClient.useTool('paypal', 'create_order', { intent: 'CAPTURE', purchase_units: [{ amount: { currency_code: 'USD', value: '100.00' }, description: 'Premium Subscription' }] });

Generar una factura

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' } }] });

Procesamiento de un pago

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' }] });

Manejo de errores

El servidor implementa un manejo integral de errores:

  • Errores de validación de entrada con mensajes detallados
  • Errores de la API de PayPal con detalles de respuesta
  • Errores de red y autenticación
  • Limitación de velocidad y gestión del tiempo de espera

Consideraciones de seguridad

  • Todos los datos sensibles son validados y desinfectados.
  • Autenticación OAuth 2.0 con PayPal
  • Gestión segura de credenciales mediante variables de entorno
  • Validación de entrada para todos los parámetros de API
  • Los mensajes de error no exponen información confidencial

Desarrollo

Edificio

npm run build

Pruebas

npm test

Depuración

El servidor genera registros detallados para ayudar con la depuración:

  • Problemas de autenticación
  • Fallos en las llamadas a la API
  • Errores de validación
  • Detalles de la solicitud/respuesta

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Licencia MIT

ID: 6op9uaqyev