Skip to main content
Glama

Bank of Canada Policy & Prime Rate

bankofcanada.rates.policy
Read-onlyIdempotent

Get Bank of Canada overnight target rate and prime lending rate history from the Valet API. overnight_rate_pct (series V39079): the Bank of Canada target for the overnight rate — its primary monetary policy instrument. prime_rate_pct (series V80691311): the prime lending rate set by financial institutions as a function of the overnight rate. Rate changes occur on scheduled Bank of Canada announcement dates (approximately 8 times per year). Returns the 10 most-recent observations by default; use start_date/end_date for historical ranges going back to 1994. Essential for Canadian mortgage, loan, and bond analysis. Source: Bank of Canada, www.bankofcanada.ca — open data, attribution required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recentNoNumber of most-recent observations to return (default 10). Rate changes occur on scheduled BoC announcement dates (roughly 8 times per year). 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"). Defaults to the most recent available date.
start_dateNoStart date for historical range in YYYY-MM-DD format (e.g. "2020-01-01"). Overnight rate history goes back to 1994.

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
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds significant behavioral context beyond that: it returns the 10 most-recent observations by default, supports historical ranges back to 1994, explains that rate changes occur about 8 times per year on scheduled dates, and notes open-data attribution requirements. This enriches the agent's understanding of what to expect from a call.

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?

Five sentences with no filler. It front-loads the core purpose, then efficiently adds series identifiers, scheduling behavior, default return, historical depth, use case, and source attribution. Every sentence 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?

An output schema exists, so return values need no explanation. The description covers what data is returned, how to get recent vs historical observations, how often rates change, the use case, and the source/attribution requirement. An agent has everything needed to select and invoke this tool correctly without opening the schema.

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% — every parameter (recent, start_date, end_date) is already fully documented with defaults, constraints, and format examples. The description mostly reinforces what the schema states (e.g., 'Returns the 10 most-recent observations by default; use start_date/end_date for historical ranges'), so it adds only marginal meaning beyond the schema. Baseline of 3 is appropriate.

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 opening sentence states a precise action and resource: 'Get Bank of Canada overnight target rate and prime lending rate history.' It then specifies each series by ID and name (overnight rate, prime lending rate), making the tool's scope unmistakable and separately distinguishable from siblings like bankofcanada.fx.rates and bankofcanada.rates.inflation.

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?

The description gives clear context for use: 'Essential for Canadian mortgage, loan, and bond analysis.' It also clarifies the data source and update schedule, implying when historical vs recent data is appropriate. However, it does not explicitly name sibling alternatives or state when NOT to use this tool, so it stops short of full exclusion guidance.

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.