naftiko: 1.0.0-alpha2 info: label: Monnify Refunds — Refunds description: Initiate, list, and look up refunds against successful collections; emits successful_refund / failed_refund webhooks. Self-contained Naftiko capability covering one Monnify business surface. tags: - Moniepoint - Monnify - Refunds created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: MONNIFY_ACCESS_TOKEN: MONNIFY_ACCESS_TOKEN capability: consumes: - type: http namespace: refunds-refunds baseUri: https://api.monnify.com description: Monnify Refunds business capability. resources: - name: initiate-refund path: /api/v1/refunds/initiate-refund operations: - name: initiateRefund method: POST description: Monnify Initiate Refund outputRawFormat: json inputParameters: - name: body in: body type: object required: true - name: refunds path: /api/v1/refunds operations: - name: listRefunds method: GET description: Monnify List Refunds outputRawFormat: json - name: refund-detail path: /api/v1/refunds/{refundReference} operations: - name: getRefundStatus method: GET description: Monnify Get Refund Status outputRawFormat: json inputParameters: - name: refundReference in: path type: string required: true authentication: type: apikey key: Authorization value: 'Bearer {{env.MONNIFY_ACCESS_TOKEN}}' placement: header exposes: - type: mcp namespace: refunds-refunds-mcp port: 9090 transport: http description: MCP adapter for Monnify Refunds. tools: - name: monnify-initiate-refund description: Monnify Initiate Refund hints: { readOnly: false, destructive: true, idempotent: false } call: refunds-refunds.initiateRefund with: body: tools.body - name: monnify-list-refunds description: Monnify List Refunds hints: { readOnly: true, destructive: false, idempotent: true } call: refunds-refunds.listRefunds - name: monnify-get-refund-status description: Monnify Get Refund Status hints: { readOnly: true, destructive: false, idempotent: true } call: refunds-refunds.getRefundStatus