mcpField
S
statfin-mcp

statfin-mcp

ローカル
github.com/3121n法務・行政020 週間前に更新

statfin-mcp について

statfin-mcp は PxWeb を通じて Statistics Finland の StatFin データベースを MCP から利用できるようにします。API キーなしで統計表の検索、メタデータ確認、条件を指定した JSON-stat2 データ取得ができます。

主な機能

  1. 01キーワードによる StatFin 表検索
  2. 02表の次元と値コードの確認
  3. 03条件付き JSON-stat2 データ取得
  4. 04分野の一覧表示

活用シーン

  1. 01統計テーマに合う表の検索
  2. 02データ取得前の絞り込み項目の確認
  3. 03地域を指定した最新統計の取得

MCP 対応

MCP クライアントに StatFin の表検索、メタデータ確認、分野一覧、データ取得のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"3121n-statfin": {
"command": "npx",
"args": [
"-y",
"@nor-data/statfin-mcp"
]
}
}
}
起動コマンドnpx -y @nor-data/statfin-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@nor-data/statfin-mcp0.1.0

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
emnestringいいえ任意:テーマ ID(list_emner から取得)で絞り込みます。例:'vaerak'
limitintegerいいえ最大ヒット数(デフォルト:10)
querystringはい検索語。例:'population'、'unemployment'、'consumer price index'、'building'

詳細

@nor-data/statfin-mcp

Statistics Finland(Tilastokeskus) の公式統計を提供する StatFin データベース向け MCP サーバーです。PxWeb API を通じて公開されています。3000 以上のテーブルを検索し、各テーブルの次元を確認して、データを JSON-stat2 として取得できます。API キーは不要です。

北欧のオープンデータ向け MCP サーバー群 nor-data の一部です。SSB(ノルウェー)サーバーと同じ方式で構築されています。StatFin と SSB はどちらも PxWeb を使用するため、ツールの構成も共通しています。

ツール

ツール機能
sok_tabellStatFin の全テーブルをキーワード検索します。PxWeb はサーバー側の検索に対応していないため、ローカルで 同梱インデックス(テーブルツリー全体から作成)を検索し、最も関連性の高いテーブルと tabell_id を返します。
hent_tabellテーブルのメタデータを取得します。タイトルと、有効な値コードおよびラベルを含む次元(変数)が返されます。まずこれを読み、使用可能なフィルターコードを確認してください。
hent_data実際の値を JSON-stat2 として取得します。フラットな {variabelkode: [verdier]} マップで絞り込めます。最新の期間を指定する {filter:'top', values:['1']} のような特殊な選択にも対応しています。
list_emnerStatFin の約 140 の主題分野(例:vaerak = 人口構造)を一覧表示します。キーワード検索で見つからない場合に、検索範囲を絞ったり、参照したりできます。

すべてのツールは、オプションの lang(既定値は en、fi、sv も指定可能)を受け付けます。変数の コード は言語に依存しませんが、タイトルとラベルは言語ごとに表示されます。

エージェントの使用例

  1. sok_tabell({ query: "population by region" }) → tabell_id: "vaerak/statfin_vaerak_pxt_11ra.px"
  2. hent_tabell({ tabell_id }) → 変数 Alue(地域)、Vuosi(年)、Tiedot(情報)を確認します
  3. hent_data({ tabell_id, filtre: { Alue: ["SSS"], Vuosi: { filter: "top", values: ["1"] } } }) → 最新の全国値を JSON-stat2 として取得します

インストール

// Claude Desktop / Claude Code MCP config
{
  "mcpServers": {
    "statfin": {
      "command": "npx",
      "args": ["-y", "@nor-data/statfin-mcp"]
    }
  }
}

開発

npm install
npm run build-index   # crawl the StatFin tree → data/tables-index.json (~1–2 min)
npm run dev           # run from source via tsx
npm run build         # compile to dist/

検索インデックスはパッケージに同梱されています(data/tables-index.json)。更新するには npm run build-index を再実行してください(毎晩の更新で十分です。StatFin はテーブルを頻繁に更新しますが、ツリーはあまり更新しません)。

注意事項と制限
  • PxWeb は 10 秒あたり 30 回の呼び出しを許可しており、約 100 000 セルを超えるクエリは拒否されます(HTTP 403)。hent_data の選択範囲は小さくしてください(地域と年を少数に絞ります)。
  • 一部の主題(vtp、kivih、sekn、akay)はサーバー側で HTTP 400 を返すため、インデックス作成時にスキップされます。これは StatFin の仕様によるもので、このサーバーの不具合ではありません。インデックスでは skipped に記録されます。
  • データは Statistics Finland により CC BY 4.0 ライセンスで提供されています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。