Statistics Canada MCP Server
by @Aryan-Jhaveri · io.github.Aryan-Jhaveri/mcp-statcan
Access Statistics Canada data via the Web Data Services API
- Category
- Analytics and data
- Connection
- Remote (HTTP)
- Tools
- 17 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http mcp-statcan https://mcp-statcan.com/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://mcp-statcan.com/mcpOr run it locally (pypi)
claude mcp add mcp-statcan -- uvx statcan-mcp-server==0.17.0Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"mcp-statcan": {
"url": "https://mcp-statcan.com/mcp"
}
}
}Tools it offers
17 tools, as the server itself reported during our check on Oct 31, 2026.
get_code_setsDecode StatCan WDS numeric codes (e.g. frequencyCode 6 = Monthly, scalarFactorCode 0 = units). Corresponds to: GET /getCodeSets Without arguments, returns a summary: small code sets (scalar, frequency, symbol, status, ..get_all_cubes_listProvides a complete inventory of data tables available via the API, including dimension-level details. Disables SSL Verification. Corresponds to: GET /getAllCubesList Results are paginated. Default returns first 100 cubeget_all_cubes_list_liteProvides a complete inventory of data tables available via the API, excluding dimension or footnote information (lighter version). Disables SSL Verification. Corresponds to: GET /getAllCubesListLite Results are paginatedsearch_cubes_by_titleSearches for data cubes/tables where the English or French title contains the provided search term (case-insensitive). Multiple keywords use AND logic (e.g., "tobacco smoking age" finds cubes containing ALL three words).get_cube_metadataRetrieves detailed metadata for a specific data table/cube using its ProductId. Includes dimension info, titles, date ranges, codes, etc. Disables SSL Verification. Corresponds to: POST /getCubeMetadata Start with summarget_changed_series_data_from_cube_pid_coordGet the data points of a series (by ProductId + Coordinate) that changed TODAY only. StatCan publishes at 08:30 ET; before then, or on a day the series did not change, this returns changed=false. For past releases use geget_series_infoResolve one or more {productId, coordinate} pairs to series metadata (vectorId, titles, frequency, UOM, etc.) in a single API call. Use this to find vectorIds before fetching data with get_sdmx_data or get_sdmx_vector_daget_changed_cube_listGet the list of data tables/cubes that were updated on a specific date (YYYY-MM-DD). Disables SSL Verification. Corresponds to: GET /getChangedCubeList/{date} Returns: List[Dict[str, Any]]: A list of dictionaries describget_series_info_from_vectorRequest series metadata (productId, coordinate, titles, frequency, etc.) by Vector ID. Use only when you start from a vectorId: get_series_info already returns this metadata for series it resolved. Disables SSL Verificatget_bulk_vector_data_by_rangeFetches bulk data for multiple vectors filtered by *release date* range (YYYY-MM-DDTHH:MM), NOT by reference period. Use this when you want data released within a specific date/time window (e.g., "all updates released yeget_changed_series_data_from_vectorGet the data points of a series (by Vector ID) that changed TODAY only. StatCan publishes at 08:30 ET; before then, or on a day the series did not change, this returns changed=false. For past releases use get_changed_cubget_changed_series_listGet the list of series (vectorId, productId, coordinate, releaseTime) updated today. Statistics Canada publishes this list after 08:30 ET; the endpoint does not accept a date. For a historical release date, use get_changget_sdmx_structureFetch the Data Structure Definition (DSD) for a StatCan table via SDMX REST. Returns dimension codelists with code IDs, names, and parent hierarchy. Use this BEFORE get_sdmx_data to understand the key syntax for that tabget_sdmx_dataFetch filtered time-series observations from a StatCan table via SDMX REST. Filtering is done server-side — only the requested slice is returned. Call get_sdmx_structure first to see dimension positions and valid codes.query_sdmxFetch SDMX observations and run ONE read-only SQL query over them server-side, returning only the query result. Nothing is stored — the data is loaded into a temporary in-memory table named `data` and discarded after theget_sdmx_vector_dataFetch time-series observations for a single StatCan vector via SDMX REST. Simpler alternative to get_sdmx_data when you already know the vectorId. Use get_series_info (productId + coordinate) to find vectorIds. Time filtget_sdmx_key_for_dimensionReturn all leaf member IDs for a single dimension as a ready-to-use OR key string. Use this before get_sdmx_data when a dimension has many codes (e.g. 162 NOC minor groups, hundreds of CMA geographies). Avoids the need t
Questions
What is the Statistics Canada MCP server?
Access Statistics Canada data via the Web Data Services API. It is made by @Aryan-Jhaveri and listed in the official MCP Registry as io.github.Aryan-Jhaveri/mcp-statcan. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add Statistics Canada to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://mcp-statcan.com/mcp. In Claude Code, run: claude mcp add --transport http mcp-statcan https://mcp-statcan.com/mcp
How do I add Statistics Canada to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://mcp-statcan.com/mcp.
How do I add Statistics Canada to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "mcp-statcan": { "url": "https://mcp-statcan.com/mcp" } } }
Does Statistics Canada work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can Statistics Canada do?
It gives your AI 17 tools, including get_code_sets, get_all_cubes_list, get_all_cubes_list_lite, search_cubes_by_title, get_cube_metadata. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/github-aryan-jhaveri-mcp-statcan)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/github-aryan-jhaveri-mcp-statcan"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/github-aryan-jhaveri-mcp-statcan.svg?theme=dark"><img src="https://chen.media/mcp/badge/github-aryan-jhaveri-mcp-statcan.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Analytics and data
See allMCP grafanaVerified maker
@grafanaAn MCP server giving access to Grafana dashboards, data and more.
PostHog MCP ServerVerified maker
@PostHogOfficial PostHog MCP Server for product analytics, feature flags, experiments, and more.
AxiomVerified maker
axiom.coList datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
Every Number
everynumber.appTurn an Excel or CSV export into a dashboard where every number has a receipt. No account.
Vehicle History by VIN
vehiclehistorybyvin.comQuote a $9.99 vehicle history report by VIN, open Stripe Checkout for the human, read the report.
Fictura
fictura.coPaywalls, onboarding, subscription analytics, A/B tests, attribution and errors for mobile apps.