Skip to main content
Glama

ilostat-mcp-server

List ILOSTAT reference codes

ilostat_list_reference
Read-onlyIdempotent

Decode ILOSTAT's code vocabulary: reference areas (ISO3 countries and X-coded aggregates, with World Bank income group and ILO region), the groups that area_group accepts (X01 for every country, ILO regions and subregions, World Bank income groups; exact-code lookups list their member countries), databases, subjects, sex codes, breakdown codes for classif1/classif2 with their classification types, per-country data sources, observation status flags, note codes, and frequencies. Filter by text or look up exact codes; long topics page with a cursor. These are ILOSTAT-wide vocabularies; ilostat_describe_indicator lists the sex and breakdown codes one dataset actually uses.

Input Schema

NameRequiredDescriptionDefault
codesNoExact codes to look up (up to 100; case-insensitive, and ILO_GEO_ forms accepted for ref_areas and area_groups). Codes the topic lacks are listed in not_found. With topic area_groups, each group found also lists its member countries.
limitNoEntries per page, at most 500; a larger value, up to 10,000, is applied as 500 and the notice says so.
topicYesVocabulary to list: ref_areas, area_groups (the X codes area_group accepts), databases, subjects, sexes, classifications (classif1/classif2 codes), classification_types, sources, obs_status, notes, or frequencies.
cursorNoOpaque continuation token: the previous page's next_cursor, passed unchanged.
filterNoText filter: every word must match a word or word prefix of the code or label (case, accents, and punctuation ignored; labor matches labour). Omit to list the whole topic.
ref_areaNoTopic sources only: list the sources of this reference area (ISO3 or X code; case-insensitive, ILO_GEO_ forms accepted).
classification_typeNoTopic classifications only: keep codes of this classification type, the code prefix (AGE, ECO, EDU, …).

Output Schema

NameRequiredDescriptionDefault
capNoThe limit applied to this page.
errorNoPresent when the call failed. Absent on success.
shownNoEntries returned on this page.
topicNoThe topic listed.
totalNoEntries matching the filters, across all pages.
noticeNoThat a limit past the page cap was applied as the cap, why a filter with no searchable word was not applied, why nothing matched, that the cursor starts past the last entry, and how to reach the remaining pages — whichever apply, joined.
entriesNoThis page of decoded codes, ordered by code — except sexes, which keep the ILOSTAT dictionary's order (SEX_T first), and frequencies, listed annual, quarterly, monthly.
not_foundNoRequested codes the topic does not contain; present only when codes missed.
truncatedNoTrue when more entries remain beyond this page.
next_cursorNoPass as cursor to get the next page; absent on the last page.
catalog_as_ofNoISO timestamp the in-memory catalog was last confirmed current.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Entries per page (1–500)."New value: +"Entries per page, at most 500; a larger value, up to 10,000, is applied as 500 and the notice says so."
    • changedInput schema / properties / limit / maximum
      Previous value: -500New value: +10000
    • changedOutput schema / properties / notice / description
      Previous value: -"Why a filter with no searchable word was not applied, why nothing matched, that the cursor starts past the last entry, and how to reach the remaining pages — whichever apply, joined."New value: +"That a limit past the page cap was applied as the cap, why a filter with no searchable word was not applied, why nothing matched, that the cursor starts past the last entry, and how to reach the remaining pages — whichever apply, joined."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/closed-world, so the bar is lower; the description still adds real behavior: cursor pagination for long topics, the fact that exact-code lookups enumerate member countries for area_groups, and the clamp-and-notice behavior on oversized limits. It does not describe rate limits or failure modes, but that is a minor gap against the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then a long but load-bearing enumeration of the 11 topics, then the routing sentence. The topic list is dense and could be trimmed since the enum is in the schema, but every remaining sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the description still covers pagination, filtering semantics, cross-tool routing, and the special area_groups expansion. What is missing is only edge behavior (invalid topic, empty result shape), which the schema largely absorbs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description goes past that by spelling out the topic-to-parameter coupling (area_group membership, classif1/classif2 with classification types, sources per country) and by restating the filter's prefix/'labor' vs 'labour' matching semantics that make the filter actually usable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Decode ILOSTAT's code vocabulary') and then enumerates exactly which vocabularies are covered, including the trickier area_groups/classif1/classif2 cases. It also explicitly distinguishes itself from the sibling ilostat_describe_indicator, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the two selection modes ('Filter by text or look up exact codes'), notes the cursor case for long topics, and names the alternative tool with the condition that selects it ('ilostat_describe_indicator lists the sex and breakdown codes one dataset actually uses'). Nothing about when to reach for this tool is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.