Skip to main content
Glama

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.
formatNoCSV content with null flags, original values, source notes and provenance, alongside JSON. No missing-date filling.json
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
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "json",
      +  "description": "CSV content with null flags, original values, source notes and provenance, alongside JSON. No missing-date filling.",
      +  "enum": [
      +    "json",
      +    "csv"
      +  ],
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. 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"
      +]
  4. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent safety profile, and the description adds substantial data-behavior context: no weekend carry-forward, no interpolation, missing values surfaced, original decimals, one year max, no executable prices. These quirks materially affect how an agent should interpret results, though they describe data rather than invocation mechanics.

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?

Purpose is front-loaded and the trailing negation list is dense but information-bearing. Slightly run-on, but no filler sentences.

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

Completeness4/5

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

With an output schema present and 100% schema description coverage, the description need not explain return values, yet it still adds the interpretive caveats (missing values, evidence, no filling). Adequate for a 4-parameter lookup; only the lack of alternative routing keeps it from 5.

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 coverage is 100%, so all four parameters (including format) are already documented at field level. The description usefully consolidates the year/date mutual exclusivity and the 1999 floor, but this largely repeats what the schema descriptions already state. Baseline 3 fits.

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+resource ('ECB historical daily reference rates for one currency against EUR') with clear scope: one currency, quoted per EUR. The 'current quote' exclusion implicitly separates it from a live-rate sibling, but no sibling is named outright, so it stops short of the top band.

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 operational constraints (provide year OR date, not both; default current year) but never says when to choose this tool over get_exchange_rates or the list_* siblings. The 'no current quote / no cross rates' notes imply alternatives exist but do not route the agent.

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