ILO Labour Statistics (ILOSTAT): unemployment, wages, informality
Labour market data from the ILO (ILOSTAT) by country, year, sex and age, with provenance.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"ilo-mcp-server": {
"command": "npx",
"args": [
"ilo-mcp-server"
]
}
}
}실행 가능한 패키지
1.1.0stdio원격 엔드포인트
https://ilo.sidneybissoli.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢ilo_search_indicators(query, limit, offset, provenance_mode)
Search the ILOSTAT catalogue of ~1,200 indicator dataflows by keywords in the name or id (e.g. "unemployment rate sex age"). All terms must match (AND, case-insensitive), so start with 2–3 English words and drop terms if you get 0 results. Everyday and US wording is resolved to the ILO's own (labor→labour, wages/salary→earnings, informality→informal, gender→sex, productivity→output per worker); when that happens the response says so in vocabulary_notes. Results are ranked by ILO relevance weight, not by match count. Reading the id tells you the shape: suffix _RT = rate/ratio, _NB = number (usually thousands); dataflows whose second token starts with 2 (e.g. DF_UNE_2EAP_…) are ILO modelled estimates with full country/year coverage, the others are reported national data. Returns dataflow ids to use with ilo_get_data / ilo_get_indicator_metadata. Searches the local catalogue only — it does not return statistical values (use ilo_get_data), does not search dimension codes such as countries (use ilo_list_dimension_values) and does not cover non-ILO sources.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Keywords, matched against dataflow name and id (AND between terms)"
},
"limit": {
"description": "Maximum results (default 20)",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Results to skip, for pagination (default 0)",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"provenance_mode": {
"description": "Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)",
"type": "string",
"enum": [
"concise",
"detailed"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"total_matches": {
"type": "number"
},
"showing": {
"type": "number"
},
"offset": {
"type": "number"
},
"indicators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"id",
"name",
"version"
],
"additionalProperties": false
}
},
"has_more": {
"type": "boolean"
},
"next_offset": {
"type": "number"
},
"vocabulary_notes": {
"type": "array",
"items": {
"type": "string"
}
},
"hint": {
"type": "string"
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"total_matches",
"showing",
"offset",
"indicators",
"has_more",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢ilo_get_indicator_metadata(dataflow, provenance_mode)
Structure of one ILOSTAT dataflow: dimensions (in SDMX key order), their codelists, the time dimension, the source's default selection and the data vintage (last update at the ILO). Use before ilo_get_data to know which filters exist. Does not return statistical values and does not list the codes themselves (use ilo_list_dimension_values).
입력 스키마
{
"type": "object",
"properties": {
"dataflow": {
"type": "string",
"minLength": 1,
"description": "Dataflow id from ilo_search_indicators (e.g. \"DF_UNE_DEAP_SEX_AGE_RT\")"
},
"provenance_mode": {
"description": "Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)",
"type": "string",
"enum": [
"concise",
"detailed"
]
}
},
"required": [
"dataflow"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"dimensions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"codelist": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"codelist"
],
"additionalProperties": false
}
},
"time_dimension": {
"type": [
"string",
"null"
]
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"version",
"name",
"data_vintage",
"dimensions",
"time_dimension",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢ilo_list_dimension_values(dataflow, dimension, search, limit, offset, ...)
Valid codes (id + label) of one dimension of an ILOSTAT dataflow — e.g. the country/area codes of REF_AREA (ISO 3166-1 alpha-3 such as BRA, plus X-codes for aggregates such as X01 World) or the categories of SEX (SEX_T/SEX_M/SEX_F) and AGE. Use `search` to resolve a name to a code (e.g. search "Brazil") instead of paging through hundreds of codes; codelists are shared across dataflows, so a code found here is valid wherever the same codelist is used. Use to build correct ilo_get_data filters. Does not return statistical values, does not say which codes actually have data for a given dataflow, and is not applicable to the time dimension (filter it via start_period/end_period in ilo_get_data).
입력 스키마
{
"type": "object",
"properties": {
"dataflow": {
"type": "string",
"minLength": 1,
"description": "Dataflow id the dimension belongs to"
},
"dimension": {
"type": "string",
"minLength": 1,
"description": "Dimension id from ilo_get_indicator_metadata (e.g. \"REF_AREA\", \"SEX\")"
},
"search": {
"description": "Case-insensitive filter on code id or label",
"type": "string",
"minLength": 1
},
"limit": {
"description": "Maximum codes returned (default 200)",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "Codes to skip, for pagination (default 0)",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"provenance_mode": {
"description": "Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)",
"type": "string",
"enum": [
"concise",
"detailed"
]
}
},
"required": [
"dataflow",
"dimension"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"dataflow": {
"type": "string"
},
"dimension": {
"type": "string"
},
"codelist": {
"type": "string"
},
"total_codes": {
"type": "number"
},
"showing": {
"type": "number"
},
"offset": {
"type": "number"
},
"values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}
},
"has_more": {
"type": "boolean"
},
"next_offset": {
"type": "number"
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dataflow",
"dimension",
"codelist",
"total_codes",
"showing",
"offset",
"values",
"has_more",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢ilo_get_data(dataflow, filters, start_period, end_period, last_n_observations, ...)
Statistical observations from one ILOSTAT dataflow, filtered by dimension codes (filters, e.g. {"REF_AREA": ["BRA","ARG"], "SEX": "SEX_T"}) and period (start_period/end_period, e.g. "2015"/"2024"). REF_AREA is required, maximum 30 areas per call — for broad panels, split areas into batches and/or paginate by period. Unfiltered dimensions return all their categories. Does not aggregate, convert or otherwise transform values (raw ILOSTAT data only), and does not search indicators (use ilo_search_indicators).
입력 스키마
{
"type": "object",
"properties": {
"dataflow": {
"type": "string",
"minLength": 1,
"description": "Dataflow id from ilo_search_indicators (e.g. \"DF_UNE_DEAP_SEX_AGE_RT\")"
},
"filters": {
"type": "object",
"properties": {
"REF_AREA": {
"anyOf": [
{
"type": "string"
},
{
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Area codes — REQUIRED, at most 30 per call (e.g. [\"BRA\",\"ARG\"]). Without them the ILO gateway times out (HTTP 504). Discover codes with ilo_list_dimension_values (dimension REF_AREA)."
}
},
"required": [
"REF_AREA"
],
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": "Dimension id → code or list of codes (from ilo_list_dimension_values). REF_AREA is required (up to 30 area codes); any other dimension is optional and, left out, returns all of its categories."
},
"start_period": {
"description": "First period, e.g. \"2015\"",
"type": "string",
"minLength": 1
},
"end_period": {
"description": "Last period, e.g. \"2024\"",
"type": "string",
"minLength": 1
},
"last_n_observations": {
"description": "Alternative to periods: only the latest N observations per series",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"provenance_mode": {
"description": "Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)",
"type": "string",
"enum": [
"concise",
"detailed"
]
}
},
"required": [
"dataflow",
"filters"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"dataflow": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"rows_count": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dataflow",
"columns",
"rows_count",
"rows",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢search(query)
Searches the ILOSTAT labour statistics (≈1,200 SDMX dataflows: employment, unemployment, wages, working time, informality, SDG labour indicators) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched). This tool exists for the OpenAI Deep Research contract: ChatGPT deep research, company knowledge and research workflows over the Responses API require exactly the tools `search` and `fetch`. Pass one of the returned ids to `fetch` to read the document. For direct questions and for data (values, series, rankings) prefer the `ilo_*` tools, which return the actual data with provenance — this is a catalog index, not a data query. Query: natural language or keywords, Portuguese or English; accents and case are ignored. Behavior: read-only and idempotent — the catalog comes from the public source and is cached in memory.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search terms, natural language or keywords (accents and case are ignored)"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Unique identifier of the document on this server; what `fetch` takes"
},
"title": {
"type": "string",
"description": "Human-readable title of the document"
},
"url": {
"type": "string",
"description": "Canonical public URL of the document — ChatGPT's citation depends on it"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
},
"description": "Matching documents, in relevance order"
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"results",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
Returns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite. Companion of `search` in the OpenAI Deep Research contract, over the ILOSTAT labour statistics (≈1,200 SDMX dataflows: employment, unemployment, wages, working time, informality, SDG labour indicators) catalog. Only ids returned by `search` are valid; an unknown id returns an error. The `ilo_*` tools remain the tools for data queries. Behavior: read-only and idempotent — a live GET against the public source when the document needs it.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier of a document returned by `search`"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Unique identifier of the document on this server; what `fetch` takes"
},
"title": {
"type": "string",
"description": "Human-readable title of the document"
},
"text": {
"type": "string",
"description": "Full readable content of the document (Markdown)"
},
"url": {
"type": "string",
"description": "Canonical public URL of the document — ChatGPT's citation depends on it"
},
"metadata": {
"description": "Additional key/value pairs about the document (kind, source, period…)",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"provenance": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"source_url": {
"type": "string"
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"citation": {
"type": "string"
},
"license": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"source_url",
"data_vintage",
"retrieved_at",
"retrieval",
"citation",
"license"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contract_version": {
"type": "string",
"const": "1.1"
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"agency": {
"type": [
"string",
"null"
]
},
"database": {
"type": [
"string",
"null"
]
},
"endpoint": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"agency",
"database",
"endpoint"
],
"additionalProperties": false
},
"dataset": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"name"
],
"additionalProperties": false
},
"dimension_key": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
"api_version": {
"type": [
"string",
"null"
]
},
"license": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
},
"terms_url": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"url",
"terms_url",
"verified_at"
],
"additionalProperties": false
},
"citation": {
"type": "string"
},
"notices": {
"type": "array",
"items": {
"type": "string"
}
},
"derived": {
"type": "boolean"
},
"derivation_note": {
"type": [
"string",
"null"
]
},
"served_from_cache": {
"type": [
"boolean",
"null"
]
},
"retrieval": {
"anyOf": [
{
"type": "object",
"properties": {
"requests": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"attempts": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"anomalies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"timeout",
"network",
"http_4xx",
"http_5xx",
"rate_limited",
"malformed_body"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"kind",
"count"
],
"additionalProperties": false
}
},
"unstable": {
"type": "boolean"
}
},
"required": [
"requests",
"attempts",
"anomalies",
"unstable"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"field_sources": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": "string"
},
"dataset_id": {
"type": [
"string",
"null"
]
},
"data_vintage": {
"type": [
"string",
"null"
]
},
"retrieved_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"fields",
"source_url",
"dataset_id",
"data_vintage",
"retrieved_at"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"contract_version",
"source",
"dataset",
"dimension_key",
"data_vintage",
"retrieved_at",
"source_url",
"api_version",
"license",
"citation",
"notices",
"derived",
"derivation_note",
"served_from_cache",
"retrieval",
"field_sources"
],
"additionalProperties": false
}
],
"description": "Provenance block (contract v1.1). concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, served_from_cache, ...). retrieval is the origin diagnostic of this call — requests made to ILOSTAT, attempts including retries, anomalies overcome (timeout, network, rate_limited, http_5xx, http_4xx, malformed_body) and unstable (true when anything had to be retried: treat the figures as obtained with difficulty); null when nothing was fetched from ILOSTAT (catalogue or cached answer)"
},
"attribution": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"title",
"text",
"url",
"provenance",
"attribution"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거