Skip to main content
Glama

BNR exchange rate

exchange_rate
Read-onlyIdempotent

Convert foreign currency amounts to RON using the official National Bank of Romania reference rate for a specific date, including prior-day fixing for VAT invoices.

Instructions

Official National Bank of Romania (BNR) reference rate: how many RON one unit of a currency is worth on a day, and optionally an amount converted to RON. rate_date is the day of the fixing that was used.

BNR publishes once per working day around 13:00. For a VAT invoice in foreign currency the usual rule is the last rate published before the invoice date, so ask for the day before. Cached for 1h (past years for 30 days).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDay to get the rate for (YYYY-MM-DD or DD.MM.YYYY), from 2005 on. Weekends and holidays give the last rate before. Defaults to the latest rate.
amountNoAmount in that currency to convert to RON, e.g. 1500 for 1500 EUR.
currencyNoISO code like "EUR", "USD", "GBP", or "ALL" for every currency BNR publishes.EUR

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare readOnly/openWorld/idempotent, and the description adds traits they do not cover: BNR publishes once per working day around 13:00, results are cached for 1h (past years for 30 days), and weekends/holidays resolve to the last prior rate. Timing, staleness, and fallback behavior are exactly the non-obvious facts an agent needs.

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 core definition is front-loaded in the first sentence, followed by publication timing and the practical invoice rule. Four compact sentences with no redundancy, though the caching/parenthetical detail is slightly dense for its position.

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?

With no output schema, the description still conveys what the result means (RON per unit of currency, optionally an converted amount) and which day the fixing came from, plus freshness and holiday behavior. An agent has everything needed to call it and interpret the response.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents date formats, the 'ALL' currency sentinel, and the amount semantics; baseline is 3. The description's only addition, 'rate_date is the day of the fixing that was used', concerns a return field rather than clarifying a parameter beyond the schema.

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?

The description states a specific verb+resource: returning the official BNR reference rate for a currency on a given day, plus optional conversion to RON. It also defines the domain term 'rate_date' and would not be confused with any sibling (court_cases, iban_check, shop_check, company_financials, company_lookup).

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?

It gives concrete conditional guidance: for a VAT invoice in foreign currency, the usual rule is the last rate published before the invoice date, 'so ask for the day before'. This is real when-to-use context rather than restatement. It stops short of naming explicit exclusions or alternatives (none of the siblings overlap, so the cost is low).

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