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
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:2pxRelated MCP server: PayPal MCP Server
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 claudeInstalación manual
Clonar el repositorio
Instalar dependencias:
npm installConstruir el proyecto:
npm run buildConfigure 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 buildPruebas
npm testDepuració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
Bifurcar el repositorio
Crear una rama de características
Confirme sus cambios
Empujar hacia la rama
Crear una solicitud de extracción
Licencia
Licencia MIT