mcpField
B
bank-of-canada-mcp

bank-of-canada-mcp

Local
github.com/arose26Finance0Updated 2w ago

About bank-of-canada-mcp

bank-of-canada-mcp is an MCP server for Claude and other LLMs to access Canadian economic data from the Bank of Canada's Valet API. Its tools cover series search, exchange rates, and currency conversion without an API key.

Key features

  1. 01Search the economic time-series catalogue
  2. 02Retrieve observations by date range
  3. 03Get official daily exchange rates against CAD
  4. 04Convert currencies using today's rates
  5. 05Data includes rates, CPI, and bond yields

Use cases

  1. 01Review changes in the Bank of Canada's policy rate
  2. 02Plot historical USD/CAD rates
  3. 03Convert currency at the official daily rate
  4. 04Compare core and headline CPI

MCP support

As an MCP server, it exposes tools for searching series, retrieving observations, checking exchange rates, and converting currencies, using the Bank of Canada Valet API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"arose26-bank-of-canada": {
"command": "npx",
"args": [
"-y",
"bank-of-canada-mcp"
]
}
}
}
Run commandnpx -y bank-of-canada-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmbank-of-canada-mcp0.1.1

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
limitintegerNoMax results to return
querystringYesKeywords, e.g. 'overnight rate target' or 'USD exchange'

Details

From the project README

bank-of-canada-mcp

An MCP server that gives Claude and other LLMs live access to Canadian economic data via the Bank of Canada's free Valet API — ~16,000 time series covering exchange rates, the policy interest rate, CPI, bond yields, commodity prices, and more.

FRED, the World Bank, and the IMF all have MCP servers. Canada didn't — now it does.

No API key required.

Quick start

Claude Code

claude mcp add bank-of-canada -- npx -y bank-of-canada-mcp

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "bank-of-canada": {
      "command": "npx",
      "args": ["-y", "bank-of-canada-mcp"]
    }
  }
}

The same npx invocation works in Cursor, Windsurf, and any other MCP client.

Tools

ToolWhat it does
search_seriesKeyword search across the full series catalogue — find the series name for anything ("overnight rate target", "CPI", "5-year bond")
get_observationsTime-series data for up to 5 series, by date range or N most recent
latest_fx_ratesToday's official daily exchange rates vs CAD
convert_currencyConvert between any two supported currencies using today's rates

Example prompts

  • "What's the Bank of Canada's current policy rate, and how has it moved this year?"
  • "Plot USD/CAD for the last 90 days."
  • "Convert 2,500 EUR to CAD at today's official rate."
  • "How does core CPI compare to headline CPI over the past two years?"

Development

npm install
npm test        # offline unit tests (vitest)
npm run build   # tsc → dist/

Architecture: src/valet.ts is a plain API client with pure, unit-tested logic (search, conversion math); src/index.ts is the MCP wiring. Errors from the Valet API (e.g. an unknown series name) are returned as MCP tool errors with the API's own message, so the model can self-correct by re-searching.

Notes

  • Rates are the Bank of Canada's indicative daily averages, published once per business day — not transactional quotes.
  • Data is © Bank of Canada, used under their terms. This project is not affiliated with or endorsed by the Bank of Canada.

Roadmap

  • Statistics Canada Web Data Service tools
  • Group browsing (lists/groups)
  • Streamable HTTP transport for remote deployment

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.