SERVER STATUS: ONLINE  |  VERSION 0.7.13  |  TOOLS: 17 REGISTERED
MCP SDK SDMX REST WDS REST v0.7.13 Python 3.11+ Stateless HTTP
Announcements:
NEW v0.7.9 — automated CI/CD: version bumps on push, landing announcement workflow
NEW v0.7.8 — tool-level request logging and /.well-known/mcp.json discovery
NEW v0.7.5 — SDMX get_sdmx_rows for inline data without context flood
• Listed on the MCP server registry
Abstract. This server exposes Statistics Canada’s Web Data Service (WDS) and SDMX REST API as a suite of Model Context Protocol (MCP) tools. Language models connect via the /mcp endpoint and gain structured access to over 7,000 Canadian statistical tables — labour force, GDP, inflation, demographics, health, environment, and more. The server operates in a fully stateless mode: no session state is retained between requests, enabling horizontal scaling and simplified deployment on platforms such as Render.

Connection Instructions

Add this server to your MCP client using the Streamable HTTP transport. No API key is required — Statistics Canada data is publicly available.

MCP Endpoint
https://mcp-statcan.onrender.com/mcp

Health Check
https://mcp-statcan.onrender.com/health

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "statcan": {
      "type": "http",
      "url": "https://mcp-statcan.onrender.com/mcp"
    }
  }
}

Claude Code (.mcp.json)

{
  "mcpServers": {
    "statcan": {
      "type": "http",
      "url": "https://mcp-statcan.onrender.com/mcp"
    }
  }
}
Note: This server is deployed on Render’s free tier. The first request after a period of inactivity may take 30–60 seconds while the instance spins up. Subsequent requests are fast.

Registered Tools (17)

All tools below are exposed over the /mcp endpoint. The hosted HTTP server runs in stateless mode — composite and SQLite database tools are intentionally omitted here. To use those, run the server locally over stdio (pip install statcan-mcp-server).

Tool Name Category Description
search_cubes_by_titleDiscoveryFull-text keyword search across all StatCan tables, capped at 25 results
get_all_cubes_listDiscoveryPaginated inventory of all tables (100/page)
get_all_cubes_list_liteDiscoveryLightweight paginated list, 1-hour TTL cache
get_cube_metadataMetadataFull table structure: dimensions, members, frequencies; summary mode caps members at 10
get_code_setsMetadataWDS attribute decoder tables (scalar type, UOM, frequency, status codes)
get_series_infoSeriesResolve dimension coordinates to vectorId, frequency, UOM
get_series_info_from_vectorSeriesLook up series metadata by vectorId
get_bulk_vector_data_by_rangeVectorFetch multiple vectors filtered by release-date range
get_changed_series_data_from_vectorChange DetectionDetect data changes for a vector since a given date
get_changed_series_data_from_cube_pid_coordChange DetectionDetect changes for a specific series by coordinate
get_changed_cube_listChange DetectionList all tables with data changes since a given date
get_changed_series_listChange DetectionList all series with changes since a given date
get_sdmx_structureSDMXData Structure Definition as JSON: dimension positions and codelists with hierarchy
get_sdmx_dataSDMXServer-side filtered observations by productId + SDMX key string
get_sdmx_rowsSDMXInline tabular rows (up to 500) returned directly in the tool response
get_sdmx_vector_dataSDMXSingle vectorId observations via SDMX
get_sdmx_key_for_dimensionSDMXReturns the full OR-key for a large dimension (avoids wildcard sampling errors)

Technical Specifications

TransportStreamable HTTP (stateless) — MCP 2025-03-26 spec
Upstream APIsStatistics Canada WDS REST + SDMX 2.1 REST
AuthenticationNone required (public data)
SSL VerificationDisabled (VERIFY_SSL=False) — StatCan certificate quirk
Max SDMX Rows500 per get_sdmx_data call
Cache1-hour TTL on get_all_cubes_list_lite
Python3.11+ — asyncio, httpx, Starlette, Uvicorn
Installpip install mcp-statcan
Sourcegithub.com/Aryan-Jhaveri/mcp-statcan

Known Constraints & Notes


Data Attribution

All data returned by this server originates from Statistics Canada. Users are responsible for complying with Statistics Canada’s Open Licence when using or redistributing data obtained through this server. This MCP server is an independent project and is not affiliated with or endorsed by Statistics Canada or the Government of Canada.