Skip to main content
Glama

DatoQA — Historical Exchange Rates

get_exchange_rate_history

Read-onlyIdempotent

ECB historical daily reference rates for one currency against EUR. Provide year (1999 onward) or an exact date, not both. Default: current year. Returns one year at most, original decimals, missing values and evidence. No weekend carry-forward, interpolation, current quote for discontinued currencies, cross rates or executable prices.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoExact source date YYYY-MM-DD, for example 2008-09-15; cannot be combined with year. No filling of weekends or gaps.
yearNoOne source calendar year since 1999; defaults to the current year. Cannot be combined with date.
currencyYesUppercase non-EUR currency code from list_exchange_rate_history, for example USD. Values are currency units per one EUR.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearYes
itemsYes
noticeNo
statusYesRead this before using values; a successful transport does not establish data availability.
currencyYes
returnedYesDomain-specific result count, not necessarily the number of stored records in items.
directoryNo
interpretationNo
requested_dateYes
independently_verifiedNoOfficial-source checks are not independent factual corroboration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / provenance / properties / verification_level / enum
      Previous value: -[
      -  "official_source_and_schema_checked",
      -  "method_specific"
      -]New value: +[
      +  "official_source_and_schema_checked",
      +  "public_aggregator_and_schema_checked",
      +  "method_specific"
      +]
  2. First observed

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare the safe-read profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real behavioral context on top: at most one year returned, original decimals, missing values surfaced, no weekend carry-forward or interpolation, and no current quote for discontinued currencies. These are limits an agent would otherwise discover only by trial.

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?

Four tight sentences; the core purpose and the year/date rule come first, and the trailing exclusion list is compact rather than padded. The final clause is a dense run-on of negatives, but nearly every item earns its place.

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 three-parameter read tool with a full output schema, the description covers purpose, input constraints, defaults and output limits without needing to explain return values. Nothing an agent needs to call this correctly is missing.

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 currency, year and date, including the year range, the mutual exclusion and the currency format. The description restates the same constraints (year range, date exclusivity, default) without adding format or semantics beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource — ECB historical daily reference rates for one currency against EUR — with scope (year or exact date, default current year). It does not reference any sibling tool, so an agent cannot tell from the description alone how this differs from get_exchange_rates or list_exchange_rate_history (the latter is only mentioned inside the schema).

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

Usage Guidelines3/5

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

Gives clear input-selection rules ('Provide year (1999 onward) or an exact date, not both. Default: current year') and negative scope ('No weekend carry-forward, interpolation, ... cross rates or executable prices'), which is genuinely useful. However, it never says when to pick this tool over get_exchange_rates or when to consult list_exchange_rate_history first, so usage relative to alternatives is left to inference.

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