Skip to main content
Glama

Zovo FBAR Currency Converter

Convert foreign balances for FBAR

convert_foreign_balances
Read-onlyIdempotent

Use this when the user needs the maximum balance of foreign bank accounts converted to US dollars at the Treasury year-end exchange rate for an FBAR (FinCEN 114) or Form 8938, with the aggregate checked against the $10,000 FBAR threshold and a PDF worksheet, CSV and Excel file. Uses the U.S. Treasury Reporting Rates of Exchange for December 31 of the tax year (a recorded copy of the Treasury Fiscal Data reports since 2001, live API tried first; the source line gives the recording date) and rounds each account up to the next whole dollar. Up to 25 accounts per call. Does not file forms, decide tax obligations, or convert at today's market rate.

Input Schema

NameRequiredDescriptionDefault
accountsYesForeign accounts, 1 to 25, e.g. [{"label":"UK savings","currency":"GBP","max_balance":8200}].
tax_yearYesCalendar (tax) year whose December 31 Treasury rate is used, from 2001 to the last finished year, e.g. 2025.
lives_abroadNoOptional: true if the filer meets the IRS presence-abroad test (lives outside the US), e.g. false. Changes the Form 8938 thresholds shown.
filing_statusNoOptional federal filing status for the Form 8938 threshold comparison, e.g. single.

Output Schema

NameRequiredDescriptionDefault
sourceYes
summaryYes
accountsYes
tax_yearYes
downloadsYes
form_8938Yes
accounts_countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it names the rate source (Treasury Reporting Rates of Exchange for Dec 31), the recorded-copy fallback with a source line carrying the recording date, per-account rounding up to the next whole dollar, and a 25-account ceiling. It also disclaims side effects (no filing, no obligation determination), which is exactly what an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition is front-loaded and every clause carries information (rate source, rounding, cap, limits). It is dense to the point of being a single long block, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four parameters, an output schema, and full annotation coverage, the description closes the remaining gaps: data provenance, rounding rule, capacity limit, and scope boundaries. Nothing an agent needs before invoking it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning not in the schema: the 25-account cap is enforced in prose (the array has no maxItems), and the year-end rate semantics tie tax_year specifically to a December 31 rate from 2001 onward. Rounding and rate-source behavior further clarify what the numeric inputs will produce.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (convert foreign account balances to USD at the Treasury year-end rate) plus the exact domain artifacts it serves (FBAR FinCEN 114, Form 8938) and the $10,000 threshold check. An agent can tell this apart from the sibling list_treasury_rates, which supplies rates rather than converting balances.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Opens with an explicit trigger ("Use this when the user needs...") and closes with clear exclusions: it does not file forms, does not decide tax obligations, and does not convert at today's market rate. The only gap is that it never names list_treasury_rates as the alternative for looking up rates directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources