关于 statcan-mcp
statcan-mcp 是让 LLM 访问加拿大统计局数据表的 MCP 服务,无需 API 密钥。它支持发现表格、查看元数据和获取时间序列,并将 API 代码转换为易读值。
主要功能
- 01搜索加拿大统计局数据表
- 02查看维度及成员
- 03按向量 ID 获取数据
- 04按表格坐标获取数据
- 05解码向量 ID 和 API 代码
适用场景
- 01追踪加拿大失业率变化
- 02比较各省通胀数据
- 03查找指定时期的住房开工数据
MCP 相关
向 MCP 客户端提供加拿大统计局数据表搜索、元数据、序列和向量信息工具。它访问 Web Data Service,无需 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 最大结果数 |
| query | string | 是 | 关键词,例如 '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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。