mcpField
@
@altronis/sgdata mcp

@altronis/sgdata mcp

ローカル
altronis.sg法務・行政05 日前に更新

@altronis/sgdata mcp について

@altronis/sgdata-mcpは、シンガポール政府のデータセットを検索するMCPサーバーです。構造化された公共データを扱う分析担当者やAIクライアント向けに、厳選データ、リアルタイム情報、データ比較、可視化、自然言語ルーティング、CLIを提供します。

主な機能

  1. 01厳選データと任意のdata.gov.sgデータを検索
  2. 02企業、住宅、経済、公共サービスのデータ検索
  3. 03リアルタイムフィードとSingStatテーブルの取得
  4. 04データセット比較と時系列の可視化
  5. 05自然言語の質問をツールに振り分け
  6. 06MCPクライアントなしで使えるCLI

活用シーン

  1. 01企業情報や設立件数の傾向を調べる
  2. 02HDB転売価格やCOE価格を追跡する
  3. 03天気、空気質、駐車場の空き状況を確認する
  4. 04経済指標と犯罪データを比較する

MCP 対応

ローカルのstdioプロセスを通じて、MCP対応クライアントにシンガポール政府データのツールを公開します。ツールカタログとディスパッチ用ツールも備え、クライアントが公開するスキーマを絞れるようにします。

設定

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

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

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

パッケージ
npm@altronis/sgdata-mcp0.5.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@altronis/sgdata-mcp

シンガポール政府データの MCP サーバーです。87 個のツール — 厳選された 24 個のデータセット、SingStat テーブル 7 個、ライブのリアルタイムフィード 6 個、CLI モード、データの可視化、データセット横断クエリ、自然言語クエリに対応しています。 ACRA + HDB + URA + COE + CPI + GDP + 雇用 + IRAS + MAS の FX + MOE + ECDA + 観光 + 小売 + 人口 + 犯罪 + 健康 + エネルギー + ホーカー + 大気質 + 天気 + 駐車場 + リアルタイムのデング熱をカバーしています。 API キーは不要です。MCP が動作する環境ならどこでも実行できます。詳細な記事:https://altronis.sg/blog/sgdata-mcp

npm version license: MIT node MCP

@altronis/sgdata-mcp は、Claude、Cursor、Continue、その他の MCP 対応クライアントが、data.gov.sg からシンガポール政府のオープンデータ(企業登録、不動産、労働、物価、公共サービス、資本移動、犯罪、健康、人口統計、エネルギーなど)を直接クエリできるようにする MCP サーバーです。

お使いのマシン上でローカルの stdio プロセスとして動作します。ホスト型バックエンドも API キーも不要です。小規模な厳選データセットは ~/.sgdata-mcp/sgdata.sqlite にローカルキャッシュされます。大規模なデータセット(ACRA、HDB の中古住宅販売)とリアルタイムフィードは、data.gov.sg にサーバー側からクエリするため、データセット全体がディスクにダウンロードされることはありません。

v0.5.5: コンテキストが小さいクライアント向けの補助ツールを 2 つ追加しました。sg_tool_catalog はツールを一覧表示し(キーワードで絞り込むと入力スキーマを取得できます)、sg_dispatch は名前を指定して任意のツールを呼び出します。これにより、クライアントは 87 個すべてのスキーマではなく、この 2 つだけを公開できます。ディスパッチされた呼び出しも、直接呼び出す場合と同じく、対象ツールのスキーマに照らして検証されます。

v0.5.0: 新しいツールを 13 個追加し、フットプリントを縮小しました。リアルタイムフィード — sg_psi(大気質)、sg_weather_forecast、sg_air_temperature、sg_rainfall、sg_carpark_availability、sg_dengue_clusters(ライブ NEA クラスター — 凍結された週次速報フィードではなく、現在のデング熱の状況)。SingStat テーブル — sg_household_income、sg_wages、sg_deaths、sg_marriages、sg_divorces、sg_trade、sg_labour_force。sg_search_datasets が実際に検索するようになりました(data.gov.sg の q パラメーターは上流で何もしないため、キャッシュしたカタログをローカルで絞り込みます)。ACRA + HDB 中古住宅販売のツールは、完全な 56 MB / 23 MB のデータセットを取り込む代わりに、サーバー側の datastore_search にクエリするようになりました — 数 GB に及ぶローカルキャッシュは不要です。FX ツールも修正しました(上流のメタデータエンドポイントが 404 を返すため、datastore_search を使ってライブデータを読み取るようになりました)。

⚠️ sg_acra_formations_by_ssic は負荷の高いツールです。 ACRA の SSIC + 年によるフィルターはサーバー側に渡せないため、レート制限時のバックオフを挟みながら 27 個のシャードをクロールします — 約 1〜3 分かかります。また、古い年では件数が下限値となります(bounded: true)。SSIC 別の法人設立件数をすばやく調べるには、代わりに SingStat の sg_formations_history / sg_formations_compare / sg_formations_monthly ツールを使用してください。

v0.4.1: sg_dataset_query が非常に大きなデータセットで応答しなくなる問題を解消しました(datastore_search によるサイズに応じたサーバー側ページング + 60 秒の取り込みガード)。sg_fx_rate / sg_fx_history が ISO 通貨コード(USD、GBP、JPY、EUR、…)を受け付けるようになりました。sg_tourism_latest が data_freshness を出力するようになりました(上流データは 2014 年で止まっています)。また、_history ツールは一致する結果がない場合、呼び出し元が自力で修正できるよう、利用可能なラベルの一覧を返すようになりました。

v0.4.0 の主な変更点: すべての _latest ツールが data_freshness メタデータブロックを出力するようになりました — last_period、last_record_date、age_days、および fresh / ok / stale / frozen のいずれかを示すカテゴリ別の level により、エージェントは上流の data.gov.sg フィードが停止したことを検知できます。sg_disease_latest のデータが古くなっているにもかかわらず通知されない問題を修正しました(MOH は epi week 2022-W52 前後に、data.gov.sg を通じた「Weekly Infectious Disease Bulletin」の公開を停止しました)。 v0.3.2: SingStat Table Builder による、月次の企業設立・廃業・純増ツールです。任意の SSIC 業種について、企業の設立と廃業を月ごとに追跡できます。ツールは合計 74 個です。

v0.3.1: SingStat Table Builder による、業種別の年間設立件数です。

v0.3.0: 8 つの新しいデータセット、CLI モード、ASCII スパークラインによる可視化、データセットをまたぐ相関クエリ、自然言語によるクエリのルーティングを追加しました。

データの鮮度

@altronis/sgdata-mcp のデータ鮮度は、data.gov.sg の更新状況に依存します。毎週更新されるデータセット(COE 入札、CPI)もあれば、毎月更新されるもの(失業率、CPI の内訳項目)、四半期ごとに更新されるもの(URA の民間不動産)、実質的に更新が停止しているものもあります。v0.4.0 以降、各 _latest ツールは data_freshness ブロックを返すため、プログラムからデータの陳腐化を検出できます。

{
  "datasetId": "d_ca168b2cb763640d72c4600a68f9909e",
  "epi_week": "2022-W52",
  "cases": [...],
  "data_freshness": {
    "last_period": "2022-W52",
    "last_record_date": "2023-01-01",
    "age_days": 1234,
    "level": "frozen",
    "warning": "Upstream dataset appears frozen — latest record is 2022-W52..."
  }
}

更新が停止していることが確認されているデータセット(v0.4.1 時点):

ツール上流データセット最終更新推奨される対応
sg_disease_latest、sg_disease_trend、sg_disease_listMOH の週刊感染症速報2022-W52moh.gov.sg の週刊速報 PDF と照合してください。最新のデータソースへの差し替えを提案するプルリクエストを歓迎します。
sg_tourism_latest、sg_tourism_historySTB の年間観光収入2014新しい観光収入について、stb.gov.sg/SingStat と照合してください。プルリクエストを歓迎します。

ほかにも上流データフィードの更新が停止していることに気づいた場合は、イシューを作成してください。この表に追加し、ツールの説明にも警告を表示します。


Claude に質問できること

このサーバーを Claude Desktop に追加すれば、すぐに次のような質問ができるようになります。

  • 「2025 年にシンガポールで設立された AI/ML 企業(SSIC 62019)をすべて探してください。」
  • 「過去 6 か月間のポンゴルにおける HDB の 4 部屋住戸の中古販売価格の中央値はいくらですか?」
  • 「最新の COE カテゴリー A の落札価格はいくらですか?過去 12 か月の推移も教えてください。」
  • 「今週、デング熱の症例は何件報告されましたか?」
  • 「シンガポールの失業率はいくらですか?推移も表示してください。」
  • 「過去 5 年間の GDP 成長率と犯罪率を比較してください。」
  • 「2024 年に記録された詐欺事件は何件ですか?」
  • 「シンガポールの人口と、その増加速度を教えてください。」
  • 「先月、シンガポールではどれだけの電力が発電されましたか?」
  • 「出生率は低下していますか?過去 12 か月分を表示してください。」
  • 「シンガポールの観光収入を項目別に教えてください。」
  • 「タンピネス付近のホーカーセンターを探してください。」
  • 「総合インフレ率と比べて、どの CPI カテゴリーの上昇が最も顕著ですか?」
  • 「UEN 196800306E で DBS Bank を検索してください。」

モデルが適切なツールを選び、フィルターを設定して、構造化された行データを返します。URL を自分で書く必要はありません。


クイックスタート

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。

{
  "mcpServers": {
    "sg-data": {
      "command": "npx",
      "args": ["-y", "@altronis/sgdata-mcp"]
    }
  }
}

Claude Desktop を再起動します。MCP ツールメニューに 74 個の sg_* ツールが表示されます。

Cursor

~/.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "sg-data": {
      "command": "npx",
      "args": ["-y", "@altronis/sgdata-mcp"]
    }
  }
}
Claude Code
claude mcp add sg-data -- npx -y @altronis/sgdata-mcp
CLI モード(v0.3.0 で追加)

MCP クライアントを使わず、ターミナルからシンガポールのデータを直接クエリできます。

# Natural language query
npx @altronis/sgdata-mcp query "What is Singapore's unemployment rate?"
npx @altronis/sgdata-mcp query "How many dengue cases this week?"
npx @altronis/sgdata-mcp query "Latest COE prices"

# Call a specific tool
npx @altronis/sgdata-mcp tool sg_crime_compare '{"year":"2024"}'
npx @altronis/sgdata-mcp tool sg_hawker_search '{"query":"bedok"}'

# List available tools and datasets
npx @altronis/sgdata-mcp list
npx @altronis/sgdata-mcp datasets
スタンドアロン(気軽に試す)
# Run the MCP server directly
npx -y @altronis/sgdata-mcp

# Smoke-test via stdio
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | npx -y @altronis/sgdata-mcp

パッケージの内容

データセット(24)
#データセット機関ツール
1ACRA Corporate Entities(約200万件以上)ACRA3
2HDB 再販フラット価格(2017年以降)HDB2
3COE 入札結果LTA3
4MOE 学校MOE3
5HDB 駐車場情報HDB3
6GDP 前年比成長率(四半期)SingStat3
7消費者物価指数(月次)SingStat3
8MOM 中央値総月収MOM2
9セクター別雇用(年次)SingStat3
10URA 民間住宅取引URA3
11海外からの訪問者数STB3
12小売売上高指数(月次)SingStat3
13MAS 為替レート(月平均)MAS3
14IRAS 税収(年次)IRAS3
15ECDA 保育所・幼稚園ECDA3
16失業率(四半期)MOM2
17人口指標(年次)SingStat2
18感染症の症例数(週次)MOH3
19発電量(月次)EMA2
20性別・民族別出生数(月次)SingStat2
21記録された犯罪件数(年次)SPF3
22観光収入(年次)STB2
23政府運営のホーカーセンターNEA2
24事業体の設立・廃止ACRA/DOS6

さらに、汎用フォールバックツール3つ、可視化ツール1つ、データセット横断ツール2つ、自然言語クエリツール1つがあります。合計74ツールです。v0.5.0で追加された6つのリアルタイムフィードと7つのSingStatテーブルにより、データツールは87個となり、v0.5.5のヘルパー2つが加わります。


v0.3.0の新機能
データの可視化 — sg_visualize

あらゆる時系列データからASCIIスパークラインチャートと要約統計を生成します。 スパークライン、最小値/最大値/平均値/最新値、期間ごとの変化率、および フロントエンドでの描画に対応したJSONを返します。

SG Unemployment Rate (SA): ▁█████▄▄████
Latest: 2 % | Change: +0 (+0%) | Range: 1.8–2 | Mean: 1.97
データセット横断クエリ — sg_cross_dataset

任意の2つのデータセットを時系列で並べて比較します。異なる時間粒度(月次、四半期、年次)は 自動的に揃えられます。

{
  "dataset_a": "cpi_monthly",
  "dataset_b": "retail_sales",
  "limit": 5
}

相関分析用に、両方の値を含む、期間を揃えた行を返します。

自然言語クエリ — sg_ask

平易な英語で質問すると、ツールが適切なデータセットに 自動的に振り分けます。

"What is Singapore's unemployment rate?" → sg_unemployment_latest
"How many dengue cases?" → sg_disease_latest
"COE prices" → sg_coe_latest
"Crime statistics" → sg_crime_latest
CLIモード — MCPクライアント不要

ターミナルから直接データをクエリできます。

sgdata-cli query "Singapore population growth"
sgdata-cli tool sg_crime_compare '{"year":"2024"}'
sgdata-cli datasets

ツール(87個+ヘルパー2つ)

以下の表には74個のツールを掲載しています。v0.5.0で追加された13個は上部に記載されています。

メタツール
ツール説明
sg_tool_catalogツールとその説明を一覧表示します。キーワードで絞り込むと、各ツールの入力スキーマを取得できます
sg_dispatch任意のツールを名前で呼び出し、JSON引数オブジェクトをそのツールのスキーマと照合します
sg_ask自然言語クエリ — シンガポールのデータについて、平易な英語で質問できます
sg_visualize任意の数値系列からASCIIスパークライン、要約統計、描画対応JSONを生成します
sg_cross_dataset期間を自動的に揃えて、2つのデータセットを時系列で比較します
sg_list_datasetsID、名称、機関名を含む、厳選された24のデータセットを一覧表示します
汎用ツール — data.gov.sgのあらゆるデータセット
ツール説明
sg_search_datasetsdata.gov.sgのすべてのデータセットを全文検索して見つけます
sg_dataset_schema任意のデータセットIDについて、列ラベル、機関、形式を取得します
sg_dataset_query任意のデータセットをフィルター付きでクエリします。自動ダウンロードとキャッシュに対応します
厳選データセットのツール(67)

ACRA(3):sg_acra_search_entities、sg_acra_get_entity、sg_acra_formations_by_ssic

HDB Resale(2):sg_hdb_resale_search、sg_hdb_resale_stats

COE(3):sg_coe_latest、sg_coe_history、sg_coe_demand_supply

MOE Schools(3):sg_moe_search_schools、sg_moe_school_by_name、sg_moe_schools_near

HDB Carparks(3):sg_hdb_carpark_lookup、sg_hdb_carparks_by_address、sg_hdb_carparks_by_type

GDP(3):sg_gdp_latest、sg_gdp_history、sg_gdp_industry_compare

CPI(3):sg_cpi_latest、sg_cpi_history、sg_cpi_yoy

Income(2):sg_median_income_lookup、sg_median_income_history

Employment(3):sg_employment_by_sector、sg_employment_sector_history、sg_employment_growth

URA Property(3):sg_ura_private_txn_latest、sg_ura_private_txn_history、sg_ura_new_sale_pipeline

Visitor Arrivals(3):sg_visitors_latest、sg_visitors_history、sg_visitors_top_sources

Retail Sales(3):sg_retail_sales_latest、sg_retail_sales_history、sg_retail_sales_yoy

MAS FX(3):sg_fx_rate、sg_fx_history、sg_fx_basket

IRAS Tax(3):sg_iras_collection、sg_iras_collection_history、sg_iras_tax_mix

ECDA Childcare(3):sg_ecda_search_centres、sg_ecda_centres_near、sg_ecda_vacancy_summary

Unemployment(2):sg_unemployment_latest、sg_unemployment_history

Population(2):sg_population_latest、sg_population_history

Disease/Health(3):sg_disease_latest、sg_disease_trend、sg_disease_list

Electricity(2):sg_electricity_latest、sg_electricity_history

Births(2):sg_births_latest、sg_births_history

Crime(3):sg_crime_latest、sg_crime_history、sg_crime_compare

Tourism(2):sg_tourism_latest、sg_tourism_history

Hawker Centres(2):sg_hawker_search、sg_hawker_stats

Business Formations & Cessations(6):sg_formations_latest、sg_formations_history、sg_formations_compare、sg_formations_monthly、sg_cessations_monthly、sg_net_formations


アーキテクチャ

┌─────────────────┐    spawn    ┌──────────────────────┐
│ Claude Desktop  │ ──────────▶ │ sgdata-mcp (node)   │
│ /Cursor/Code    │ ◀── stdio ─▶│ runs on your machine │
└─────────────────┘             └──────┬───────────────┘
                                       │ HTTPS (first fetch only)
                                       ▼
                              api.data.gov.sg/v2/...
                                       │
                                       ▼
                            ~/.sgdata-mcp/sgdata.sqlite
                            (shared local SQLite cache)

キャッシュポリシー

  • 保存場所。 デフォルトは ~/.sgdata-mcp/sgdata.sqlite です。
  • 変更方法。 SGDATA_MCP_CACHE_DIR=/custom/path を設定します。
  • 更新頻度。 データセットごとに異なります。ECDA は毎日、HDB/COE/疾病は毎週、ACRA/CPI/GDP/為替/小売/訪問者数/出生/電力は毎月、MOE/URA/雇用/失業は四半期ごと、IRAS/所得/犯罪/人口/観光は毎年更新されます。
  • 削除。 rm ~/.sgdata-mcp/sgdata.sqlite を実行すると、次のクエリ時に再構築されます。
  • ディスク容量。 ACRA を含む場合は約 480 MB、含まない場合は 20 MB 未満です。

比較

@altronis/sgdata-mcpsgdata-mcp(vdineshk 作)
ツール745
対応範囲企業登記、不動産、物価、労働、観光、為替、税、公的サービス、犯罪、健康、人口統計、エネルギーリアルタイムの天気、交通、駐車場の空き状況
CLI モードありなし
データ可視化あり(スパークライン+チャート対応 JSON)なし
複数データセットにまたがるクエリありなし
自然言語クエリのルーティングありなし
キャッシュあり(SQLite)なし
API キー不要不要

両方のパッケージは互いに補完し合います。全体像を把握するには、両方をインストールしてください。


免責事項

このツールは、data.gov.sg からデータを取得してキャッシュします。 取り込み時にはデータの完全性を保つよう注意を払っていますが、データに基づいて判断する前に、必ずご自身でデータを確認してください。

  • データの正確性。 すべてのデータは、data.gov.sg を通じてシンガポール政府機関から提供されています。元データの値は変更しませんが、列のマッピング、横持ちから縦持ちへの変換、キャッシュにより、差異が生じる場合があります。重要な数値は必ず公式ソースと照合してください。
  • 専門的な助言ではありません。 このツールは、金融、法律、医療、政策に関する専門的な助言に代わるものではありません。GDP の数値、犯罪統計、疾病数、不動産価格、その他のデータは、情報提供のみを目的としています。
  • データの古さ。 キャッシュされたデータは、データセットの更新間隔に応じて、ソースより数時間から数週間遅れている場合があります。最新性が重要な場合は、ingestedAt のタイムスタンプを確認してください。
  • 保証なし。 このソフトウェアは、いかなる種類の保証もなく、MIT ライセンスのもとで「現状のまま」提供されます。

よくある質問

API キーは必要ですか? いいえ。data.gov.sg のオープンデータは公開されています。

データはどこに保存されますか? お使いのマシン上の ~/.sgdata-mcp/sgdata.sqlite に保存されます。

データはどのくらいの頻度で更新されますか? データセットごとに異なり、毎日から毎年までさまざまです。

本番環境で使用できる状態ですか? はい。87 個のツールがあり、すべて実際のデータを使ってテスト済みです。 問題があれば、GitHub で報告してください。

独自のデータセットを追加できますか? はい。汎用ツールでその場限りのクエリを実行するか、src/datasets/ にハンドラーを追加する PR を作成してください。


ライセンス

MIT

帰属表示

data.gov.sg の情報を、Singapore Open Data Licence v1.0 に基づいて使用しています。


貢献

バグを見つけましたか? データセットを追加したいですか? GitHub で issue または PR を作成してください。

コメント

MCP は初めてですか?

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

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