Skip to main content
Glama

Bank of Canada CAD FX Rates

bankofcanada.fx.rates
Read-onlyIdempotent

Get Canadian dollar (CAD) exchange rates against major world currencies from the Bank of Canada Valet API. Returns daily average reciprocal rates: 1 CAD expressed in foreign currency units (e.g. FXCADUSD = 0.7061 means 1 CAD = 0.7061 USD). Default currencies: USD, EUR, GBP, JPY, AUD, CHF, MXN, SEK, NOK, HKD. Specify custom ISO 4217 codes via the currencies parameter. Fetch the latest rate (recent=1, default), N most-recent observations, or a date range (start_date + end_date). Data published on each Bank of Canada business day. Source: Bank of Canada, www.bankofcanada.ca — open data, attribution required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recentNoNumber of most-recent observations to return (default 1 = latest rate only). Ignored when start_date or end_date is provided.
end_dateNoEnd date for historical range in YYYY-MM-DD format (e.g. "2026-06-22"). Use with start_date to get a specific date range.
currenciesNoISO 4217 currency codes to fetch CAD rates for (e.g. ["USD","EUR","GBP","JPY"]). Omit to get all 10 default major currencies: USD, EUR, GBP, JPY, AUD, CHF, MXN, SEK, NOK, HKD.
start_dateNoStart date for historical range in YYYY-MM-DD format (e.g. "2026-01-01"). Use with end_date to get a specific date range.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds valuable behavioral context beyond that: reciprocal rate convention, business-day publication schedule, and the attribution requirement. It does not contradict the annotations.

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

Conciseness5/5

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

The description is dense but well-structured: core action first, then rate convention, defaults, parameter behavior, publication schedule, and source. Every sentence carries distinct information with no redundancy or fluff.

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 four optional parameters, an output schema, and read-only annotations, the description covers defaults, parameter interplay, rate interpretation, and data source. Nothing essential is missing for an agent to invoke it correctly.

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 parameters are already documented. The description adds useful semantics: the default currency list, that recent=1 is the default, and that recent is ignored when start_date/end_date are provided. These details help the agent construct correct calls without opening 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 opens with a specific verb and resource: 'Get Canadian dollar (CAD) exchange rates... from the Bank of Canada Valet API.' It further clarifies the rate convention with an example (FXCADUSD = 0.7061 means 1 CAD = 0.7061 USD) and lists default currencies, making it easy to distinguish from other FX tools like norgesbank.fx.latest or finance.currency.ecb.

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 clearly states the usage context: fetching CAD rates from the Bank of Canada, with explicit modes (latest, recent N, or date range). It doesn't name alternative tools or exclusions, but the scope is so well-defined that an agent can infer when this is the right tool.

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.