Saltar al contenido

Documentación

Servidor MCP

El servidor MCP expone las operaciones de cobro como herramientas para Claude, ChatGPT, Cursor o cualquier cliente Model Context Protocol. Cada herramienta reentra al mismo handler /v1.

Endpoints

EntornoURLCredencial
Pruebashttps://api.pagos.express/mcp/testsk_test_… o OAuth con alcance pagos:test
En vivohttps://api.pagos.express/mcpsk_live_… o OAuth con alcance pagos:live
  • Transporte Streamable HTTP sin sesiones: POST con Accept: application/json, text/event-stream. GET y DELETE responden 405.
  • El entorno lo define la credencial, nunca un argumento. Una clave de prueba contra el endpoint en vivo recibe 403.
  • Descubrimiento OAuth en https://api.pagos.express/.well-known/oauth-protected-resource/mcp/test, …/oauth-protected-resource/mcp y https://api.pagos.express/.well-known/oauth-authorization-server.

Conectar un cliente

  1. En el dashboard abre API y MCP: ahí está la URL del entorno seleccionado y un ejemplo del encabezado.
  2. Agrega un servidor MCP remoto en tu cliente con esa URL. Si el cliente admite OAuth, elígelo: iniciarás sesión en Pagos Express y verás una pantalla de consentimiento con el cliente, el entorno y los permisos (incluido el envío de correo).
  3. Si el cliente solo acepta un Bearer estático, usa una clave API en su configuración secreta. Nunca la pegues en el prompt.
  4. Revoca el acceso de un agente cuando quieras en Agentes conectados. Eso invalida sus tokens actuales.
Ejemplo de configuración con clave (formato orientativo)
{
  "mcpServers": {
    "pagos-express": {
      "url": "https://api.pagos.express/mcp/test",
      "headers": { "Authorization": "Bearer sk_test_..." }
    }
  }
}

Herramientas

HerramientaRESTPara qué sirve
create_payment_linkPOST /v1/payment_linksCrea un cobro con conceptos e importes. Devuelve la URL para compartir; no cobra ni envía correo por sí solo.
list_payment_linksGET /v1/payment_linksLista los enlaces del entorno actual, con paginación por cursor.
get_payment_linkGET /v1/payment_links/{id}Consulta un enlace y su estado.
disable_payment_linkPOST /v1/payment_links/{id}/disableDesactiva un enlace. No reembolsa pagos ya cobrados.
update_payment_linkPOST /v1/payment_links/{id}Edita título, descripción, datos del cliente o si es facturable un enlace activo. Conceptos e importes no cambian.
mark_payment_link_paidPOST /v1/payment_links/{id}/mark_paidRegistra un pago recibido fuera del checkout (transferencia, efectivo). Cierra el enlace y dispara los webhooks. Pide confirmación al usuario.
list_paymentsGET /v1/paymentsLista pagos. Solo el estado succeeded confirma fondos recibidos.
get_paymentGET /v1/payments/{id}Consulta el estado de un pago concreto.
sync_paymentPOST /v1/payments/{id}/syncVerifica el pago con su pasarela y actualiza el estado.
send_payment_link_emailPOST /v1/payment_links/{id}/emailEnvía el enlace por correo si el usuario lo autoriza. En pruebas no se entrega correo real.
list_payment_link_emailsGET /v1/payment_links/{id}/emailsConsulta las últimas entregas de correo de un enlace.
list_connectionsGET /v1/connectionsLista proveedores conectados. No expone credenciales.
get_invoicing_connectionGET /v1/invoicing/connectionConsulta la conexión con CFDI Express y el emisor (RFC) que factura.
get_invoicing_catalogsGET /v1/invoicing/catalogsCatálogos SAT de régimen fiscal y uso de CFDI para validar los datos del receptor.
get_payment_invoiceGET /v1/payments/{id}/invoiceConsulta si un pago se puede facturar, el enlace de autofacturación y su factura.
invoice_paymentPOST /v1/payments/{id}/invoiceTimbra el CFDI de un pago con los datos fiscales del cliente. Confirma los datos con el usuario.
get_payment_invoice_filesGET /v1/payments/{id}/invoice/filesDevuelve el PDF y el XML de la factura (enlaces que caducan en 15 minutos).
cancel_payment_invoicePOST /v1/payments/{id}/invoice/cancelPide al SAT cancelar la factura de un pago. Pide autorización al usuario; no reembolsa.

Lo que el agente no puede hacer

Ninguna herramienta inicia el checkout del cliente, reembolsa, crea claves API ni conecta proveedores. Los resultados nunca incluyen secretos. Los importes van en centavos enteros y solo succeeded confirma un pago.

OAuth para agentes

  • Registro dinámico de clientes en /auth/mcp/register; autorización con PKCE S256 y un único resource igual a la URL del servidor MCP.
  • El servidor añade el alcance del entorno (pagos:test o pagos:live) más pagos:email y siempre pide consentimiento.
  • Tokens de acceso de una hora; con offline_access, refresh de 30 días con rotación serializada.
  • Los tokens OAuth sirven en las operaciones REST de la tabla anterior; consulta Autenticación y modos.