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

TableJSON 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 (1–500).
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

TableJSON 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.
noticeNoWhy 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. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds genuine behavior beyond that: pagination via cursor, that missing codes surface in not_found, that area_group exact lookups expand to member countries, and that matching is case/accents/punctuation-insensitive. It omits nothing critical and adds real context on a lower bar.

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?

Purpose and the enumeration of topics are front-loaded, and the second sentence's routing to ilostat_describe_indicator is high-value. The long comma-separated topic list overlaps with the schema enum, which is mild redundancy, but every clause is informative and no sentence is filler.

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?

With a rich 7-parameter schema, full coverage descriptions, and an output schema, the description need not explain return values. It covers topics, filtering, exact-code lookup, pagination, and sibling routing, leaving only minor gaps such as how next_cursor is returned.

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 coverage is 100%, so the baseline is 3. The description nonetheless adds meaning beyond the schema: the X01 aggregate convention for area_group, the ILO_GEO_ form tolerance, and which topics accept which lookup codes — useful disambiguation that the enum alone does not convey.

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?

States a specific verb and resource ('Decode ILOSTAT's code vocabulary') and enumerates exactly what gets listed (ref areas, groups, databases, subjects, sexes, breakdown codes, sources, flags, notes, frequencies). It explicitly distinguishes itself from the sibling ilostat_describe_indicator by contrasting ILOSTAT-wide vocabularies with the codes one dataset uses.

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

Usage Guidelines4/5

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

Names the two operating modes ('Filter by text or look up exact codes') and flags that long topics paginate with a cursor, plus the alternative tool for dataset-specific codes. It stops short of explicit when-not-to-use conditions (e.g., when a numeric query is the right call instead), so it falls just short of a 5.

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.