Remote MCP server for ILOSTAT, the ILO labour statistics database: unemployment, employment, earnings (wages), working time and informality by country, year, sex and age — hosted, nothing to install, no API key, with source URL, data vintage, retrieval timestamp and licence on every answer.
Strong foundation with clear naming, comprehensive descriptions, and proper schema definitions. All 6 tools follow verb_noun patterns (search, get, list, fetch). Descriptions average ~150 chars and explain purpose, prerequisites, and return structure. Input schemas are complete with types and parameter descriptions. Tool annotations (readOnlyHint) are present. Main gaps: output schemas are not formally documented in the source; error handling guidance is minimal; no batch variants for tools agents might call in loops.
Retrieve the full content of a document from the ILOSTAT corpus using its ID (prefixed with 'ind:') as returned by the search tool. Part of the ChatGPT Deep Research contract.
Retrieve statistical observations from an ILOSTAT dataflow with optional filters by country, sex, age, frequency, and time period. Returns data with source URL, vintage, and retrieval timestamp.
Retrieve the structure and metadata of an ILOSTAT dataflow: dimensions (REF_AREA, SEX, AGE, FREQ, etc.), their codes, data vintage, last update timestamp, and frequency information.
List all valid codes and categories for a specific dimension in an ILOSTAT dataflow (e.g., country codes for REF_AREA, age groups for AGE, sex categories for SEX).
Search the ILOSTAT catalogue of dataflows by keyword, theme, or indicator name. Returns matching dataflows with their IDs, names, and descriptions for use with ilo_get_data.
Search the ILOSTAT corpus for documents matching a query. Returns document IDs with the 'ind:' prefix for use with the fetch tool. Part of the ChatGPT Deep Research contract.
Generic tool names 'search' and 'fetch' lack domain context. LLMs may confuse them with other search/fetch tools. Should be 'search_ilostat_corpus' and 'fetch_ilostat_document' for clarity.
Output schemas not formally documented in source code. While descriptions mention return structure (e.g., 'Returns matching dataflows with their IDs, names, and descriptions'), no explicit JSON Schema for response objects is visible. LLMs cannot reliably parse response structure.
No error handling guidance in tool descriptions. Tools do not document what errors are retryable, what user-fixable errors look like, or recovery steps. E.g., 'ilo_get_data' does not explain what happens if dataflow_id is invalid or if filters produce no results.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
Parameter 'limit' in ilo_search_indicators and ilo_list_dimension_values lacks validation guidance. Descriptions state 'max 100' but do not explain what happens if LLM passes 150, or whether the tool silently caps or errors.
No batch variants. Agents calling ilo_get_data for multiple countries/years must make sequential calls. A batch variant accepting arrays would reduce token waste and latency.