Zovo Average Balance
Server Details
Average monthly balance
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of misselection. Its purpose (average monthly/daily balance from transaction rows) is stated unambiguously in the description.
The single name calculate_average_balance follows a clear verb_noun snake_case pattern and directly describes the operation. There is no competing convention to create inconsistency.
One tool is thin by the usual 3-15 heuristic, but the domain is a single narrow calculation, so splitting it would create artificial overlap. The one tool is substantial (inputs, validation, Excel and PDF outputs), so it earns its place.
The surface covers the full calculation lifecycle: input normalization, per-day carry-forward, monthly and period averages, highs/lows, running-balance validation, recurring credit detection, and file exports. Gaps are minor and self-declared (no bank connectivity, no OCR of scans, no certificate), and the description hints at screenshot input while also excluding scans, which is slightly inconsistent.
Available Tools
1 toolcalculate_average_balanceCalculate average balanceARead-onlyIdempotentInspect
Use this when the user wants an average monthly balance calculator, a bank statement average balance, an average daily balance or proof of funds figures from their transactions. Put the statement rows into transactions (date, description, amount or credit/debit, running balance); convert pasted text or a screenshot into those fields, and use file or statement_text only as a fallback. Each calendar day is counted and the balance carries forward over days with no transactions. Returns the average per month and for the period, lowest and highest daily balance with dates, month-end balances, credits and debits per month, a running balance check that lists rows that differ, recurring salary-like credits, large one-off deposits, an Excel workbook and a 1-page PDF summary. Without an opening balance or a running balance it gives the relative change only. Does not connect to banks, read scans, or issue a bank certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Fallback: the statement file the user attached (CSV, Excel .xlsx or a text PDF), e.g. statement.pdf. Prefer transactions when the rows are in the chat. | |
| currency | No | Optional currency, e.g. "USD", "INR", "₱" or "EUR". Default: read from the amounts, else none shown. | |
| bank_name | No | Optional bank name for the PDF, e.g. "HDFC Bank". | |
| page_size | No | PDF page: "A4" (default) or "Letter". | |
| date_order | No | Optional order for dates like 03/09/2026: "dmy" (day first, India, UK, Philippines) or "mdy" (US). Default: decided from the dates; US when nothing decides it. | |
| period_end | No | Optional last day of the statement period, e.g. "2026-09-30". Days after the last transaction carry the last balance. Default: the last transaction date. | |
| period_start | No | Optional first day of the statement period, e.g. "2026-07-01". Days before the first transaction carry the opening balance. Default: the first transaction date. | |
| prepared_for | No | Optional purpose line for the PDF, e.g. "Schengen visa application" or "Home loan file". | |
| transactions | No | The statement rows as objects, oldest or newest first: [{"date":"2026-09-01","description":"Salary","amount":2500,"balance":3100}]. Convert a pasted statement or a screenshot into these fields. Copy the running balance column when there is one. Up to 5,000 rows. | |
| account_label | No | Optional account label for the PDF, e.g. "Savings ****1234". Long numbers are masked to the last 4 digits. | |
| balance_basis | No | Optional: "computed" (default, opening balance plus transactions) or "printed" (use the statement's running balance wherever it is printed). | |
| account_holder | No | Optional name printed on the PDF summary, any script, e.g. "Nguyễn Văn An". | |
| statement_text | No | Fallback only: statement rows pasted as text or CSV, one row per line, e.g. "2026-09-01, Salary, 2500.00, 3100.00". Prefer transactions. | |
| statement_year | No | Optional year for dates written without one, e.g. 2026. | |
| closing_balance | No | Optional balance at the end of the period, e.g. 3400.10. Used to check the rows, or to work out the opening balance when nothing else gives it. | |
| minimum_balance | No | Optional minimum average monthly balance the bank requires, e.g. 10000. Each month is checked against it. | |
| opening_balance | No | Balance at the start of the period (before the first transaction), e.g. 1250.00. Leave empty when the rows have a running balance: it is worked out from the first one. | |
| large_deposit_threshold | No | Optional size of a credit to flag as a large one-off deposit: a percent of the average balance ("50%", the default) or an amount (5000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| lowest | Yes | |
| months | Yes | |
| period | Yes | |
| source | Yes | |
| highest | Yes | |
| absolute | Yes | |
| currency | Yes | |
| warnings | Yes | |
| downloads | Yes | |
| assumptions | Yes | |
| months_shown | No | |
| total_debits | Yes | |
| transactions | Yes | |
| closing_check | Yes | |
| total_credits | Yes | |
| large_deposits | Yes | |
| opening_source | Yes | |
| average_balance | Yes | |
| closing_balance | Yes | |
| minimum_balance | Yes | |
| opening_balance | Yes | |
| average_formatted | Yes | |
| recurring_credits | Yes | |
| large_deposit_rule | Yes | |
| large_deposits_count | Yes | |
| printed_basis_average | Yes | |
| running_balance_check | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, which already declare a safe read-only, idempotent operation, the description discloses important behavior: each calendar day is counted, balances carry forward over days without transactions, and results include a running-balance check, recurring credits, large deposits, Excel output, and a PDF summary. It also explains the relative-change fallback when no opening or running balance is available, which is valuable behavioral context not present in annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, leading with the use case before input rules and output details. It is somewhat long and reads as a single run-on paragraph, but nearly every sentence contributes actionable information, so the size is mostly justified for an 18-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 18-parameter tool with an output schema, the description covers the essential purpose, input fallback strategy, day-counting behavior, fallback results without opening/running balance, and explicit limitations. The output schema handles return structure, so the description is complete enough for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds meaningful usage semantics by prioritizing transactions over file and statement_text, explaining how screenshots and pasted text should be converted, and clarifying that opening/running balance affect whether relative change is returned. This goes beyond restating parameter names and helps an agent choose and populate the right inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: calculating average monthly balance, average daily balance, and proof-of-funds figures from transactions. It clearly distinguishes the tool from adjacent capabilities by saying it does not connect to banks, read scans, or issue a bank certificate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use the tool ('when the user wants an average monthly balance calculator...') and gives a clear input preference: put statement rows into transactions, convert pasted text or screenshots into fields, and use file or statement_text only as a fallback. It also states negative boundaries, which helps an agent avoid misrouting unsupported requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
calculate_average_balance
Related MCP Connectors
Bank statement to spreadsheet
Compound and simple interest, investment growth, future value, CAGR, dividends and tax at a rate
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables financial calculations such as compound interest, loan EMI, and savings goal projections through natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables exact, explained Brazilian financial calculations such as fixed income, investment comparison, equivalent rates, and loans, with step-by-step calculation trails and assumptions. It helps MCP clients handle compound interest, business days, taxes, and IOF deterministically.MIT
- FlicenseNot gradedqualityDmaintenanceA personal financial management tool that enables AI assistants to record transactions, check balances, and provide monthly financial summaries via the Model Context Protocol. It allows users to manage their expenses and income through natural language interactions using standardized MCP tools and resources.-
- FlicenseNot gradedqualityDmaintenanceEnables personal finance management through conversational AI, including expense tracking, budget monitoring, financial news simplification, and purchasing power comparisons across South Asian cities. Designed for WhatsApp integration with natural language commands for financial assistance.-
Glama MCP Gateway
Add one secure layer between your agents and this server.