mcpField
S
statcan-mcp

statcan-mcp

本地服务
github.com/arose26法律与政务02 周前更新

关于 statcan-mcp

statcan-mcp 是让 LLM 访问加拿大统计局数据表的 MCP 服务,无需 API 密钥。它支持发现表格、查看元数据和获取时间序列,并将 API 代码转换为易读值。

主要功能

  1. 01搜索加拿大统计局数据表
  2. 02查看维度及成员
  3. 03按向量 ID 获取数据
  4. 04按表格坐标获取数据
  5. 05解码向量 ID 和 API 代码

适用场景

  1. 01追踪加拿大失业率变化
  2. 02比较各省通胀数据
  3. 03查找指定时期的住房开工数据

MCP 相关

向 MCP 客户端提供加拿大统计局数据表搜索、元数据、序列和向量信息工具。它访问 Web Data Service,无需 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"arose26-statcan": {
"command": "npx",
"args": [
"-y",
"statcan-mcp"
]
}
}
}
启动命令npx -y statcan-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmstatcan-mcp0.1.1

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否最大结果数
querystring是关键词,例如 'consumer price index monthly' 或 'housing starts'

详细介绍

statcan-mcp

一个 MCP 服务,让 Claude 和其他大模型实时访问 Statistics Canada 的数据——涵盖 Web Data Service 中的 8,200 多张数据表,包括 CPI、GDP、劳动力、房屋开工、人口、贸易等。

无需 API 密钥。

关联项目:bank-of-canada-mcp,提供加拿大央行利率和外汇汇率。

为什么要做这个项目

StatCan 的 API 功能强大,但使用起来很不友好:查询只能通过 POST 请求,向量 ID 是难以理解的数字,使用 10 个位置的“坐标”进行寻址,而且到处都是数字代码枚举(scalarFactorCode: 3)。本服务将其转换为大模型可以实际调用的形式:

  • 工具内置探索流程 — 搜索数据表 → 查看维度 → 获取数据,每个工具的说明都会指引下一步操作。
  • 默认适配上下文 — CPI 维度包含 359 个成员,一个序列可能跨越一个世纪;成员数量设有上限,并可按关键词筛选,数据默认返回最近 12 个时期。
  • 运行时解码代码,通过 StatCan 自己的代码集端点获取解码结果 — 响应会显示 "scale": "thousands" 和 "note": "use with caution",而不是 scalarFactorCode: 3, statusCode: 5。没有硬编码内容会过时。
  • 输入宽容 — 向量 ID 可使用 v41690973 或 41690973;坐标会自动补齐。

快速开始

Claude Code

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

Claude Desktop — 添加到 claude_desktop_config.json:

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

相同的 npx 调用方式也适用于 Cursor、Windsurf 和其他 MCP 客户端。

工具

工具功能
search_tables按关键词搜索全部约 8,200 张数据表
get_table_metadata获取数据表的维度和成员(数量设有上限,可筛选)——提取数据所需的映射信息
get_data_by_vectors按向量 ID 获取时间序列,可指定日期范围或最近 N 个时期
get_data_by_coordinate按数据表和每个维度中的一个成员选项获取时间序列
get_series_info将未知向量 ID 解码为其标题和来源数据表

示例提示词

  • “加拿大目前的失业率是多少?过去 12 个月的趋势如何?”
  • “比较安大略省和魁北克省自 2024 年以来的汽油价格通胀情况。”
  • “加拿大上个季度开工了多少套住房?”
  • “向量 v41690973 是什么?”

开发

npm install
npm test           # offline unit tests (vitest)
npm run build      # tsc → dist/
node scripts/smoke.mjs   # live smoke test against the real API

架构:src/wds.ts 是一个纯粹的 WDS 客户端,包含纯函数和经过单元测试的逻辑(目录搜索、坐标补齐、代码解码);src/index.ts 负责 MCP 接线。API 错误(未知向量、坐标错误)会作为 MCP 工具错误返回,并附带 StatCan 自己的错误消息,便于模型自行纠正。

备注

  • 数据 © Statistics Canada,依据 Statistics Canada Open Licence 使用。本项目与 Statistics Canada 无关,也未获其认可。
  • 目前仅提供英文输出(API 也包含法语内容,详见路线图)。

路线图

  • 法语输出(API 响应中已包含 *Fr 字段)
  • 下载完整数据表 CSV,支持批量分析
  • 为远程部署提供可流式 HTTP 传输

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。