原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Ilostat MCP Server

作者:cyanheads版本 0.3.0i★ –i电脑或云端
注册名称io.github.cyanheads/ilostat-mcp-server

安装

概览

作者提供的说明(英文原文)

Search ILOSTAT labour indicators, query and compare series, build country profiles, run SQL.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:3 项中通过 3 项
  • 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
  • 可以做 8 件事(工具) ilostat_search_indicators, ilostat_describe_indicator, ilostat_query_indicator, ilostat_get_country_profile …
  • 需要你自己填写: ILOSTAT_CATALOG_REFRESH_HOURS, ILOSTAT_MAX_ROWS, ILOSTAT_PREVIEW_CHARS, ILOSTAT_CACHE_TTL_SECONDS, ILOSTAT_DATASET_TTL_SECONDS, ILOSTAT_DATAFRAME_DROP_ENABLED, CANVAS_PROVIDER_TYPE, MCP_LOG_LEVEL

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://ilostat.caseyjhand.com/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "ilostat": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/ilostat-mcp-server"
      ],
      "env": {
        "ILOSTAT_CATALOG_REFRESH_HOURS": "your-value",
        "ILOSTAT_MAX_ROWS": "your-value",
        "ILOSTAT_PREVIEW_CHARS": "your-value",
        "ILOSTAT_CACHE_TTL_SECONDS": "your-value",
        "ILOSTAT_DATASET_TTL_SECONDS": "your-value",
        "ILOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add --transport http ilostat https://ilostat.caseyjhand.com/mcp

或者在你的电脑上运行

claude mcp add ilostat --env ILOSTAT_CATALOG_REFRESH_HOURS=your-value --env ILOSTAT_MAX_ROWS=your-value --env ILOSTAT_PREVIEW_CHARS=your-value --env ILOSTAT_CACHE_TTL_SECONDS=your-value --env ILOSTAT_DATASET_TTL_SECONDS=your-value --env ILOSTAT_DATAFRAME_DROP_ENABLED=your-value --env CANVAS_PROVIDER_TYPE=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/ilostat-mcp-server

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "ilostat": {
      "url": "https://ilostat.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "ilostat": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/ilostat-mcp-server"
      ],
      "env": {
        "ILOSTAT_CATALOG_REFRESH_HOURS": "your-value",
        "ILOSTAT_MAX_ROWS": "your-value",
        "ILOSTAT_PREVIEW_CHARS": "your-value",
        "ILOSTAT_CACHE_TTL_SECONDS": "your-value",
        "ILOSTAT_DATASET_TTL_SECONDS": "your-value",
        "ILOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "ilostat": {
      "type": "http",
      "url": "https://ilostat.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "ilostat": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/ilostat-mcp-server"
      ],
      "env": {
        "ILOSTAT_CATALOG_REFRESH_HOURS": "your-value",
        "ILOSTAT_MAX_ROWS": "your-value",
        "ILOSTAT_PREVIEW_CHARS": "your-value",
        "ILOSTAT_CACHE_TTL_SECONDS": "your-value",
        "ILOSTAT_DATASET_TTL_SECONDS": "your-value",
        "ILOSTAT_DATAFRAME_DROP_ENABLED": "your-value",
        "CANVAS_PROVIDER_TYPE": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://ilostat.caseyjhand.com/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • ILOSTAT_CATALOG_REFRESH_HOURS env
    Hours between checks of the ILOSTAT tables of contents (1–168).
  • ILOSTAT_MAX_ROWS env
    Ceiling on the rows one query may return or stage (1,000–1,000,000).
  • ILOSTAT_PREVIEW_CHARS env
    Inline preview budget in serialized characters; a larger query or comparison result is staged as a dataframe, and a dataframe SQL result returns only the leading rows that fit.
  • ILOSTAT_CACHE_TTL_SECONDS env
    Seconds a small upstream data response stays cached (0 disables the cache).
  • ILOSTAT_DATASET_TTL_SECONDS env
    Per-table TTL for staged dataframes, in seconds (at least 60).
  • ILOSTAT_DATAFRAME_DROP_ENABLED env
    Set to true to expose ilostat_dataframe_drop; staged dataframes otherwise expire on their TTL.
  • CANVAS_PROVIDER_TYPE env
    DataCanvas engine for staged dataframes: duckdb (default) or none to turn dataframes off.
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • ilostat_search_indicators

    Search ILOSTAT's catalog of labour-statistics indicators by plain-language terms and filters. Each hit is one indicator with its datasets — one per available frequency (annual, quarterly, monthly) — plus breakdowns, coverage years, number of reference areas, source database, and

  • ilostat_describe_indicator

    Explain one ILOSTAT dataset before comparing numbers: its definition, unit and multiplier, frequency variants and coverage, the sex and breakdown codes in use across its frequencies (the total code of each breakdown marked), the reference areas it covers, whether it carries World

  • ilostat_query_indicator

    Fetch observations for up to 3 ILOSTAT datasets per call, filtered by reference area or area group, sex, breakdown codes (classif1, classif2), source, and period; datasets past the first 3 come back as remaining_dataset_ids for another call. Rows keep their source, observation st

  • ilostat_get_country_profile

    Build a headline labour-market profile for one reference area: labour force participation, employment-to-population ratio, unemployment and youth unemployment rates, youth NEET rate, informal employment rate, employment level, labour income share, and working poverty rate. Each i

  • ilostat_compare_geographies

    Compare reference areas on one ILOSTAT dataset and one slice — a sex code plus breakdown codes, defaulting to the dataset's totals — giving each area's value at a common period or at its latest non-projected period, optional change over N years, and a rank, with each value's peri

  • ilostat_list_reference

    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 m

  • ilostat_dataframe_query

    Run a single-statement SELECT against the df_ dataframes staged by ilostat_query_indicator and ilostat_compare_geographies or stored by an earlier register_as. Inspect a dataframe with ilostat_dataframe_describe first; its column schema is what the SQL has to match. Read-only: wr

  • ilostat_dataframe_describe

    Describe the df_ dataframes staged by ilostat_query_indicator and ilostat_compare_geographies or stored by ilostat_dataframe_query register_as: the tool and parameters that produced each, the datasets it holds (label, last update, and the unit with its measure, type, and multipli

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 cyanheads 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 255 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 8 个工具描述,未发现针对 AI 的隐藏指令

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 5724 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 5724 个服务器的 79% 更新
  • 基础检查结果等于或优于此分类中其他 5724 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Ilostat MCP Server 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.3.0)于10天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

Up-to-date docs for AI agents

作者:upstash广泛使用↓ 97.3万/周★ 6.4万前天更新

电脑或云端

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

作者:DeusData广泛使用↓ 1.8万/周★ 4.8万22天前更新

在你的电脑上运行

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

作者:exa-labs广泛使用★ 52132个月前更新

在云端运行✓ exa.ai

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@cyanheads/ilostat-mcp-server Search ILOSTAT labour indicators, query and compare series, build country profiles, run SQL via MCP. STDIO or Streamable HTTP. 9 Tools • 1 Skill

Public Hosted Server: https://ilostat.caseyjhand.com/mcp


Overview

Labour statistics from ILOSTAT, the International Labour Organization's database. Find an indicator, pull observations for countries, regions, and income groups, compare areas, and build a labour-market profile, with every value marked as reported, modelled, or projected. No API key required.

Tools
ToolDescription
ilostat_search_indicatorsSearch the indicator catalog by plain-language terms and filters; each hit lists a dataset ID per available frequency
ilostat_describe_indicatorExplain one dataset: definition, unit and multiplier, breakdown codes in use, covered areas, and how its values are classed
ilostat_query_indicatorFetch observations for up to 3 datasets per call, filtered by area or area group, sex, breakdown codes, source, and period
ilostat_get_country_profileHeadline labour-market figures for one area: latest reported value and latest ILO modelled estimate, side by side
ilostat_compare_geographiesRank areas on one slice of one dataset at a common or latest period, with optional change over N years
ilostat_list_referenceDecode ILOSTAT's code vocabulary: areas, area groups, databases, subjects, sexes, breakdowns, sources, status flags, notes
ilostat_dataframe_describeDescribe a staged df_ dataframe by name, or list them all (off under HTTP with auth none), with provenance, coverage, basis counts, and column schema
ilostat_dataframe_queryRun one read-only SQL SELECT over staged dataframes, optionally storing the result as a new one
ilostat_dataframe_dropDrop a staged dataframe before its TTL

ilostat_dataframe_drop is off unless ILOSTAT_DATAFRAME_DROP_ENABLED=true, and CANVAS_PROVIDER_TYPE=none turns off all three dataframe tools.

Skill
SkillDescription
ilostat-guideGates for answering labour-market questions with these tools: choosing reported or ILO modelled data, finding a population group as a breakdown code, one classification version per sum, rates that do not add, source changes and breaks in trends, and SQL over staged dataframes

Ships in skills/ for plugin installs, the npm package, the Docker image, and the .mcpb bundle, and is served over MCP as skill://ilostat-guide/SKILL.md.

Capability reference

ilostat_search_indicators tool
  • Plain-language query (every term must match a word or word prefix; a term no catalog word starts with matches by its stem, so informality finds informal and disabled finds disability; female, women, male, and men match every indicator broken down by sex, and the notice names the sex filter for ilostat_query_indicator; case, accents, and labour/labor folded) plus frequency, database, subject, breakdown, measure, and aggregates_only filters; omit query to browse by filters
  • Up to 50 hits per page (default 10; a larger limit is applied as 50, with a notice), continued with next_cursor; each hit is one indicator with a dataset_id per frequency, coverage years, n_ref_area, last_update, and has_aggregates, and facets count the whole match set
  • An unrecognized database, subject, breakdown, or measure code fails as unknown_filter_code

ilostat_describe_indicator tool
  • One dataset_id (UNE_DEAP_SEX_AGE_RT_A) or a bare indicator code, which describes every frequency; an unknown code returns found: false with guidance
  • Definition, unit and its multiplier, frequency variants, breakdowns (sex codes, plus classif1 / classif2 codes with totals marked is_total), default_slice, covered ref_areas, basis_rule, and the first 20 related_datasets with related_total
  • When the SDMX API can't answer, structure_status is unavailable and breakdowns, unit, and areas are absent rather than the call failing

ilostat_query_indicator tool
  • Up to 100 dataset_ids; the first 3 distinct datasets are queried and the rest come back as remaining_dataset_ids for another call. Filter by ref_areas (up to 300) and/or an area_group, sex, classif1, classif2, sources, and period: one exact time, a time_from / time_to year window, latest_only, or both
  • latest_only keeps each series' own latest period; a request whose full history is too large to read in one call falls back to the latest period per area and dataset, and applied_filters.latest_mode and the notice say so
  • source_selection is best by default, all, or secondary; rows carry source, obs_status, notes, and basis, decoded in legend, and applied_filters echoes every parameter sent
  • A result past the inline preview stages in full as a df_ dataframe; a request over ILOSTAT_MAX_ROWS fails as request_too_broad (unfiltered) or result_too_large (filtered)

ilostat_get_country_profile tool
  • One ref_area with annual data, an ISO3 country (KEN) or an X-coded aggregate (X01 World, regions, income groups), and sex (SEX_T by default, SEX_M, or SEX_F)
  • Nine headline indicators (labour force participation, employment-to-population ratio, unemployment, youth unemployment, youth NEET, informal employment, employment, labour income share, working poverty), each with its latest reported value for that slice and, separately, its latest non-projected modelled estimate
  • A missing reported value stays missing and is listed in reported_missing; aggregates carry modelled values only

ilostat_compare_geographies tool
  • One dataset_id and one slice (sex, classif1, classif2, defaulting to the dataset's totals); areas from ref_areas (up to 300), an area_group, or both, and at least one is required
  • period puts every area at one period; without it, each area gets its latest value within lookback_years (default 10), projections excluded unless include_projections; change_years (1–30) adds each value's change over that span
  • A change carries the earlier value's source, basis, status, and notes, with source_changed, basis_changed, and break_in_series flags; the notice counts the changes that are not like-for-like
  • Rows carry rank, value, period, basis, and source; areas without a value land in missing with a reason, and comparability reports mixed_periods, basis_counts, and distinct_sources

ilostat_list_reference tool
  • topic: ref_areas, area_groups, databases, subjects, sexes, classifications, classification_types, sources, obs_status, notes, or frequencies
  • A text filter or up to 100 exact codes (misses in not_found; exact area_groups lookups list member countries); ref_area narrows sources, and classification_type narrows classifications
  • Up to 500 entries per page (default 50; a larger limit is applied as 500, with a notice), continued with next_cursor

ilostat_dataframe_describe tool
  • Pass one df_XXXXX_XXXXX, or omit name to list every staged dataframe, newest first (listing is off under HTTP with auth none; use the exact name)
  • Each entry carries the producing source_tool and its query_params, datasets, coverage, basis_counts, attribution, created_at / expires_at, row_count, and the column_schema to write SQL against
  • Each dataset keeps its full unit beside unit: unit_measure, unit_type, unit_type_label, unit_multiplier, and unit_multiplier_label; values are never rescaled

ilostat_dataframe_query tool
  • One DuckDB SELECT (joins, aggregates, window functions, CTEs) over df_ tables, up to 20,000 characters; writes, DDL, multi-statement SQL, file references and file-reading functions, engine-setting reads, and system catalogs are rejected
  • row_limit caps the rows materialized (default 1,000; capped at 10,000 per call, with row_count_capped flagging a hit) and preview the rows returned inline, which also stop at ILOSTAT_PREVIEW_CHARS; applied_limits echoes the values applied, and BIGINT values arrive as strings
  • register_as stores the full result as a new dataframe with a fresh TTL; a result over 1,000,000 rows fails as register_as_too_large, and evicted names any older dataframes dropped to make room

ilostat_dataframe_drop tool
  • Drops one staged dataframe by name before its TTL; idempotent, with dropped: false when nothing matched
  • Listed only when ILOSTAT_DATAFRAME_DROP_ENABLED=true and dataframes are on; it is the only destructive tool

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

ILOSTAT-specific:

  • Two keyless ILO APIs: the ILOSTAT data API serves the catalog, the code dictionaries, and observations; the ILO SDMX API serves each dataset's breakdown codes, default slice, and unit
  • The catalog and code dictionaries are held in memory and rechecked every ILOSTAT_CATALOG_REFRESH_HOURS; every code a tool takes is validated against them before a request goes upstream
  • A request pacer per upstream host; a 429 or challenge page reaches the caller as a retryable upstream_busy carrying retryAfter. Data responses of up to 5,000 rows are cached for ILOSTAT_CACHE_TTL_SECONDS
  • Dataframes on by default: a query or comparison larger than `IL

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx