Ilostat MCP Server
概览
作者提供的说明(英文原文)
Search ILOSTAT labour indicators, query and compare series, build country profiles, run SQL.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i3 项中通过 3 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 127/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 电脑或云端
- 传输方式: stdio, Streamable HTTP
- 分类: 搜索与 AI 记忆
安装
选择你使用的 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
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
- 打开 Settings → Connectors
- 点击 Add custom connector
- 粘贴下面的地址,然后点击 Add
- 如果要求登录,请登录作者的服务
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/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"ilostat": {
"url": "https://ilostat.caseyjhand.com/mcp"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"ilostat": {
"type": "http",
"url": "https://ilostat.caseyjhand.com/mcp"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .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 只能连接互联网上的服务器:
- 打开网页版 ChatGPT → Settings → Connectors (Apps)
- 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
- 粘贴下面的地址,起个名字,然后保存
- 如果要求登录,请登录作者的服务
https://ilostat.caseyjhand.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
ILOSTAT_CATALOG_REFRESH_HOURSenvHours between checks of the ILOSTAT tables of contents (1–168).ILOSTAT_MAX_ROWSenvCeiling on the rows one query may return or stage (1,000–1,000,000).ILOSTAT_PREVIEW_CHARSenvInline 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_SECONDSenvSeconds a small upstream data response stays cached (0 disables the cache).ILOSTAT_DATASET_TTL_SECONDSenvPer-table TTL for staged dataframes, in seconds (at least 60).ILOSTAT_DATAFRAME_DROP_ENABLEDenvSet to true to expose ilostat_dataframe_drop; staged dataframes otherwise expire on their TTL.CANVAS_PROVIDER_TYPEenvDataCanvas engine for staged dataframes: duckdb (default) or none to turn dataframes off.MCP_LOG_LEVELenvSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
ilostat_search_indicatorsSearch 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_indicatorExplain 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_indicatorFetch 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_profileBuild 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_geographiesCompare 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_referenceDecode 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_queryRun 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_describeDescribe 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
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 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
| Tool | Description |
|---|---|
ilostat_search_indicators | Search the indicator catalog by plain-language terms and filters; each hit lists a dataset ID per available frequency |
ilostat_describe_indicator | Explain one dataset: definition, unit and multiplier, breakdown codes in use, covered areas, and how its values are classed |
ilostat_query_indicator | Fetch observations for up to 3 datasets per call, filtered by area or area group, sex, breakdown codes, source, and period |
ilostat_get_country_profile | Headline labour-market figures for one area: latest reported value and latest ILO modelled estimate, side by side |
ilostat_compare_geographies | Rank areas on one slice of one dataset at a common or latest period, with optional change over N years |
ilostat_list_reference | Decode ILOSTAT's code vocabulary: areas, area groups, databases, subjects, sexes, breakdowns, sources, status flags, notes |
ilostat_dataframe_describe | Describe 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_query | Run one read-only SQL SELECT over staged dataframes, optionally storing the result as a new one |
ilostat_dataframe_drop | Drop 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
| Skill | Description |
|---|---|
ilostat-guide | Gates 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, soinformalityfindsinformalanddisabledfindsdisability;female,women,male, andmenmatch every indicator broken down by sex, and the notice names thesexfilter forilostat_query_indicator; case, accents, and labour/labor folded) plusfrequency,database,subject,breakdown,measure, andaggregates_onlyfilters; omitqueryto browse by filters - Up to 50 hits per page (default 10; a larger
limitis applied as 50, with a notice), continued withnext_cursor; each hit is one indicator with adataset_idper frequency, coverage years,n_ref_area,last_update, andhas_aggregates, andfacetscount the whole match set - An unrecognized
database,subject,breakdown, ormeasurecode fails asunknown_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 returnsfound: falsewithguidance - Definition,
unitand itsmultiplier, frequency variants,breakdowns(sex codes, plusclassif1/classif2codes with totals markedis_total),default_slice, coveredref_areas,basis_rule, and the first 20related_datasetswithrelated_total - When the SDMX API can't answer,
structure_statusisunavailableand 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 asremaining_dataset_idsfor another call. Filter byref_areas(up to 300) and/or anarea_group,sex,classif1,classif2,sources, and period: one exacttime, atime_from/time_toyear window,latest_only, or both latest_onlykeeps 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, andapplied_filters.latest_modeand the notice say sosource_selectionisbestby default,all, orsecondary; rows carrysource,obs_status,notes, andbasis, decoded inlegend, andapplied_filtersechoes every parameter sent- A result past the inline preview stages in full as a
df_dataframe; a request overILOSTAT_MAX_ROWSfails asrequest_too_broad(unfiltered) orresult_too_large(filtered)
ilostat_get_country_profile tool
- One
ref_areawith annual data, an ISO3 country (KEN) or an X-coded aggregate (X01World, regions, income groups), andsex(SEX_Tby default,SEX_M, orSEX_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
reportedvalue for that slice and, separately, its latest non-projectedmodelledestimate - A missing reported value stays missing and is listed in
reported_missing; aggregates carry modelled values only
ilostat_compare_geographies tool
- One
dataset_idand one slice (sex,classif1,classif2, defaulting to the dataset's totals); areas fromref_areas(up to 300), anarea_group, or both, and at least one is required periodputs every area at one period; without it, each area gets its latest value withinlookback_years(default 10), projections excluded unlessinclude_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, andbreak_in_seriesflags; the notice counts the changes that are not like-for-like - Rows carry
rank,value,period,basis, andsource; areas without a value land inmissingwith areason, andcomparabilityreportsmixed_periods,basis_counts, anddistinct_sources
ilostat_list_reference tool
topic:ref_areas,area_groups,databases,subjects,sexes,classifications,classification_types,sources,obs_status,notes, orfrequencies- A text
filteror up to 100 exactcodes(misses innot_found; exactarea_groupslookups list member countries);ref_areanarrowssources, andclassification_typenarrowsclassifications - Up to 500 entries per page (default 50; a larger
limitis applied as 500, with a notice), continued withnext_cursor
ilostat_dataframe_describe tool
- Pass one
df_XXXXX_XXXXX, or omitnameto list every staged dataframe, newest first (listing is off under HTTP with authnone; use the exact name) - Each entry carries the producing
source_tooland itsquery_params,datasets,coverage,basis_counts,attribution,created_at/expires_at,row_count, and thecolumn_schemato write SQL against - Each dataset keeps its full unit beside
unit:unit_measure,unit_type,unit_type_label,unit_multiplier, andunit_multiplier_label; values are never rescaled
ilostat_dataframe_query tool
- One DuckDB
SELECT(joins, aggregates, window functions, CTEs) overdf_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_limitcaps the rows materialized (default 1,000; capped at 10,000 per call, withrow_count_cappedflagging a hit) andpreviewthe rows returned inline, which also stop atILOSTAT_PREVIEW_CHARS;applied_limitsechoes the values applied, and BIGINT values arrive as stringsregister_asstores the full result as a new dataframe with a fresh TTL; a result over 1,000,000 rows fails asregister_as_too_large, andevictednames any older dataframes dropped to make room
ilostat_dataframe_drop tool
- Drops one staged dataframe by
namebefore its TTL; idempotent, withdropped: falsewhen nothing matched - Listed only when
ILOSTAT_DATAFRAME_DROP_ENABLED=trueand 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_busycarryingretryAfter. Data responses of up to 5,000 rows are cached forILOSTAT_CACHE_TTL_SECONDS - Dataframes on by default: a query or comparison larger than `IL
只显示了开头部分;其余内容请在仓库中阅读