# Banking API payments analyst

> Analyses, read only, the payments of an account in a date range and returns a natural-language report: success, failures, reversals, net amounts and recommendations. It runs a language model over the computed figures.

- kind: mcp-tool
- status: stable
- access: read
- last_verified: 2026-10-07
- url: https://tilopay.com/en/developers/agentes/mcp/api-bancario/analyze-payments

> These tools are enabled on request and only work for users with Tilopay banking API credentials. They are not part of the default MCP access: Tilopay enables the group case by case. Requires: Tilopay banking API credentials registered by Tilopay for that user.

- `baas_analyze_payments`
- Access: Read only

Analyses, read only, the payments of an account in a date range and returns a natural-language report: success, failures, reversals, net amounts and recommendations. It runs a language model over the computed figures.

**Parameters**

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `accountIndex` | integer | — | Account number in the list shown by baas_list_accounts (base 1). Precedence for choosing the own account: accountValue (only if it matches one of the user's accounts) → currency (first account in that currency) → accountIndex (base 1: the number baas_list_accounts shows) → if there is a single account, that one. |
| `accountValue` | string | — | Only if already returned by a tool and matching one of your accounts. Account precedence: accountValue → currency (first matching account) → accountIndex (1-based) → sole account. |
| `dateFrom` | string | yes | From, RFC 3339 |
| `dateTo` | string | yes | To, RFC 3339 |
| `currency` | string | — | ISO 4217 currency |
| `direction` | string (OUT | IN) | — | OUT = sent, IN = received |
| `question` | string | — | Specific focus for the analysis |
| `maxItems` | integer | — | Maximum payments to analyse, between 1 and 1000 (300 by default) |
| `assignmentId` | string | — | Banking API context (assignment); only needed when there are several |

**Returns**

`{ summary }`

summary carries account, range, totals {count, succeeded, failed, reversed, pending, successRate}, byCurrency with succeededAmount, reversedAmount, netAmount and averageTicket, failureReasons and sample. The written report comes in the text. With no payments in the range it says so and does not analyse.
