Mmcp.market

Statcan MCP server

by arose26·io.github.arose26/statcan-mcp·v0.1.1

Statistics Canada's 8,200+ data tables: CPI, GDP, labour force, housing. No API key.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars38 downloads/wk

Reviews

Write one

Nobody has reviewed Statcan yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Statcan tools (5)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • get_data_by_coordinate

    Fetch observations by choosing one member ID per dimension of a table (get them from get_table_metadata). Example: table 18100004 with member_ids [2, 2] = CPI, Canada, all-items.

  • get_data_by_vectors

    Fetch observations for up to 10 Statistics Canada vector IDs (a vector uniquely identifies one time series, e.g. v41690973 = CPI all-items Canada). Give a date range, or latest_n most recent periods (default 12).

  • get_series_info

    What is this vector? Returns the series title, source table, and coordinate for a vector ID.

  • get_table_metadata

    Structure of a Statistics Canada table: its dimensions and their members with member IDs. Large dimensions are truncated — pass member_filter (e.g. 'gasoline') to find specific members. Use the member IDs with get_data_by_coordinate.

  • search_tables

    Keyword search across all ~8,200 Statistics Canada data tables (CPI, GDP, labour force, housing, population...). Returns product IDs to explore with get_table_metadata.

Public scan report

scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 40 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Statcan repository's README, as published. We do not edit it. Read it 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", not scalarFactorCode: 3, statusCode: 5. Nothing hardcoded to go stale.
  • Forgiving inputs — vector IDs accepted as v41690973 or 41690973; coordinates padded automatically.

Quick start

Claude Code

claude mcp add statcan -- npx -y statcan-mcp

Claude Desktop — add to claudedesktopconfig.json:

{
  "mcpServers": {
    "statcan": {
      "command": "npx",
      "args": ["-y", "statcan-mcp"]
    }
  }
}

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

Tools

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 (*Fr fields are already in the API responses)
  • Full-table CSV download for bulk analysis
  • Streamable HTTP transport for remote deployment

License

MIT

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y statcan-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add statcan-mcp -- npx -y statcan-mcp
Add to Cursor

Statcan: common questions

Is Statcan MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the Statcan safety report
How do I install Statcan?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Statcan need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Statcan maintained?
The last commit was 41 days ago (2026-08-14). The latest release is v0.1.1.

More from arose26