statcan-mcp について
statcan-mcpは、APIキーなしでLLMからStatistics CanadaのデータテーブルにアクセスするMCPサーバーです。テーブルの検索、メタデータの確認、時系列データの取得に対応し、APIコードを読みやすい値に変換します。
主な機能
- 01Statistics Canadaのテーブル検索
- 02次元とメンバーの確認
- 03ベクトルIDによるデータ取得
- 04テーブル座標によるデータ取得
- 05ベクトルIDとAPIコードの解読
活用シーン
- 01カナダの失業率の推移を追跡
- 02州ごとのインフレを比較
- 03指定期間の住宅着工数を確認
MCP 対応
MCPクライアントにStatistics Canadaのテーブル検索、メタデータ、系列、ベクトル情報のツールを提供します。Web Data Serviceを利用し、APIキーは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 最大結果数 |
| query | string | はい | キーワード。例:'consumer price index monthly' または 'housing starts' |
詳細
statcan-mcp
Claude やその他の LLM に Statistics Canada のデータ(Web Data Service の 8,200 以上のデータテーブルすべて)へのライブアクセスを提供する MCP サーバーです。対象は CPI、GDP、労働力、住宅着工件数、人口、貿易などです。
API キーは不要です。
関連プロジェクト:Bank of Canada の金利と外国為替レートを取得できる bank-of-canada-mcp。
このプロジェクトを作った理由
StatCan の API は強力ですが、扱いにくい仕様です。POST 専用の検索、意味が分かりにくい数値のベクトル ID、10 個の位置を使う「座標」指定、そしてあらゆる場所に登場する数値コードの列挙値(scalarFactorCode: 3)があります。このサーバーは、LLM が実際に扱える形式に変換します。
- ツールに組み込まれたデータ検索フロー — テーブルの検索 → 次元の確認 → データの取得という流れで、各ツールの説明が次のステップを示します。
- デフォルトでコンテキストに適した設計 — CPI の次元には 359 個のメンバーがあり、時系列データが 1 世紀に及ぶこともあります。メンバー数には上限があり、キーワードで絞り込み可能で、データは直近 12 期間がデフォルトです。
- コードを実行時にデコード — StatCan 独自のコードセットエンドポイントを使うため、レスポンスには
scalarFactorCode: 3, statusCode: 5ではなく、"scale": "thousands"や"note": "use with caution"と表示されます。古くなるハードコード値はありません。 - 柔軟な入力 — ベクトル 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 | テーブルと各次元のメンバーを 1 つずつ指定して時系列データを取得します |
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 エラー(不明なベクトル、無効な座標)は、StatCan 独自のメッセージを含む MCP ツールエラーとして返されるため、モデルは自力で修正できます。
注意事項
- データの著作権は © Statistics Canada に帰属し、Statistics Canada Open Licence に基づいて使用されています。このプロジェクトは Statistics Canada と提携しておらず、同機関による推奨も受けていません。
- 現時点では英語のみ出力します(API はフランス語にも対応しています。ロードマップをご覧ください)。
ロードマップ
- フランス語での出力(
*Frフィールドはすでに API のレスポンスに含まれています) - 一括分析向けの全テーブル CSV ダウンロード
- リモート環境へのデプロイに対応するストリーミング可能な HTTP トランスポート
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。