Bank of Canada
live FinanceDataBank of Canada Valet API MCP. Keyless. Dates are YYYY-MM-DD.
Tools
get_observations Time-series observations for one or more Bank of Canada series. Pass comma-separated series names. Well-known: FXUSDCAD (USD/CAD daily avg rate), FXEURCAD (EUR/CAD), V39079 (target for the overnight r
No parameters required.
Try it
get_group_observations Observations for every series in a named group in one call. Useful groups: FX_RATES_DAILY (daily exchange rates for all currencies vs CAD). Use recent=N or a start_date/end_date window.
No parameters required.
Try it
series_info Metadata for a single series: label and description. e.g. "FXUSDCAD" or "V39079".
No parameters required.
Try it
list_series Discover available series. Optionally filter by a case-insensitive substring matched against series label/description, e.g. "exchange rate" or "CPI". Omit query to list all (large).
No parameters required.
Try it
list_groups Discover available series groups. Optionally filter by a case-insensitive substring matched against group label/description, e.g. "exchange" or "lending".
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/bank-of-canada/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/bank-of-canada/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_observations","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("get_observations", {}); // Or ask in plain English:
const answer = await px.ask("bank of canada valet api mcp");