io.github.arose26/statcan-mcp
Statistics Canada's 8,200+ data tables: CPI, GDP, labour force, housing. No API key.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
statcan-mcpclaude mcp add statcan-mcp -- npx -y statcan-mcp@0.1.1
{
"mcpServers": {
"statcan-mcp": {
"command": "npx",
"args": [
"-y",
"statcan-mcp@0.1.1"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
statcan-mcp
An MCP server that gives Claude and other LLMs live access to Statistics Canada — all 8,200+ data tables from the Web Data Service: CPI, GDP, labour force, housing starts, population, trade, and more.
No API key required.
Sibling project: bank-of-canada-mcp for Bank of Canada rates and FX.
Why this exists
StatCan's API is powerful but hostile: POST-only lookups, opaque numeric vector IDs, 10-position "coordinate" addressing, and numeric code enums everywhere (scalarFactorCode: 3). This server translates it into something an LLM can actually drive:
- Discovery flow built into the tools — search tables → inspect dimensions → fetch data, with each tool description pointing to the next step.
- Context-friendly by default — a CPI dimension has 359 members and a series can span a century; members are capped and keyword-filterable, data defaults to the last 12 periods.
- Codes decoded at runtime via StatCan's own code-set endpoint — responses say
"scale": "thousands"and"note": "use with caution", notscalarFactorCode: 3, statusCode: 5. Nothing hardcoded to go stale. - Forgiving inputs — vector IDs accepted as
v41690973or41690973; coordinates padded automatically.
Quick start
Claude Code
claude mcp add statcan -- npx -y statcan-mcp
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"statcan": {
"command": "npx",
"args": ["-y", "statcan-mcp"]
}
}
}
The same npx invocation works in Cursor, Windsurf, and any other MCP client.
Tools
| Tool | What it does |
|---|---|
search_tables | Keyword search across all ~8,200 data tables |
get_table_metadata | A table's dimensions and members (capped, filterable) — the map you need to pull data |
get_data_by_vectors | Time series by vector ID(s), date range or latest-N |
get_data_by_coordinate | Time series by table + one member choice per dimension |
get_series_info | Decode a mystery vector ID into its title and source table |
Example prompts
- "What's Canada's current unemployment rate, and how has it trended over 12 months?"
- "Compare gasoline price inflation in Ontario vs Quebec since 2024."
- "How many housing starts were there in Canada last quarter?"
- "What is vector v41690973?"
Development
npm install
npm test # offline unit tests (vitest)
npm run build # tsc → dist/
node scripts/smoke.mjs # live smoke test against the real API
Architecture: src/wds.ts is a plain WDS client with pure, unit-tested logic (catalogue search, coordinate padding, code decoding); src/index.ts is the MCP wiring. API failures (unknown vector, bad coordinate) come back as MCP tool errors carrying StatCan's own message so the model can self-correct.
Notes
- Data is © Statistics Canada, used under the Statistics Canada Open Licence. This project is not affiliated with or endorsed by Statistics Canada.
- English output only for now (the API also carries French — see roadmap).
Roadmap
- French-language output (
*Frfields are already in the API responses) - Full-table CSV download for bulk analysis
- Streamable HTTP transport for remote deployment
License
MIT
Frequently asked questions
What is io.github.arose26/statcan-mcp?
Statistics Canada's 8,200+ data tables: CPI, GDP, labour force, housing. No API key.
How do I install io.github.arose26/statcan-mcp?
It runs on your machine. In Claude Code: claude mcp add statcan-mcp -- npx -y statcan-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.arose26/statcan-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.arose26/statcan-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.arose26/statcan-mcp?
It is published by arose26. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.