Server data from the Official MCP Registry
Statistics Canada's 8,200+ data tables: CPI, GDP, labour force, housing. No API key.
About
Statistics Canada's 8,200+ data tables: CPI, GDP, labour force, housing. No API key.
Security Report
A well-engineered MCP server for Statistics Canada's public data API with clean architecture, proper error handling, and no authentication or credential management concerns. The codebase demonstrates good security practices: no hardcoded secrets, no dangerous operations, input validation via Zod schemas, and unit-tested pure logic. Permissions are appropriate for the server's purpose (network access to a public API, no file I/O, no shell execution). Minor code quality observations noted but do not materially impact security. Supply chain analysis found 2 known vulnerabilities in dependencies (2 critical, 0 high severity). Package verification found 1 issue.
6 files analyzed · 7 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-arose26-statcan-mcp": {
"args": [
"-y",
"statcan-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
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
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
