MewCP Razorpay MCP

Servidor MCP de Razorpay alojado, sin estado y multitenencia permite a los asistentes de IA gestionar pagos, clientes, suscripciones, facturas y operaciones financieras a través de Razorpay.

Documentación

Automatiza pagos, reembolsos y liquidaciones de Razorpay mediante IA.

Un servidor de Protocolo de Contexto de Modelo (MCP) que expone la API de Razorpay para gestionar pedidos, pagos, reembolsos y liquidaciones.

Descripción general

El servidor MCP de Razorpay ofrece gestión completa del ciclo de vida de los pagos mediante IA:

  • Crea y rastrea pedidos, captura y actualiza pagos
  • Emite reembolsos totales o parciales con control de velocidad
  • Consulta liquidaciones y concilia el historial de transacciones

Perfecto para:

  • Automatizar flujos de reembolso y consultas de pago de soporte al cliente
  • Crear paneles impulsados por IA que obtienen datos de pagos y liquidaciones en tiempo real
  • Activar la creación de pedidos y la captura de pagos desde interfaces conversacionales

Herramientas

health_check — Comprueba la disponibilidad del servidor

Devuelve un objeto de estado que confirma que el servidor está en ejecución y es accesible.

Entradas: (ninguna)

Salida:

{
  "status": "ok",
  "server": "CL Razorpay MCP Server"
}
create_order — Crea un nuevo pedido de Razorpay

Crea un nuevo objeto de pedido. El ID de pedido devuelto se pasa al SDK de checkout de Razorpay en el frontend para iniciar el pago.

Entradas:

- `amount`          (integer, required) — Amount in smallest currency unit (e.g. paise for INR)
- `currency`        (string, required)  — ISO 4217 currency code, e.g. 'INR'
- `receipt`         (string, optional)  — Merchant receipt number (max 40 chars)
- `notes`           (object, optional)  — Key-value notes to attach to the order
- `partial_payment` (boolean, optional) — Whether partial payments are allowed (default: false)

Salida:

{
  "id": "order_XXXXXXXXXX",
  "entity": "order",
  "amount": 50000,
  "currency": "INR",
  "status": "created"
}
fetch_order — Obtiene un pedido específico

Recupera los detalles completos de un único pedido de Razorpay mediante su ID de pedido.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')

Salida:

{
  "id": "order_XXXXXXXXXX",
  "entity": "order",
  "amount": 50000,
  "amount_paid": 0,
  "status": "created"
}
fetch_all_orders — Obtiene una lista paginada de pedidos

Devuelve una lista filtrada y paginada de todos los pedidos de Razorpay. Admite filtrado por rango de marcas de tiempo Unix.

Entradas:

- `count`          (integer, optional) — Number of orders to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of orders to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch orders created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch orders created before this time

Salida:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_payments_for_order — Obtiene los pagos de un pedido específico

Devuelve todos los pagos realizados para un ID de pedido determinado.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')

Salida:

{
  "entity": "collection",
  "count": 1,
  "items": [...]
}
update_order — Actualiza las notas de un pedido

Modifica el campo de notas de un pedido existente. Solo el campo de notas se puede actualizar después de la creación.

Entradas:

- `order_id` (string, required) — Razorpay order ID (e.g. 'order_XXXXXXXXXX')
- `notes`    (object, required) — Key-value notes to update on the order

Salida:

{
  "id": "order_XXXXXXXXXX",
  "notes": { "key": "value" }
}
fetch_payment — Obtiene un pago específico

Recupera los detalles completos de un único pago de Razorpay mediante su ID de pago.

Entradas:

- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')

Salida:

{
  "id": "pay_XXXXXXXXXX",
  "entity": "payment",
  "amount": 50000,
  "currency": "INR",
  "status": "captured"
}
fetch_all_payments — Obtiene una lista paginada de pagos

Devuelve una lista filtrada y paginada de todos los pagos de Razorpay. Admite filtrado por rango de marcas de tiempo Unix.

Entradas:

- `count`          (integer, optional) — Number of payments to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of payments to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch payments created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch payments created before this time

Salida:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
capture_payment — Captura un pago autorizado

Captura un pago que se encuentra en estado authorized. El importe debe coincidir exactamente con el importe autorizado.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `amount`     (integer, required) — Amount to capture in smallest currency unit (must match authorized amount)
- `currency`   (string, required)  — ISO 4217 currency code, e.g. 'INR'

Salida:

{
  "id": "pay_XXXXXXXXXX",
  "status": "captured",
  "amount": 50000
}
update_payment — Actualiza las notas de un pago

Modifica el campo de notas de un pago existente.

Entradas:

- `payment_id` (string, required) — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `notes`      (object, required) — Key-value notes to update on the payment

Salida:

{
  "id": "pay_XXXXXXXXXX",
  "notes": { "key": "value" }
}
create_refund — Crea un reembolso para un pago

Emite un reembolso total o parcial para un pago capturado. Omite el importe para un reembolso total. La velocidad optimum utiliza el reembolso instantáneo cuando está disponible.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID to refund (e.g. 'pay_XXXXXXXXXX')
- `amount`     (integer, optional) — Refund amount in smallest currency unit; omit for full refund
- `speed`      (string, optional)  — Refund speed: 'normal' (default) or 'optimum'
- `notes`      (object, optional)  — Key-value notes to attach to the refund
- `receipt`    (string, optional)  — Unique merchant receipt number for the refund

Salida:

{
  "id": "rfnd_XXXXXXXXXX",
  "entity": "refund",
  "amount": 50000,
  "speed_processed": "normal",
  "status": "processed"
}
fetch_refund — Obtiene un reembolso específico

Recupera los detalles completos de un único reembolso de Razorpay mediante su ID de reembolso.

Entradas:

- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')

Salida:

{
  "id": "rfnd_XXXXXXXXXX",
  "entity": "refund",
  "amount": 50000,
  "status": "processed"
}
fetch_all_refunds — Obtiene una lista paginada de reembolsos

Devuelve una lista filtrada y paginada de todos los reembolsos de Razorpay. Admite filtrado por rango de marcas de tiempo Unix.

Entradas:

- `count`          (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of refunds to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch refunds created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch refunds created before this time

Salida:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_refunds_for_payment — Obtiene todos los reembolsos de un pago

Devuelve todos los reembolsos emitidos para un ID de pago específico, con soporte de paginación.

Entradas:

- `payment_id` (string, required)  — Razorpay payment ID (e.g. 'pay_XXXXXXXXXX')
- `count`      (integer, optional) — Number of refunds to fetch, max 100 (default: 10)
- `skip`       (integer, optional) — Number of refunds to skip for pagination (default: 0)

Salida:

{
  "entity": "collection",
  "count": 2,
  "items": [...]
}
update_refund — Actualiza las notas de un reembolso

Modifica el campo de notas de un reembolso existente.

Entradas:

- `refund_id` (string, required) — Razorpay refund ID (e.g. 'rfnd_XXXXXXXXXX')
- `notes`     (object, required) — Key-value notes to update on the refund

Salida:

{
  "id": "rfnd_XXXXXXXXXX",
  "notes": { "key": "value" }
}
fetch_all_settlements — Obtiene una lista paginada de liquidaciones

Devuelve una lista filtrada y paginada de todas las liquidaciones de Razorpay. Admite filtrado por rango de marcas de tiempo Unix.

Entradas:

- `count`          (integer, optional) — Number of settlements to fetch, max 100 (default: 10)
- `skip`           (integer, optional) — Number of settlements to skip for pagination (default: 0)
- `from_timestamp` (integer, optional) — Unix timestamp — fetch settlements created after this time
- `to_timestamp`   (integer, optional) — Unix timestamp — fetch settlements created before this time

Salida:

{
  "entity": "collection",
  "count": 10,
  "items": [...]
}
fetch_settlement — Obtiene una liquidación específica

Recupera los detalles completos de una única liquidación de Razorpay mediante su ID de liquidación.

Entradas:

- `settlement_id` (string, required) — Razorpay settlement ID (e.g. 'setl_XXXXXXXXXX')

Salida:

{
  "id": "setl_XXXXXXXXXX",
  "entity": "settlement",
  "amount": 1000000,
  "status": "processed"
}

Referencia de parámetros de la API

Parámetros comunes
  • count — Número de registros a devolver por solicitud (máx. 100, por defecto 10)
  • skip — Número de registros a omitir; úsalo con count para la paginación
  • from_timestamp — Marca de tiempo Unix (segundos); filtra registros creados en o después de este momento
  • to_timestamp — Marca de tiempo Unix (segundos); filtra registros creados en o antes de este momento
Formatos de ID de recursos

Pedidos:

order_{alphanumeric}
Example: order_OGN1lSF2fk1JNW

Pagos:

pay_{alphanumeric}
Example: pay_OGN1lSF2fk1JNW

Reembolsos:

rfnd_{alphanumeric}
Example: rfnd_OGN1lSF2fk1JNW

Liquidaciones:

setl_{alphanumeric}
Example: setl_OGN1lSF2fk1JNW
Formato de importes

Todos los importes están en la unidad monetaria más pequeña:

  • INR → paise (₹500.00 = 50000)
  • USD → centavos ($10.00 = 1000)
  • EUR → céntimos (€10.00 = 1000)

Cómo obtener tus claves API de Razorpay

Pasos
  1. Ve al Panel de Razorpay
  2. Navega a ConfiguraciónClaves API
  3. Haz clic en Generar clave de prueba (para modo de prueba) o Generar clave en vivo (para producción)
  4. Copia el ID de clave y el Secreto de clave — el secreto solo se muestra una vez; guárdalo de forma segura

Usa claves de modo de prueba (prefijadas rzp_test_) durante el desarrollo y claves en vivo (rzp_live_) en producción.

Solución de problemas

Encabezados faltantes o no válidos
  • Causa: La clave API no se proporcionó en los encabezados de la solicitud o el formato es incorrecto
  • Solución:
    1. Verifica que los encabezados Authorization: Bearer YOUR_API_KEY y X-Mewcp-Credential-Id: CREDENTIAL-ID estén presentes
    2. Comprueba que la clave API esté activa en tu cuenta de MewCP
Créditos insuficientes
  • Causa: Las llamadas a la API han superado tus límites de solicitudes
  • Solución:
    1. Consulta el uso de créditos en tu panel de Curious Layer
    2. Mejora a un plan de pago o añade créditos para obtener límites más altos
    3. Contacta con el soporte para ajustes de créditos
Credencial no conectada
  • Causa: No hay ninguna credencial de Razorpay vinculada a tu cuenta
  • Solución:
    1. Ve a Credenciales en tu panel de MewCP
    2. Añade tu ID de clave y Secreto de clave de Razorpay
    3. Reintenta la solicitud con el encabezado X-Mewcp-Credential-Id correcto
Carga útil de solicitud malformada
  • Causa: La carga útil JSON no es válida o le faltan campos obligatorios
  • Solución:
    1. Valida la sintaxis JSON antes de enviarla
    2. Asegúrate de que todos los parámetros obligatorios de la herramienta estén incluidos
    3. Comprueba que amount sea un entero en la unidad monetaria más pequeña, no un decimal
Servidor no encontrado
  • Causa: Nombre de servidor incorrecto en el endpoint de la API
  • Solución:
    1. Verifica el formato del endpoint: {server-name}/mcp/{tool-name}
    2. Usa el nombre de servidor correcto de la documentación
    3. Comprueba los servidores disponibles en tu cuenta de Curious Layer
Error de la API de Razorpay
  • Causa: La API de Razorpay devolvió un error
  • Solución:
    1. Consulta el estado del servicio de Razorpay en Página de estado de Razorpay
    2. Verifica que tus claves API tengan los permisos necesarios para la operación
    3. Revisa el mensaje de error para obtener detalles específicos (p. ej., el pago no está en estado authorized para la captura)

Recursos