Skip to main content
Glama
SidneyBissoli

ILO Statistics (ILOSTAT) MCP Server

ILO労働統計(ILOSTAT)— MCPサーバー

MCP CI Version Tools Resources Prompts npm MCP Registry ilo-mcp-server MCP server License: MIT Status

🇧🇷 Leia em Português

公開・ホスト型・出典優先国際労働機関(ILO)統計用MCPサーバー — ILOSTATデータベース — インストール不要、アカウント不要、APIキー不要。MCPクライアントをホスト型エンドポイントに接続して、失業、雇用、賃金、労働時間、その他の労働指標を国、年、性別、年齢別に照会できます。Cloudflare Workers上でStreamable HTTP経由で動作し、公式のILOSTAT SDMX REST APIと通信します。

すべての応答には出典ブロック(ソースURL、データのビンテージ、実際の取得タイムスタンプ、ライセンス、ILO引用)が含まれます — トレーニングデータから推測された数値ではなく、監査証跡付きの正確な数値です。

使用方法(ホスト型 — セットアップ不要)

任意のMCPクライアントをStreamable HTTPエンドポイントに接続します:

https://ilo.sidneybissoli.com/mcp

Claude Desktop / Claude Codeおよびネイティブのリモートサポートを備えたその他のクライアント:

{
  "mcpServers": {
    "ilostat": {
      "url": "https://ilo.sidneybissoli.com/mcp"
    }
  }
}

MCPサーバーをコマンドとして起動するクライアントの場合は、mcp-remoteブリッジを使用します:

{
  "mcpServers": {
    "ilostat": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://ilo.sidneybissoli.com/mcp"]
    }
  }
}

ilo-mcp-server.sidneybissoli.workers.devホスト名もセカンダリとして提供されています。

Related MCP server: world-bank-economic-mcp

ローカル実行(stdio)

サードパーティのホストを経由してクエリをルーティングしたくない場合?同じサーバーローカルstdioプロセスとしても動作し、公式のILOSTAT APIに直接通信します — 同じ4つのツール、リソース、プロンプト、同じ制限、同じ出典ブロック、Cloudflareを介しません。

インストール不要 — パッケージはnpm(ilo-mcp-server、Node ≥ 20)にあります:

{
  "mcpServers": {
    "ilostat": {
      "command": "npx",
      "args": ["-y", "ilo-mcp-server"]
    }
  }
}

またはソースから:

git clone https://github.com/SidneyBissoli/ilo-mcp-server
cd ilo-mcp-server
npm install
npm run build
node dist/cli.js   # serves MCP over stdio (Ctrl+C to stop)

(その後、クライアントをnode /path/to/ilo-mcp-server/dist/cli.jsに接続します)。

ホスト型サーバーとの違いは、すべてCloudflareバインディングがないことに起因します:SDMXキャッシュはプロセスメモリ内に存在します(構造とコードリストはセッション内で再利用され、セッション間では再利用されません);検索カタログは最初の検索時に公式エンドポイントからダウンロードされます(実際のretrieved_atが出典に報告されます);使用量メトリクス、レート制限、認証はありません。ログはstderrに出力されます — stdoutはJSON-RPCストリームのみを運びます。リポジトリのDockerfileはこのランタイムをビルドします(Glamaレジストリで使用)。

ツール

ツール

機能

ソース

ilo_search_indicators

~1,210データフローに対するキーワード検索(offsetでページング)

ローカルカタログ(アップストリーム呼び出しなし)

ilo_get_indicator_metadata

データフローのディメンション、コードリスト、ビンテージ、デフォルト選択

キャッシュされた構造(ミス → アップストリーム)

ilo_list_dimension_values

1つのディメンションの有効なコード(offsetでページング)

キャッシュされたコードリスト(ミス → アップストリーム)

ilo_get_data

ディメンションと期間でフィルタリングされた観測値

クエリごとに1回のライブREST呼び出し

典型的なフロー:ilo_search_indicatorsilo_get_indicator_metadata / ilo_list_dimension_valuesで有効なフィルターコードを発見 → ilo_get_dataを国と期間のフィルターで使用。

すべての応答には出典ブロックv1.0@sbissoli/mcp-provenanceprovenance_modeパラメータによるconcise/detailedモード)が3つのチャネルで含まれます:structuredContent、名前空間付き_metacom.sidneybissoli.ilostat/*)、およびテキストフッター。

リソースとプロンプト

3つのリソース(静的、text/markdown、アップストリーム呼び出しなし)— クライアントがツールを呼び出す前にコンテキストに添付できます — ほとんどのセッションが「どのデータフロー、どのコード」に費やす2〜3回のディスカバリー呼び出しを節約します:

URI

コンテンツ

ilostat://guide

ツールのワークフロー、安定したコード規約(REF_AREA ISO3 + X-集計、SEXAGEFREQ、データフローIDサフィックス)、制限、レポートルール

ilostat://reference/key-dataflows

トピック別の検証済みデータフローID(失業、雇用、参加率、賃金、労働時間、インフォーマル雇用、NEET、SDG 8、生産性)

ilostat://reference/provenance

各出典フィールドの意味とILOの引用方法

3つのプロンプト — ツールを連鎖させ、引用ルールで終了する既製のワークフロー(引数は文字列;期間引数はオプション):

プロンプト

引数

結果

ilo_country_labour_profile

countrystart_periodend_period

1か国の労働市場プロファイル(失業、参加率、雇用比率、インフォーマル雇用、NEET、収入、労働時間)

ilo_compare_countries

countriesindicatorstart_periodend_period

1回のデータ呼び出しで国/集計間の比較表を作成し、モデル推定値と報告データをフラグ付け

ilo_indicator_trend

indicatorcountrystart_periodend_period

最初/最後、ピーク/トラフ、OBS_STATUSの切れ目を含む1つの指標の時系列

リソースとプロンプトで引用されているすべてのデータフローIDは、テストスイートによってカタログシードに対してチェックされるため、ドキュメントが検索で見つからないIDを指すことはありません。

動作と制限

  • ilo_get_dataではREF_AREAが必須で、1回の呼び出しで最大30地域。 ILOゲートウェイは無制限のクエリでタイムアウト(HTTP 504)するため、サーバーは決してそれを発行しません;広範なパネルの場合は、地域をバッチに分割し、および/または期間(start_period/end_period)でページングします。エラーメッセージにその方法が説明されています。

  • データクエリごとに1回のライブREST呼び出し。 データはキャッシュされません — すべてのilo_get_data結果はリクエスト時にILOSTATから取得されます。データフロー構造(TTL 24時間)とコードリスト(TTL 7日、データフロー間で共有)はキャッシュされます。

  • data_vintage は、ILOが公開したデータフローの最終更新日(LAST_UPDATE注釈、ISOに正規化)。

  • retrieved_atは常にILOSTATからの実際の抽出時点であり、キャッシュされた値とともに保持されます — ビルド時間や応答時間ではありません。キャッシュされた応答はその旨を示します(served_from_cache: true)。

  • 指標カタログはローカルスナップショット~1,210データフロー)で、定期的に更新されます;その独自のretrieved_atilo_search_indicatorsの出典に報告されるため、その古さは常に確認できます。

  • すべてのアップストリーム呼び出しには識別可能なUser-Agent(サービスURL + 連絡先)が含まれるため、ILO管理者はオペレーターに連絡できます。

  • 言語:英語;タイムゾーン:UTC(ILOデータは英語で公開されています)。

出典フィールド

  • derived — 実際の変換(集計、サーバー計算レート、補間、調和化)の場合のみtrueで、常にderivation_noteが付きます;単位変換と丸めはカウントされません。このサーバーは値を変換しないため、derivedは常にfalseです。

  • noticesOBS_STATUS(SDMXステータス/免責チャネル、例:「系列の切れ目」)の値をそのまま、カウント付きで再現します。技術的な観測値ごとの属性(DECIMALSなど)は行(rows[].attributes)に残ります。

データライセンスと帰属

  • ILOSTATデータとメタデータ:CC BY 4.0(2023-05-03以降;ライセンスは2026-08-04に検証済み)。

  • すべての応答におけるILO帰属(citationフィールド): International Labour Organization, ILOSTAT, https://ilostat.ilo.org/data/, accessed <date>.

  • ILOロゴは使用されていません。このサービスはILOによって承認されていません。

セルフホスティング / 開発

以下はすべて、独自のインスタンスを実行するためにのみ必要です — 公開サーバーを使用するために必要ではありません

npm install
npm run typecheck && npm test   # 96 offline tests (parsers, key, tools, output contract, resources/prompts, in-memory catalogue, eval fixtures)
npm run dev                     # http://localhost:8787/mcp (Worker)
npm run build && npm start      # stdio runtime (dist/cli.js)

# Catalogue seed (D1) — required before first use:
node scripts/seed-catalog.mjs   # downloads via curl and generates scripts/seed-catalog.sql
npx wrangler d1 execute ilostat-catalog --local  --file=scripts/seed-catalog.sql
npx wrangler d1 execute ilostat-catalog --remote --file=scripts/seed-catalog.sql

npm run deploy
node scripts/smoke-mcp.mjs      # smoke test against production (initialize → 4 tools → errors)
npm run manifest:lhm            # regenerate tools/resources/prompts in lhm.plugin.json from the real server
# (the seed also writes tests/fixtures/catalog-ids.txt — the versioned id list the tests check resources/prompts against)

バインディング(wrangler.jsoncを参照):KV SDMX_CACHE、D1 CATALOG_DB、Durable Object USAGE(SQLiteベースの使用量カウンター)、CF_VERSION_METADATA。オプションのBearer認証(wrangler secret put API_KEY);IPごとのトークンバケットレート制限。

オペレーター向けの注意事項:

  • ILOSTATは、Acceptヘッダー(application/vnd.sdmx.{structure,data}+json)を介してネゴシエートされた場合にのみJSONを返します;?format=は無視され、XMLを返します。

  • ILOゲートウェイは、Nodeのfetch(undici)がデフォルトで送信するAccept-Language: *ヘッダーに対してHTTP 500(languageTag1)で応答します;そのため、すべてのアップストリーム呼び出しは明示的にAccept-Language: enを設定します(Cloudflareのランタイムはそのようなヘッダーを送信しないため、Workerは影響を受けませんでした)。また、識別可能なUser-Agentも期待されます。

  • カタログ更新は手動(cronなし):四半期ごと、またはアップストリームに存在するデータフローが検索に表示されない場合は直ちに。手順:上記の3つのシードコマンド。データクエリは常にライブであるため、検索カタログのみが古くなる可能性があります — その古さは出典で公開されています。

評価

@sbissoli/mcp-evalsevals/fixtures/queries.tsに24のフィクスチャがあり、npm testでオフライン検証されます。実際のモデルでの実行(npm run eval)はAnthropic APIを使用し、ANTHROPIC_API_KEYが必要です(ない場合は、手順を示して終了します)。2026-08-07の実行:top-1 100%(24/24)evals/results/

エンドツーエンド: evals/e2e/evaluation.xml 内の単一の検証可能な回答を持つ複雑な質問10問。回答は本番環境に対して手動で検証済み(evals/e2e/validacao-respostas.md)。2026-08-07の実行(Sonnet): 9/10 完全一致文字列; 10/10 実質的evals/results/2026-08-07-e2e.md

エンドポイント

ルート

目的

/

ランディングページ(サービスID + 連絡先 — 公開)

/health

死活監視

/status

バージョン、ツール/リソース/プロンプトの数と名前、来歴契約バージョン、現在のデプロイ(READMEバッジに反映)

/metrics

集計された使用状況(MCPエンドポイントのみ、IPなし、クエリ内容なし)

/mcp

MCP Streamable HTTP

セキュリティ

Snyk Agent Scan(2026-08-07): 合格 — レポートは security/ にあります。

ライセンス

コード: MIT。データ: ILOSTAT、CC BY 4.0(上記の「データライセンスと帰属」を参照)。

プライバシー

ホスト型サービスのプライバシーポリシー: PRIVACY.md

連絡先

Sidney da S. P. Bissoli — sbissoli76@gmail.com。このサービスはILOによって承認されていません。

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • ILOSTAT (International Labour Organization statistics) MCP — global labour

  • DBnomics MCP — meta-aggregator over 80+ stats providers

  • Statistics Netherlands (CBS / StatLine) OData MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SidneyBissoli/ilo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server