statistik-austria-mcp について
statistik-austria-mcpは、Statistik AustriaのオープンデータをAIアシスタントから利用するためのサーバーです。コードをドイツ語ラベルに置き換え、合計行の識別、絞り込み、ページ分割にも対応します。
主な機能
- 01OGDカタログのキーワード検索
- 02データセットの次元と指標の取得
- 03コードをドイツ語ラベルに変換
- 04合計行の識別
- 05次元による絞り込みとページ分割
活用シーン
- 01オーストリアの統計データセットの検索
- 02データセットの次元と指標の確認
- 03読みやすいラベル付き統計データの取得
- 04大きな表の絞り込みと分割取得
MCP 対応
MCP サーバーとして、カタログ検索、データセット構造の確認、データ取得のツールと、カタログカテゴリのリソースをAIアシスタントに提供します。クライアントはstdioで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| dataset_id | string | はい |
詳細
Statistik Austria MCP サーバー
AI アシスタントがStatistik AustriaのオープンデータポータルにアクセスできるMCP サーバー
プロジェクトについて
Statistik Austriaの無料のオープンガバメントデータポータル(data.statistik.gv.at)向けのModel Context Protocolサーバーです。ClaudeなどのAI アシスタントからカタログを検索し、データセットの構造を確認して、データを直接取得できます。CSVファイルをダウンロードして貼り付ける必要はありません。
このポータルでは、各データセットがコード化された値を含むファイルのセットとして公開されているため、生のテーブルはモデルにとって正しく読み取りにくいものです。このサーバーは分類ファイルをデータに結合することで、各値を元のコードとともに読みやすいドイツ語のラベルで提供し、他の行の合計である行にはその旨を示します。
MCP サーバーの構築を実践するための、個人の学習プロジェクトとして作成しました。
機能:
- OGDカタログ全体(約540件のデータセット)をキーワード検索
- データセットのメタデータ:ディメンションと指標
- コードをドイツ語のラベルに変換したデータ。形式は
label <code> - 合計行にフラグを付けるため、アシスタントが合計とその内訳を二重に加算しません
- ディメンション値によるフィルターに対応し、大きなテーブル全体を読み込まずに済みます
- 行を黙って省略しないページネーション。各応答で行数と続きの取得方法を示します
- サーバーが読み取れない形式のデータセットについて、単なるエラーではなく明確なメッセージを表示
- ダウンロードを1時間キャッシュするため、データセットをページごとに取得しても再ダウンロードしません
使用技術
- Python 3
- MCP Python SDK
- pandas
- httpx2
- cachetools
- uv
(先頭に戻る)
はじめに
サーバーはコンピューター上でローカルに実行され、stdio経由でMCPクライアントと通信します。uvxがインストールと起動を行うため、通常の利用ではリポジトリをクローンする必要はありません。
前提条件
- uv(対応するPythonバージョンを自動でダウンロードします)
- Git
- Claude DesktopまたはClaude Code(またはその他のMCPクライアント)
インストール
Claude Desktop
- 設定ファイルを開きます。Claude Desktop で「Settings」→「Developer」→「Edit Config」の順に移動するか、次の場所から直接開きます。
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
- サーバーを追加します
{ "mcpServers": { "statistik-austria": { "command": "uvx", "args": ["--from", "git+https://github.com/DV155/Statistik-Austria-MCP-Server", "statistik-austria-mcp"] } } } - Claude Desktop を完全に終了し、再起動します。
Claude Code
claude mcp add --transport stdio --scope user statistik-austria -- uvx --from git+https://github.com/DV155/Statistik-Austria-MCP-Server statistik-austria-mcp
初回起動には時間がかかります。uv が依存関係をインストールするためです(最も大きいのは pandas です)。事前に済ませるには、上記の uvx コマンドをターミナルで一度実行し、起動したら Ctrl+C で停止します。Claude が uvx を見つけられない場合は、"uvx" をフルパスに置き換えてください(which uvx で確認できます)。Claude Desktop は、サーバーのログを Windows では %APPDATA%\Claude\logs に、macOS では ~/Library/Logs/Claude に保存します。
ローカル開発
- リポジトリをクローンします
git clone https://github.com/DV155/Statistik-Austria-MCP-Server.git cd Statistik-Austria-MCP-Server - 依存関係をインストールします
uv sync - MCP Inspector でサーバーを起動します
uv run mcp dev src/statserver/server.py
(トップに戻る)
使い方
オーストリアの統計について Claude に質問すると、Claude は自動的にツールを使用します。
| ツール | 説明 |
|---|---|
search_dataset | カタログをキーワードで検索し、一致するデータセットの ID とタイトルを返します |
fetch_dataset_json | データセットの次元と指標をコードとともに返します |
fetch_dataset_csv | ラベル、合計行のフラグ、ページング情報を含むデータを返します。filters を使うと、指定した次元の値に該当する行だけに絞り込めます |
サーバーは、カタログのカテゴリを含む ogd://catalog リソースも提供します。
ヒント:カタログのタイトルはドイツ語のため、サーバーはドイツ語で検索します。Claude は質問を自動で翻訳しますが、ドイツ語で質問しても同様に利用できます。
制限事項
2026 年 10 月に、カタログ内の全 543 件のデータセットを対象にテストしました。
- 474 件は完全に読み込めます
- 66 件はサーバーが読み取れない形式(zip アーカイブや WFS、WMS などの地図サービス)で公開されています。サーバーはエラーで終了せず、その旨を伝えます
- 2 件にはデータ行がありません
- 1 件(
OGDEXT_BINNENWAND_1)はラベルなしで読み込まれ、時間もかかります
その他の制限事項:
- 無料の OGD ポータルのみが対象で、有料の STATcube API には対応していません
- カタログはポータルの HTML ページから読み込まれるため、Statistik Austria がそのページの構造を変更すると検索できなくなります
- 非常に大きなデータセットへの初回リクエストでは、ダウンロードに数秒かかることがあります
(トップに戻る)
データソース
すべてのデータは Statistik Austria - data.statistik.gv.at から取得しており、CC BY 4.0 のライセンスで提供されています。このサーバーを通じて取得した結果を公開する場合は、出典として Statistik Austria を記載してください。
これは独立したプロジェクトであり、Statistik Austria との提携関係はなく、同機関の承認も受けていません。
(トップに戻る)
コントリビューション
コントリビューションがあるからこそ、オープンソースコミュニティは学び、刺激を受け、創造する素晴らしい場所になります。皆さまからのコントリビューションを心より歓迎します。
改善につながる提案がある場合は、リポジトリをフォークしてプルリクエストを作成してください。また、「enhancement」タグを付けて issue を作成するだけでも構いません。 プロジェクトにスターを付けるのもお忘れなく!改めて、ありがとうございます!
- プロジェクトをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/AmazingFeature) - 変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします(
git push origin feature/AmazingFeature) - プルリクエストを作成します
(トップに戻る)
主なコントリビューター:
ライセンス
MIT ライセンスのもとで配布されています。詳しくは LICENSE をご覧ください。
(トップに戻る)
## ContactDaniil Vasilcovschii - LinkedIn - GitHub
Project Link: https://github.com/DV155/Statistik-Austria-MCP-Server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。