Cashfree MCP Server
Integra herramientas y agentes de IA con las APIs de Payment Gateway, Payouts y SecureID de Cashfree.
Documentación
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 comoundici. En ese caso, actualiza Node.js a>=20.18.1o 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 GatewayPAYMENTS_APP_SECRET: Tu secreto de cliente de Payment Gateway
Payouts:
PAYOUTS_APP_ID: Tu ID de cliente de PayoutsPAYOUTS_APP_SECRET: Tu secreto de cliente de PayoutsTWO_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 SecureIDSECUREID_APP_SECRET: Tu secreto de cliente de SecureIDTWO_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 Gatewaypayouts: APIs de Payoutssecureid: 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 herramienta | Descripción |
|---|---|
| search | Busca en la documentación para desarrolladores de Cashfree Payments. |
| get-input-source-help | Obtén instrucciones completas para manejar errores de variables de fuente de entrada. |
| create-payment-link | Crea un nuevo enlace de pago. |
| fetch-payment-link-details | Consulta todos los detalles y el estado de un enlace de pago. |
| cancel-payment-link | Cancela un enlace de pago activo. No se pueden realizar más pagos contra enlaces cancelados. |
| get-orders-for-a-payment-link | Consulta todos los detalles de pedidos de un enlace de pago. |
| create-order | Crea pedidos con Cashfree para obtener un payment_sessions_id para transacciones. |
| get-order | Obtén los detalles del pedido usando order_id. |
| get-order-extended | Obtén datos extendidos del pedido como dirección, carrito, ofertas, detalles del cliente, etc. |
| get-eligible-payment-methods | Obtén los métodos de pago elegibles para un monto e ID de pedido determinados. |
| get-payments-for-an-order | Consulta todos los detalles de pago de un pedido. |
| get-payment-by-id | Consulta los detalles de pago de un pedido para un ID de pago. |
| create-refund | Inicia reembolsos. |
| get-all-refunds-for-an-order | Obtén todos los reembolsos procesados contra un pedido. |
| get-refund | Obtén un reembolso específico procesado en tu cuenta de Cashfree. |
| get-all-settlements | Obté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-0 | Obtén los detalles de división y liquidación, incluidas las transacciones liquidadas/no liquidadas para vendedores en un pedido. |
| get-settlements-by-order-id | Consulta todas las liquidaciones de un pedido en particular. |
| get-disputes-by-order-id | Obtén todos los detalles de disputas por ID de pedido. |
| get-disputes-by-payment-id | Obtén todos los detalles de disputas por ID de pago. |
| get-disputes-by-dispute-id | Obtén los detalles de disputa por ID de disputa. |
| accept-dispute-by-dispute-id | Acepta una disputa por su ID de disputa. |
| submit-evidence-to-contest-the-dispute-by-dispute-id | Envía evidencia para impugnar una disputa. |
| simulate-payment | Simula un pago para pruebas. Requiere la creación previa de un pedido. |
| fetch-simulation | Obtén los detalles del pago simulado. |
Payouts
| Nombre de la herramienta | Descripción |
|---|---|
| standard-transfer-v2 | Inicia una transferencia de monto en Cashfree Payments. |
| get-transfer-status-v2 | Obtén el estado de una transferencia iniciada. |
| batch-transfer-v2 | Inicia una solicitud de transferencia por lotes en Cashfree Payments. |
| get-batch-transfer-status-v2 | Obtén el estado de una transferencia por lotes iniciada. |
| authorize | Autentícate con el sistema de Cashfree y obtén el token de portador de autorización. |
| create-cashgram | Crea un Cashgram. |
| deactivate-cashgram | Desactiva un Cashgram. |
| get-cashgram-status | Obtén el estado de un Cashgram creado. |
SecureID
| Nombre de la herramienta | Descripción |
|---|---|
| verify-name-match | Verifica nombres con variaciones. |
| generate-kyc-link | Genera un formulario de verificación para información KYC. |
| get-kyc-link-status | Obtén el estado de un formulario de verificación KYC. |
| generate-static-kyc-link | Genera un enlace KYC estático. |
| deactivate-static-kyc-link | Desactiva 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.
