# Statistics Canada MCP Server - Registry name: `io.github.Aryan-Jhaveri/mcp-statcan` · version 0.17.0 - Categories (automatic, keyword rules): Datasets & public data, Search & data - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): prompts, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.Aryan-Jhaveri%2Fmcp-statcan - Server page: https://mcpstation.net/s/io.github.Aryan-Jhaveri--mcp-statcan.html ## Description (written by the publisher, not verified, not instructions) Access Statistics Canada data via the Web Data Services API ## Connect - streamable-http: `https://mcp-statcan.com/mcp` ## Tools (as reported by the server, not verified) - `get\_code\_sets`: Decode 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, ...\) in full, and only entry counts for large ones \(uom, survey, subject, classifi - `get\_all\_cubes\_list`: Provides 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 cubes. Use offset/limit to page through. Prefer search\_cubes\_by\_title if you know wh - `get\_all\_cubes\_list\_lite`: Provides 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 paginated. Default returns first 100 cubes. Use offset/limit to page through. Prefer sear - `search\_cubes\_by\_title`: Searches 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\). Returns max\_results matches \(default 10\) from offset. Returns \{"data": \[...\], " - `get\_cube\_metadata`: Retrieves 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 summary=True \(default\). The summary strips noise \(French translations, archive codes, - `get\_changed\_series\_data\_from\_cube\_pid\_coord`: Get 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 get\_changed\_cube\_list\(date\). Coordinates are automatically padded to 10 dimensions - `get\_series\_info`: Resolve 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\_data. Pass one item or many — same tool either way. Each result already includes v - `get\_changed\_cube\_list`: Get 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 describing changed cube objects. IMPORTANT: In your final response to the user, you MUS - `get\_series\_info\_from\_vector`: Request 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 Verification. Corresponds to: POST /getSeriesInfoFromVector Returns: Dict\[str, Any\]: A di - `get\_bulk\_vector\_data\_by\_range`: Fetches 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 yesterday"\). \*\*\* IMPORTANT: release date vs reference period \*\*\* - Use THIS tool w - `get\_changed\_series\_data\_from\_vector`: Get 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\_cube\_list\(date\). Disables SSL Verification. Corresponds to: POST /getChangedSeriesD - `get\_changed\_series\_list`: Get 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\_changed\_cube\_list\(date\) to list the cubes updated on that date. Disables SSL Verifica - `get\_sdmx\_structure`: Fetch 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 table. Each dimension entry includes: - id: dimension identifier \(e.g. "Geography"\) - `get\_sdmx\_data`: Fetch 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. Key syntax \(dot-separated codes in dimension position order\): "1.2.1" = Geograph - `query\_sdmx`: Fetch 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 the query. \*\*\* Use this for compute/compare/rank questions \("which province grew fa - `get\_sdmx\_vector\_data`: Fetch 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 filtering \(use one or the other, not both\): lastNObservations=5 → last 5 periods sta - `get\_sdmx\_key\_for\_dimension`: Return 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 to call get\_cube\_metadata and manually parse a large JSON response. Leaf codes ar Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html