Cashfree MCP Server

Integra herramientas y agentes de IA con las APIs de Payment Gateway, Payouts y SecureID de Cashfree.

Documentación

MseeP.ai Security Assessment Badge

Cashfree MCP Server

El servidor MCP de Cashfree permite que herramientas y agentes de IA se integren con las APIs de Cashfree (Payment Gateway, Payouts y SecureID) mediante el Protocolo de Contexto de Modelo (MCP).

Instalación

Clonar el repositorio

git clone https://github.com/cashfree/cashfree-mcp.git
cd cashfree-mcp

Instalar dependencias

Antes de instalar, asegúrate de tener Node.js v14.x o superior instalado. Si usas nvm o brew, asegúrate de que la versión correcta esté activa:

node -v
# Should output v14.x or higher

Paso 1: Instalar las dependencias del proyecto

npm install

Esto instalará todos los paquetes necesarios listados en package.json.

💡 Si usas Node.js >=18, podrías enfrentar problemas de dependencias pares con paquetes como undici. En ese caso, actualiza Node.js a >=20.18.1 o ajusta la versión del paquete si es necesario.

Paso 2: Compilar el proyecto

npm run build

Esto compila los archivos fuente al directorio dist/, lo cual es necesario para ejecutar el servidor MCP.

🛠️ Si ves errores relacionados con archivos faltantes en /dist, asegúrate de haber ejecutado el paso de compilación correctamente.

Configuración

Necesitarás una cuenta de Cashfree con credenciales de API (admitimos claves de sandbox y de producción). Puedes usar Cashfree MCP en tu cliente favorito; a continuación se muestran algunas configuraciones de ejemplo:

Claude

Agrega el siguiente bloque de configuración a tu claude_desktop_config.json

{
  "mcpServers": {
    "cashfree": {
      "command": "node",
      "args": ["/path/to/cashfree-mcp/dist/index.js"],
      "env": {
        "PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
        "PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
        "PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
        "PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
        "TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
        "SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
        "SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
        "TOOLS": "pg,payouts,secureid",
        "ENV": "sandbox",
        "ELICITATION_ENABLED": "true"
      }
    }
  }
}

VS Code

Agrega el siguiente bloque de configuración a la configuración de VS Code

{
  "mcp": {
    "inputs": [],
    "servers": {
      "cashfree": {
        "command": "node",
        "args": ["/path/to/cashfree-mcp/dist/index.js"],
        "env": {
          "PAYMENTS_APP_ID": "YOUR_PG_CLIENT_ID",
          "PAYMENTS_APP_SECRET": "YOUR_PG_CLIENT_SECRET",
          "PAYOUTS_APP_ID": "YOUR_PAYOUTS_CLIENT_ID",
          "PAYOUTS_APP_SECRET": "YOUR_PAYOUTS_CLIENT_SECRET",
          "TWO_FA_PUBLIC_KEY_PEM_PATH": "/path/to/public_key.pem",
          "SECUREID_APP_ID": "YOUR_SECUREID_CLIENT_ID",
          "SECUREID_APP_SECRET": "YOUR_SECUREID_CLIENT_SECRET",
          "TOOLS": "pg,payouts,secureid",
          "ENV": "sandbox",
          "ELICITATION_ENABLED": "true"
        }
      }
    }
  }
}

Credenciales de API

Configura las siguientes variables de entorno para cada servicio: Payment Gateway:

  • PAYMENTS_APP_ID: Tu ID de cliente de Payment Gateway
  • PAYMENTS_APP_SECRET: Tu secreto de cliente de Payment Gateway

Payouts:

  • PAYOUTS_APP_ID: Tu ID de cliente de Payouts
  • PAYOUTS_APP_SECRET: Tu secreto de cliente de Payouts
  • TWO_FA_PUBLIC_KEY_PEM_PATH: Ruta a tu clave pública 2FA (solo se requiere si 2FA está habilitado)

SecureID:

  • SECUREID_APP_ID: Tu ID de cliente de SecureID
  • SECUREID_APP_SECRET: Tu secreto de cliente de SecureID
  • TWO_FA_PUBLIC_KEY_PEM_PATH: Ruta a tu clave pública 2FA (solo se requiere si 2FA está habilitado)

Entorno

ENV: Configúralo en production para el entorno de producción, sandbox para sandbox (predeterminado: sandbox)

Configuración de herramientas

TOOLS: Lista de módulos separados por comas para habilitar. Opciones disponibles:

  • pg: APIs de Payment Gateway
  • payouts: APIs de Payouts
  • secureid: APIs de SecureID

Configuración de elicitación

ELICITATION_ENABLED: Configúralo en true para habilitar la elicitación interactiva de parámetros, false para deshabilitarla (predeterminado: false)

Cuando está habilitado, el servidor MCP solicitará a los usuarios los parámetros obligatorios faltantes en lugar de fallar con errores de validación. Esto proporciona una experiencia más interactiva al pedir a los usuarios que proporcionen valores para los campos obligatorios que no se suministraron inicialmente.

Herramientas

Cashfree MCP tiene las siguientes herramientas disponibles, agrupadas por categoría de producto

Payment Gateway (PG)

Nombre de la herramientaDescripción
searchBusca en la documentación para desarrolladores de Cashfree Payments.
get-input-source-helpObtén instrucciones completas para manejar errores de variables de fuente de entrada.
create-payment-linkCrea un nuevo enlace de pago.
fetch-payment-link-detailsConsulta todos los detalles y el estado de un enlace de pago.
cancel-payment-linkCancela un enlace de pago activo. No se pueden realizar más pagos contra enlaces cancelados.
get-orders-for-a-payment-linkConsulta todos los detalles de pedidos de un enlace de pago.
create-orderCrea pedidos con Cashfree para obtener un payment_sessions_id para transacciones.
get-orderObtén los detalles del pedido usando order_id.
get-order-extendedObtén datos extendidos del pedido como dirección, carrito, ofertas, detalles del cliente, etc.
get-eligible-payment-methodsObtén los métodos de pago elegibles para un monto e ID de pedido determinados.
get-payments-for-an-orderConsulta todos los detalles de pago de un pedido.
get-payment-by-idConsulta los detalles de pago de un pedido para un ID de pago.
create-refundInicia reembolsos.
get-all-refunds-for-an-orderObtén todos los reembolsos procesados contra un pedido.
get-refundObtén un reembolso específico procesado en tu cuenta de Cashfree.
get-all-settlementsObtén todos los detalles de liquidación especificando el ID de liquidación, el UTR de liquidación o el rango de fechas.
get-split-and-settlement-details-by-order-id-v2-0Obtén los detalles de división y liquidación, incluidas las transacciones liquidadas/no liquidadas para vendedores en un pedido.
get-settlements-by-order-idConsulta todas las liquidaciones de un pedido en particular.
get-disputes-by-order-idObtén todos los detalles de disputas por ID de pedido.
get-disputes-by-payment-idObtén todos los detalles de disputas por ID de pago.
get-disputes-by-dispute-idObtén los detalles de disputa por ID de disputa.
accept-dispute-by-dispute-idAcepta una disputa por su ID de disputa.
submit-evidence-to-contest-the-dispute-by-dispute-idEnvía evidencia para impugnar una disputa.
simulate-paymentSimula un pago para pruebas. Requiere la creación previa de un pedido.
fetch-simulationObtén los detalles del pago simulado.

Payouts

Nombre de la herramientaDescripción
standard-transfer-v2Inicia una transferencia de monto en Cashfree Payments.
get-transfer-status-v2Obtén el estado de una transferencia iniciada.
batch-transfer-v2Inicia una solicitud de transferencia por lotes en Cashfree Payments.
get-batch-transfer-status-v2Obtén el estado de una transferencia por lotes iniciada.
authorizeAutentícate con el sistema de Cashfree y obtén el token de portador de autorización.
create-cashgramCrea un Cashgram.
deactivate-cashgramDesactiva un Cashgram.
get-cashgram-statusObtén el estado de un Cashgram creado.

SecureID

Nombre de la herramientaDescripción
verify-name-matchVerifica nombres con variaciones.
generate-kyc-linkGenera un formulario de verificación para información KYC.
get-kyc-link-statusObtén el estado de un formulario de verificación KYC.
generate-static-kyc-linkGenera un enlace KYC estático.
deactivate-static-kyc-linkDesactiva un enlace KYC estático.

Licencia

Este proyecto está licenciado bajo los términos de la licencia de código abierto MIT. Consulta LICENSE para conocer los términos completos.

Documentación

Para obtener documentación detallada de la API, visita la Documentación de la API de Cashfree.

Soporte

Para soporte, contacta a care@cashfree.com o crea un problema en el repositorio de GitHub.