
Statistics Canada MCP Server
Access Statistics Canada data via the Web Data Services API
6 stars145 downloads/wk
Reviews
Write oneNobody has reviewed Statistics Canada MCP Server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Statistics Canada MCP Server tools (31, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
drop_tablewrite actionPermanently deletes (drops) a table from the SQLite database.
fetch_vectors_to_databasePREFERRED tool for multi-series analysis. Fetches data for multiple StatCan vector IDs in a single API call and immediately stores the results in a SQLite table — no separate create/insert steps needed.
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
get_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
get_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 yesterday").
get_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}
get_changed_series_data_from_cube_pid_coordRetrieves changed series data (data points that have changed) using Cube ProductId and Coordinate string. Coordinates are automatically padded to 10 dimensions. Disables SSL Verification. Corresponds to: POST /getChangedSeriesDataFromCubePidCoord
get_changed_series_data_from_vectorGet changed series data (data points that have changed) for a series identified by Vector ID. Disables SSL Verification. Corresponds to: POST /getChangedSeriesDataFromVector
get_changed_series_listGet the list of series (vectorId, productId, coordinate, releaseTime) that were updated on a specific date (YYYY-MM-DD). Disables SSL Verification. Corresponds to: GET /getChangedSeriesList/{date}
get_code_setsRetrieves definitions for various code sets used by the API (e.g., frequency, units of measure). Corresponds to: GET /getCodeSets
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
get_data_from_cube_pid_coord_and_latest_n_periodsRetrieves data for the N most recent reporting periods for ONE specific series identified by ProductId and a single Coordinate string. Coordinates are automatically padded to 10 dimensions. Corresponds to: POST /getDataFromCubePidCoordAndLatestNPeriods
get_data_from_vector_by_reference_period_rangePREFERRED tool for fetching data across multiple series by reference period date range (YYYY-MM-DD). Accepts an array of vectorIds and retrieves all of them in a single API call. Disables SSL Verification. Corresponds to: GET /getDataFromVectorByReferencePeriodRange
get_data_from_vectors_and_latest_n_periodsGet data for the N most recent reporting periods for a specific data series identified by Vector ID. Disables SSL Verification. Corresponds to: POST /getDataFromVectorsAndLatestNPeriods
get_full_table_download_csv(Discouraged: Use coordinate/vector tools if possible) Get a download link for the full data table/cube in CSV format. Specify language ('en' or 'fr'). Disables SSL Verification. Corresponds to: GET /getFullTableDownloadCSV/{productId}/{lang}
get_full_table_download_sdmx(Discouraged: Use coordinate/vector tools if possible) Get a download link for the full data table/cube in bilingual SDMX (XML) format. Disables SSL Verification. Corresponds to: GET /getFullTableDownloadSDMX/{productId}
get_sdmx_dataFetch filtered time-series observations from a StatCan table via SDMX REST.
get_sdmx_key_for_dimensionReturn all leaf member IDs for a single dimension as a ready-to-use OR key string.
get_sdmx_rowsFetch SDMX observations and always return rows inline — use this when you need to embed data in an artifact or widget.
get_sdmx_structureFetch the Data Structure Definition (DSD) for a StatCan table via SDMX REST.
get_sdmx_vector_dataFetch time-series observations for a single StatCan vector via SDMX REST.
get_series_infoResolve one or more {productId, coordinate} pairs to series metadata (vectorId, titles, frequency, UOM, etc.) in a single API call.
get_series_info_from_cube_pid_coordRetrieves series metadata (vectorId, titles, frequency etc.) using Cube ProductId and Coordinate string. Coordinates are automatically padded to 10 dimensions. Disables SSL Verification. Corresponds to: POST /getSeriesInfoFromCubePidCoord
get_series_info_from_cube_pid_coord_bulkBatch-fetch series metadata for MULTIPLE {productId, coordinate} pairs in a single API call. Returns vectorId, titles, frequency, etc. for each series. Corresponds to: POST /getSeriesInfoFromCubePidCoord (accepts array) REPLACED BY: get_series_info (merged single + bulk, same behaviour)
get_series_info_from_vectorRequest series metadata (productId, coordinate, titles, frequency, etc.) by Vector ID. Disables SSL Verification. Corresponds to: POST /getSeriesInfoFromVector
get_table_schemaRetrieves the schema (column names and types) for a specific table.
insert_data_into_tablewrite actionAppends rows (list of dicts) into an ALREADY EXISTING SQLite table. Use this only to add more data to a table that was previously created.
list_tablesLists all user-created tables in the SQLite database.
query_databaseExecutes a read-only SQL query (SELECT or PRAGMA) against the database and returns the results. WARNING: Potential security risk! Avoid using this tool with untrusted input or queries that modify data (INSERT, UPDATE, DELETE). Prefer more specific tools like list_tables or get_table_schema when possible. Results may be truncated.
search_cubes_by_titleSearches for data cubes/tables where the English or French title contains the provided search term (case-insensitive). Returns a list of matching cubes in the 'lite' format (excluding dimensions/footnotes).
store_cube_metadataFetches FULL metadata for a cube and stores it into two normalized SQLite tables (_statcan_dimensions, _statcan_members) without returning the full data to the context window.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan48 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 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Statistics Canada MCP Server repository's README, as published. We do not edit it. Read it on GitHub
Statistics Canada MCP Server
<!-- mcp-name: io.github.Aryan-Jhaveri/mcp-statcan -->
MCP server and CLI for Statistics Canada's Web Data Service (WDS) and SDMX REST API. Gives any MCP client — Claude, Cursor, VS Code Copilot, Gemini — structured access to Canadian statistical data. Includes a standalone statcan CLI for direct downloads without an LLM.
Hosted on Render — no install required for most users. See Quick Start.
⚠️ LLMs may fabricate data. Always verify important figures against official Statistics Canada sources.
Table of Contents
- Quick Start
- Examples
- Setup by Client
- How Claude.ai Uses This Server
- MCP Prompts
- statcan CLI
- Features & Tools
- Project Structure
- Known Issues
Quick Start
Pick the option that fits you. You don't need to install anything for Option 1.
Option 1 — Use the hosted server (recommended)
Connect directly to the public server on Render. No uv, no terminal, no local setup.
Claude Desktop / Claude.ai
- Open Settings → Connectors → Add Custom Connector
- Name: mcp-statcan
- URL: https://mcp-statcan.onrender.com/mcp
- Save and restart
Claude Code
claude mcp add statcan --transport http https://mcp-statcan.onrender.com/mcp --scope globalThe hosted server provides all WDS + SDMX tools. Database tools (SQLite) require local setup (Option 3) — they are intentionally excluded from the shared server.
Option 2 — Self-host HTTP (WDS + SDMX, no DB)
Run a local server with the same tools as the hosted version.
Step 1 — Install uv:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Step 2 — Start the server:
uvx statcan-mcp-server --transport http
# Listening at http://localhost:8000Step 3 — Connect your client to http://localhost:8000/mcp.
Option 3 — Full local setup (WDS + SDMX + SQLite)
Everything from Option 2, plus database tools for storing and querying data with SQL. Runs via stdio.
Step 1 — Install uv (same as above).
Step 2 — Configure your client with the stdio snippets in Setup by Client below.
uvx downloads and runs the server automatically on first use.
Option 4 — statcan CLI (no LLM needed)
Download StatCan data directly from the terminal. See statcan CLI.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add mcp-statcan -- uvx statcan-mcp-server
Statistics Canada MCP Server: common questions
- Is Statistics Canada MCP Server safe?
- Yes, by our scan: it is graded A (92/100). Read the Statistics Canada MCP Server safety report
- How do I install Statistics Canada MCP Server?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Statistics Canada MCP Server need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Statistics Canada MCP Server maintained?
- The last commit was in the last day (2026-09-19). The latest release is v0.7.17.