Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ILO Labour Statistics (ILOSTAT): unemployment, wages, informality

REMOTE · ILO.SIDNEYBISSOLI.COM · 2 COMPONENTS

Labour market data from the ILO (ILOSTAT) by country, year, sex and age, with provenance.

0 this week 86 Trust /100

Last scanned (1 hour ago)

Scores higher than 93% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Data and Analytics

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2139 tokens (~237/item across 9 items; 6 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Stability: 0.97 → pass security
  • 4 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 28 Oct 26 0
    • Server version: 1.6.4 → 1.7.0 functional
  • 16 Oct 26 0
    • Server version: 1.6.3 → 1.6.4 functional
  • 15 Oct 26 0
    • Server version: 1.6.1 → 1.6.3 functional
  • 12 Oct 26 +1
    • Stability: fail → pass ▲ security
  • 10 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “ilo_get_data” rewrote its description, which is the text the model reads security
    • Server version: 1.4.1 → 1.6.1 functional
  • 3 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 88 to 92.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://ilo.sidneybissoli.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sidneybissoli.com CN=WE1,O=Google Trust Services,C=US 5 Oct 2026 4 Jan 2027 ECDSA 256 ECDSA-SHA256 688b2b0367a8e50513e0e9cae5cace57
SANs: sidneybissoli.com, ilo.sidneybissoli.com, *.ilo.sidneybissoli.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of ilo.sidneybissoli.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
sidneybissoli.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://ilo.sidneybissoli.com/mcp Verified 200
http (plaintext) http://ilo.sidneybissoli.com/mcp HTTPS enforced 301 https://ilo.sidneybissoli.com/mcp
MCP tools · 6 exposed · ~1,647 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
fetch ~169

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.

NameTypeReqDescription
idstringyesIdentifier of a document returned by `search`
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
idstringyesUnique identifier of the document on this server; what `fetch` takes
metadataobject–Additional key/value pairs about the document (kind, source, period…)
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
textstringyesFull readable content of the document (Markdown)
titlestringyesHuman-readable title of the document
urlstringyesCanonical public URL of the document — ChatGPT's citation depends on it

No examples provided.

ilo_get_data ~418

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): read each value with the unit and multiplier the ILO states in its row attributes (UNIT_MEASURE, UNIT_MULT — e.g. UNIT_MULT 3 = thousands). Read TIME_PERIOD with the FREQ column (annual, quarterly or monthly) and OBS_STATUS when present (break in series, estimated or provisional value). Values are the current release, dated by data_vintage (the dataflow LAST_UPDATE): the ILO revises published figures and re-estimates modelled series (_2 ids) at each release, past years included. Does not search indicators (use ilo_search_indicators).

NameTypeReqDescription
dataflowstringyesDataflow id from ilo_search_indicators (e.g. "DF_UNE_DEAP_SEX_AGE_RT")
end_periodstring–Last period, e.g. "2024"
filtersobjectyesDimension 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.
last_n_observationsinteger–Alternative to periods: only the latest N observations per series
provenance_modestring–Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)
start_periodstring–First period, e.g. "2015"
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
columnsarrayyesDimension ids of each row, in SDMX order, followed by value
dataflowobjectyesThe dataflow the observations come from
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
rowsarrayyesRaw ILOSTAT observations: one code per dimension, value (untransformed; read with UNIT_MULT) and, when present, attributes such as OBS_STATUS, UNIT_MEASURE and UNIT_MULT
rows_countnumberyesNumber of observations returned

No examples provided.

ilo_get_indicator_metadata ~162

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).

NameTypeReqDescription
dataflowstringyesDataflow id from ilo_search_indicators (e.g. "DF_UNE_DEAP_SEX_AGE_RT")
provenance_modestring–Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
data_vintagestring|nullyesLast update of the dataflow at the ILO (LAST_UPDATE, yyyy-MM-dd); null when absent
dimensionsarrayyesDimensions in SDMX key order, each with its codelist id; filter ilo_get_data by these ids
idstringyesDataflow id
namestring|nullyesDataflow name; null when the ILO gives none
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
time_dimensionstring|nullyesId of the time dimension (filtered via start_period/end_period); null when absent
versionstringyesDataflow version at the ILO

No examples provided.

ilo_list_dimension_values ~319

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).

NameTypeReqDescription
dataflowstringyesDataflow id the dimension belongs to
dimensionstringyesDimension id from ilo_get_indicator_metadata (e.g. "REF_AREA", "SEX")
limitinteger–Maximum codes returned (default 200)
offsetinteger–Codes to skip, for pagination (default 0)
provenance_modestring–Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)
searchstring–Case-insensitive filter on code id or label
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
codeliststringyesId of the codelist that enumerates the dimension (shared across dataflows)
dataflowstringyesDataflow id the dimension belongs to
dimensionstringyesDimension id
has_morebooleanyesTrue when more codes remain after this page
next_offsetnumber–Offset for the next page; present only when has_more is true
offsetnumberyesCodes skipped before this page
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
showingnumberyesCodes returned in this page
total_codesnumberyesCodes matching the search filter (or all codes), across every page
valuesarrayyesValid codes: id is the value for ilo_get_data filters, name is the ILO label

No examples provided.

ilo_search_indicators ~359

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.

NameTypeReqDescription
limitinteger–Maximum results (default 20)
offsetinteger–Results to skip, for pagination (default 0)
provenance_modestring–Provenance verbosity: 'concise' (default — source, url, vintage, retrieval date, citation, license) or 'detailed' (full canonical block with dataset, dimension key and notices)
querystringyesKeywords, matched against dataflow name and id (AND between terms)
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
has_morebooleanyesTrue when more matches remain after this page
hintstring–What to do next: how to narrow or page, or why nothing matched
indicatorsarrayyesMatching dataflows, highest ILO relevance weight first; use id with ilo_get_data
next_offsetnumber–Offset for the next page; present only when has_more is true
offsetnumberyesResults skipped before this page
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
showingnumberyesDataflows returned in this page
total_matchesnumberyesDataflows matching all terms, across every page
vocabulary_notesarray–Translations applied from everyday or US wording to ILO terms (e.g. labor → labour)

No examples provided.

search ~220

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.

NameTypeReqDescription
querystringyesSearch terms, natural language or keywords (accents and case are ignored)
NameTypeReqDescription
attributionarrayyesSource URLs the figures came from (the provenance source_url of each block), for linking the citation
provenance–yesPortfolio provenance block. concise (default): source, source_url, data_vintage, retrieved_at, retrieval, citation, license; detailed: the full canonical block (dataset, dimension_key, notices, serve…
resultsarrayyesMatching documents, in relevance order

No examples provided.

Install

How do I install the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server?

ILO Labour Statistics (ILOSTAT): unemployment, wages… is a hosted endpoint at https://ilo.sidneybissoli.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · ilo.sidneybissoli.com

# add to Claude Code
claude mcp add --transport http sidneybissoli-ilo-mcp-server 'https://ilo.sidneybissoli.com/mcp'
Common questions

What is the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server?

ILO Labour Statistics (ILOSTAT): unemployment, wages… is an MCP server listed in the public MCP registry as io.github.SidneyBissoli/ilo-mcp-server. Labour market data from the ILO (ILOSTAT) by country, year, sex and age, with provenance. This page covers its hosted endpoint (https://ilo.sidneybissoli.com/mcp).

Is the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server safe to use?

ILO Labour Statistics (ILOSTAT): unemployment, wages… scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server expose?

ILO Labour Statistics (ILOSTAT): unemployment, wages… exposes 6 tools: ilo_search_indicators, ilo_get_indicator_metadata, ilo_list_dimension_values, ilo_get_data, search, fetch. Their descriptions and schemas cost roughly 1,647 tokens of context every time the server is loaded.

Does the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server require authentication?

No. We connected to ILO Labour Statistics (ILOSTAT): unemployment, wages… without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the ILO Labour Statistics (ILOSTAT): unemployment, wages… MCP server still maintained?

ILO Labour Statistics (ILOSTAT): unemployment, wages… is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.