mcpField
U
UNESCO UIS Education Statistics MCP

UNESCO UIS Education Statistics MCP

远程服务
uis.sidneybissoli.com法律与政务11 天前更新

关于 UNESCO UIS Education Statistics MCP

此托管 MCP 服务提供 UNESCO Institute for Statistics 的教育、科学、文化和通信数据,供查询国家、地区及年度指标。结果包含数据版本、获取时间、许可信息和引用,便于核查来源。

主要功能

  1. 01UIS 教育、科学、文化及通信指标
  2. 02通过扩展词汇搜索指标
  3. 03按国家、地区和年份获取数据
  4. 04提供来源、版本、许可及引用信息
  5. 05托管 Streamable HTTP 与本地 stdio 模式

适用场景

  1. 01比较不同国家的教育完成率
  2. 02查找失学儿童相关指标
  3. 03查看教育支出或研发数据
  4. 04查询 UIS 地理代码和区域汇总

MCP 相关

它通过托管的 Streamable HTTP 和本地 stdio 运行方式,向客户端提供 UIS 数据查询工具与资源。另提供供 ChatGPT Deep Research 使用的 search 和 fetch 工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://uis.sidneybissoli.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmuis-mcp-server1.9.0

工具

5
参数类型必填说明
limitinteger否最大结果数(默认值 20)
querystring是关键词,与指标名称和代码匹配;各词之间为 AND 关系(例如 "literacy rate youth")
themeenum否限制为一个 UIS 主题EDUCATION | SCIENCE_TECHNOLOGY_INNOVATION | CULTURE | DEMOGRAPHIC_SOCIOECONOMIC
offsetinteger否要跳过的结果数,用于分页(默认值 0)
provenance_modeenum否来源信息详细程度:'concise'(默认值——来源、url、版本、检索日期、引用、许可证)或 'detailed'(包含 dataset、dimension key 和 notices 的完整规范块)concise | detailed

详细介绍

UNESCO UIS 教育统计 MCP 服务

MCP CI Version Tools npm MCP Registry uis-mcp-server MCP server smithery badge License: MIT Status

🇧🇷 阅读葡萄牙语版

一个公开托管、优先保证来源可追溯的MCP 服务,提供**联合国教科文组织统计研究所(UIS)**的统计数据——涵盖教育、科学与研发、文化和传播——无需安装、无需账户、无需 API 密钥。将 MCP 客户端连接到托管端点,即可查询各国、地区和年份的入学、完成学业、失学儿童、识字率、教育支出、研究人员和研发支出数据。该服务运行于 Cloudflare Workers,通过 Streamable HTTP 连接官方 UIS Data API。

独立项目。 这是一个非官方的社区构建客户端,用于访问 UIS 的公开 Data API,与 UNESCO 或联合国教科文组织统计研究所均无关联,也未获其认可。 数据版权归 UNESCO-UIS 所有,采用 CC BY-SA 4.0 许可;请参阅数据许可与署名。

每条响应都附带来源信息块(来源 URL、所依据的 UIS 数据版本、实际检索时间戳、许可协议、UIS 引用)——提供准确数据及审计追踪,而非根据训练数据猜测的数字。

🇧🇷 葡萄牙语版。 面向联合国教科文组织统计研究所统计数据的远程托管 MCP 服务(无需安装、无需账户、无需密钥),提供按国家、地区和年份划分的入学、完成学业、失学儿童、识字率、教育支出和研发数据,可直接在 Claude、ChatGPT 或任何 MCP 客户端中使用;每条响应都附带来源信息和引用:葡萄牙语版 README。

它能回答的问题

用通俗的语言,在 MCP 客户端中,由助手选择工具和筛选条件:

  • “哪些 UNESCO 指标跟踪失学儿童?”(uis_search_indicators)
  • “2015 年后,巴西、秘鲁和哥伦比亚的小学完成率如何变化?”(uis_get_data)
  • “UNESCO 是否有政府教育支出占 GDP 比例的时间序列?” (uis_search_indicators → uis_get_data)
  • “自 2010 年以来,金砖国家每百万人口中有多少研究人员?” (uis_search_indicators → uis_get_data)
  • “阿根廷和智利的成人识字率是多少?按性别划分。”(uis_get_data)
  • “UIS 用于科特迪瓦的地理单位代码是什么?有哪些区域汇总数据?” (uis_list_geo_units)

其中有三项——入学、识字和教育支出——通过实时服务运行,并展示工具调用和返回结果:uis.sidneybissoli.com/examples。

用自己的说法提问,而不是照搬 UNESCO 的术语。 UIS 使用英式统计英语,而目录根据指标名称进行匹配——所以使用日常用语或美式英语可能会导致完全没有结果。在官方目录的 5,063 项指标中进行测量(2026-09-16),并自 0.3.0 起修复:搜索会将术语扩展为来源中的说法(同一术语内用 OR 连接,不同术语之间用 AND 连接——只会提高召回率),并在 vocabulary_notes 中说明做了术语转换;如果没有结果,会提供 hint,提示接下来可以尝试什么。search 索引(深度研究)也使用同一张表。

你搜索的词转换前的命中数UNESCO 使用的说法命中数
enrollment0enrolment387
education spending、budget0expenditure57
teacher wages0salary4
university、college0tertiary448
preschool、kindergarten0pre-primary、early childhood113
elementary0primary886
scientists0researchers11
girls、women0female1,252
kids、teenagers0children、adolescents161、131
graduation rate0completion342
pupil-teacher ratio0pupil-qualified teacher ratio10
foreign students249internationally mobile students979
primary school completion0primary education114
illiteracy、maths、tvet、phd、stem0illiterate、mathematics、vocational、doctoral、science、technology、engineering268、79、33、24、9

表中只列入经过测量的对应词(用户搜索的词不在目录中,而来源用词在目录中)——对应表及计数位于 src/uis/vocabulary.ts。UIS 未发布的术语不会纳入,搜索仍会返回 0,因为为不存在的数据添加别名会让人误以为来源提供了这些数据:dropout、tuition、unemployment 和 labor(劳工统计数据由姊妹服务 ilo-mcp-server 提供;目前 labor 匹配到的是包含“collaboration”的 62 个名称)。

与其他方案的比较

已经使用 UIS 数据的人有不少好用的工具,而此服务不会取代其中任何一种——它在整个流程中承担不同的角色:在问题提出的当下,于助手内回答问题,并在答案中附上来源、数据发布版本和许可信息。版本测量日期:2026-10-02。

工具简介适用场景
uis-mcp-server(本项目)托管式远程 MCP 服务,无需安装:提供 5 个工具,覆盖约 5,060 项 UIS 指标,每个回答都附带溯源信息块在助手(Claude、ChatGPT、Cursor、Claude Code)中提问,且需要审计回答时
uisapi 0.1.1(R,CRAN)UIS Data API 的社区 R 客户端(并非由 UIS 工作人员开发);也列出批量文件使用 R,并希望将 UIS 序列载入数据框进行分析时
unesco-reader 3.1.1(Python,PyPI)UIS Data API 的社区 Python 客户端使用 Python 构建工作流时
global-education-mcp 0.4.0(MCP,Python)另一个 MCP 服务:提供 UIS Data API 和 OECD Education at a Glance API希望在一个本地服务中并排查看 UIS 和 OECD 教育数据时
unesco-mcp(MCP,Python,PyPI)另一个基于 UIS API 的 MCP 服务,可通过 uvx 在本地运行;目录缓存于 SQLite,并提供排名和比较工具(测量日期:2026-10-13)希望使用内置分析工具的本地服务时
UNESCO UIS Statistics Scraper(Apify actor)基于同一 Data API 的社区 actor,由 Apify 的通用 MCP 服务作为工具提供;需要 Apify 账户,按结果付费(根据套餐,每行 US$ 0.002–0.004,2026-10-13);输出包含来源 URL,但不包含数据发布版本已在运行 Apify 工作流,并希望将 UIS 数据行保存到 Apify 数据集中时
WDI / wbstats(R)、wbgapi(Python)世界银行客户端;WDI 会再发布许多 UIS 教育序列,但有延迟希望将 UIS 教育序列与世界银行指标放在一起时
UIS Bulk Data Download ServiceUIS 自行提供的按数据发布版本划分的 CSV 文件(SDG 和 OPRI)需要完整数据集,而非问题答案时
UIS Data API本服务调用的数据源本身——无需密钥正在构建自己的客户端并希望完全掌控时

关于 SDMX: UIS 已不再提供 SDMX。其旧版 SDMX API 已于 2020-06-23 终止服务(UIS 自己在 2026 年 2 月的数据发布说明中提及),该端点现在返回 404——仍列出 UNESCO 来源(例如 sdmx1)的通用 SDMX 客户端指向的是已失效的 URL,而 DBnomics 上的 UNESCO 数据副本则是冻结在 2020 年左右的快照。如需查询 SDMX 格式的劳工统计数据,请参阅姊妹服务 ilo-mcp-server,它连接到 ILOSTAT SDMX API。

以下情况请勿使用本服务: 需要完整数据集而非问题答案时(应使用批量文件);问题涉及的并非 UIS 发布的教育、科学、文化或通信统计数据时(劳工数据 → ILO,国民账户 → IMF/World Bank);或需要微观数据时:UIS 发布的是汇总数据,本服务也一样。

姊妹服务采用相同设计并附带相同的溯源信息块,涵盖其他官方数据源: ILOSTAT(ILO 劳工统计)、 IBGE(巴西统计)、 BCB(巴西中央银行)、 Senado(巴西参议院开放数据)、 SIH/SUS(巴西住院数据)以及 医学术语(ICD-11、ICD-10、LOINC、RxNorm、ATC、MeSH)。

使用(托管版——无需设置)

将任意 MCP 客户端指向 Streamable HTTP 端点:

https://uis.sidneybissoli.com/mcp

Claude Desktop / Claude Code 和其他原生支持远程连接的客户端:

{
  "mcpServers": {
    "unesco-uis": {
      "url": "https://uis.sidneybissoli.com/mcp"
    }
  }
}

对于通过命令启动 MCP 服务的客户端,请使用 mcp-remote 桥接工具:

{
  "mcpServers": {
    "unesco-uis": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://uis.sidneybissoli.com/mcp"]
    }
  }
}

uis-mcp-server.sidneybissoli.workers.dev 主机名也提供服务,作为备用地址。

ChatGPT(深度研究)

ChatGPT 深度研究(以及企业知识库和基于 Responses API 的研究工作流) 仅使用恰好公开 search 和 fetch 的 MCP 服务——本服务除了提供 uis_* 工具外,也符合这一要求。将连接器指向托管端点,无需密钥:

https://uis.sidneybissoli.com/mcp

search 会将查询与完整的 UIS 目录(约 5,060 个指标,涵盖教育、科学/研发、文化、人口背景)进行匹配,并返回 { id, title, url }(ind:<code>,例如 ind:ROFST.1.CP);fetch 会以易读的 Markdown 返回指标信息——名称、主题、Data Browser 分组和框架、可用年份、数据样本(巴西和 SDG 世界汇总数据,最近五年;使用固定版本进行一次 Data API 调用),以及如何通过 uis_get_data 查询——并将 UIS Data Browser 公共页面作为 url (https://databrowser.uis.unesco.org/view#indicatorPaths=<framework>%3A0%3A<code>),ChatGPT 会引用该页面。在 search/fetch 中,文本通道遵循深度研究协议的 JSON 格式(无页脚);来源信息通过 structuredContent 和 _meta 传递。在 ChatGPT 的开发者模式(Settings → Security and login → Developer mode)中,可以调用任何工具——数据查询仍应使用 uis_* 工具。

在本地运行(stdio)

不想让查询经过第三方主机?同一服务也可以作为本地 stdio 进程运行,直接连接官方 UIS Data API——提供相同的 5 个工具和 3 个资源,限制和来源信息块也相同,整个过程不经过 Cloudflare。两个运行时的接口在构建时确保一致(CI 会检查:node scripts/dump-surface.mjs --stdio)。

无需安装——该软件包已发布在 npm 上(uis-mcp-server,Node ≥ 22):

{
  "mcpServers": {
    "unesco-uis": {
      "command": "npx",
      "args": ["-y", "uis-mcp-server"]
    }
  }
}

或者从源代码运行:

git clone https://github.com/SidneyBissoli/uis-mcp-server
cd uis-mcp-server
npm install
npm run build
node dist/cli.js   # serves MCP over stdio (Ctrl+C to stop)

与托管服务的差异均源于缺少 Cloudflare 绑定:

  • 当前数据版本(/versions/default)保存在进程内存中:每个会话解析一次,不会跨会话保留;
  • 指标目录和地理单元会在首次搜索时从官方端点下载(/definitions/indicators、/definitions/geounits——与托管目录的种子数据来源相同;约 1 秒),来源信息报告的 retrieved_at 是该下载的实际时间;
  • 内存中的目录不会下载 UIS Data Browser 定义(约 6.7 MB),因此 fetch 引用的 URL 会回退到 Data Browser 首页,且 search 索引的关键词中不包含分组名称——深度研究会连接到包含这些信息的托管服务;
  • 无使用指标、速率限制或身份验证。

日志写入 stderr——stdout 仅承载 JSON-RPC 流。仓库中的 Dockerfile 会构建此运行时(供 Glama 注册表使用)。

工具

工具功能来源
uis_search_indicators在约 5,060 个指标(4 个主题)中按关键词搜索,并显示数据可用性;将用户的词语转换为 UNESCO 使用的词语,并说明转换情况(vocabulary_notes);通过 offset 分页本地目录(不调用上游)
uis_list_geo_units提供 462 个国家和地区代码(NATIONAL/REGIONAL);通过 offset 分页本地目录(不调用上游)
uis_get_data按指标、地理单元和年份获取记录,可选择包含脚注每次查询调用 1 次实时 Data API(固定版本)
searchChatGPT Deep Research 合约:根据查询内容在完整目录中排序,返回 { id, title, url }(ind:<code>)基于本地目录构建的内存索引(24 小时)
fetchChatGPT Deep Research 合约:将单个指标以易读的 Markdown 格式呈现(目录条目 + 数据样本),并将公开的 Data Browser 页面作为 url本地目录 + 1 次 Data API 调用(样本)

典型流程:使用 uis_search_indicators 查找指标代码 → 使用 uis_list_geo_units 查找国家/地区代码 → 使用带年份筛选条件的 uis_get_data。

每个响应都会在三个渠道中携带该工具集的溯源信息块 (@sbissoli/mcp-provenance,通过 provenance_mode 参数选择 concise/detailed 模式):structuredContent、带命名空间的 _meta (com.sidneybissoli.uis/*)以及文本页脚。 从 1.1.0 起,该信息块包含 retrieval,即调用来源诊断信息——有多少请求发送到 Data API、进行了多少次尝试、克服了哪些异常,以及答案是否为 unstable。这些信息由该工具集的通用 fetch (@sbissoli/mcp-upstream)进行测量;如果答案未涉及 UIS(目录或缓存版本),则为 null。

资源

三个资源(静态,text/markdown,不调用上游),客户端可在调用工具前附加到上下文中——它们可以省去大多数会话在发现阶段花费的调用,用于确认“哪个指标、哪个代码”:

URI内容
uis://guide工具工作流、代码约定(指标代码系列和后缀、ISO alpha-3 地理单元、主题)、限制、报告规则
uis://reference/key-indicators按主题列出的已验证指标代码(完成情况、失学、入学、识字、学习水平、教育支出、SDG 9.5 的研发支出、SDG 11.4 的遗产支出、人口)
uis://reference/provenance每个溯源字段的含义以及如何引用 UIS,包括 CC BY-SA 的 ShareAlike 条款对下游使用的要求

行为与限制

  • 每次数据查询都会固定版本。 uis_get_data 会发送明确的 version=,该版本从 /versions/default 解析并缓存 24 h——确保结果可复现,同时复用上游自身的缓存。版本是 data_vintage(例如 20260507-91260335 (published 2026-05-08));UIS 发布新版本后,数据查询会在 24 h 内切换到该版本。
  • 每个响应最多包含 5,000 条记录,每次调用最多查询 25 个指标。 超出上限时,服务会返回说明性错误并附上实际记录数——绝不会静默截断,因为将不完整数据作为完整数据呈现会破坏溯源约定。UIS 自身设定的 100,000 条记录上限会以带说明的上游 HTTP 400 响应返回。
  • 指标目录是 UIS 某个版本的快照,UIS 每次发布新版本时由人工刷新(每年 2–3 次);uis_search_indicators 的溯源信息会报告真实的 retrieved_at,因此其时效性始终可见(served_from_cache: true)。
  • retrieved_at 始终表示从 UIS 提取数据的真实时刻,绝不是构建或响应时间。当一个答案合并了不同时间提取的内容时(uis_get_data:当前版本,缓存时间最长为 24 h,加上本次获取的数据;fetch:还包括目录行),该值取其中最早的时刻,而 field_sources 会为每部分提供各自的时刻和缓存标记(自 1.5.1 起)。
  • 通知会报告脚注类型、幅度和限定词,并附带计数;每条脚注的完整文本仍保留在对应行中(include_footnotes: true)。
  • 每次上游调用都有超时和重试策略(自 1.1.0 起;根据 2026-09-27 对实时 API 的测量:版本查询耗时 1.1 s,小型查询耗时 0.8 s,五个完整指标耗时 2.9 s/3.5 MB,10 万条上限的 400 响应耗时 0.9 s):每次尝试限时 35 s——是最坏正常情况耗时的十倍,也超过 UIS 前置 AWS API Gateway 的 29 s 限时——;遇到 5xx、429(遵循 Retry-After)和网络错误时,最多尝试 3 次,每次调用总计限时 45 s。超时、HTTP 504、带说明的 400 和 404 均不会重试。发生的情况会记录在溯源信息的 retrieval 字段中;超时或网络故障会转换为易读的错误,而非原始异常。
  • derived 始终为 false——该服务不会转换数值。
  • 语言:英语;时区:UTC(UIS 数据以英语发布)。
可从注册表核验的接口指纹

每个版本都会在其 MCP Registry 条目中发布该版本所提供接口(initialize、工具、资源、提示词)的 sha256,以及无需凭据即可响应的方法。接口发生变化但版本号未更新时,构建会失败;注册表中的指纹可供客户端在自身一侧核验相同内容。规范形式与操作流程见 @sbissoli/mcp-surface 的 SPEC.md。 你也可以自行核验(Node 18+,无需依赖):

curl -sO https://raw.githubusercontent.com/SidneyBissoli/mcp-br-commons/main/packages/mcp-surface/exemplos/verify.mjs
node verify.mjs io.github.SidneyBissoli/uis-mcp-server

数据许可与署名

  • UIS 数据:CC BY-SA 4.0(适用 UIS Data Browser 的条款,该条款也适用于 Data API;许可证已于 2026-08-04 核实)。
  • 每个响应都会附上 UIS 署名(citation 字段),包含完整 URL 和提取日期: Source: UNESCO Institute for Statistics (UIS), <URL>, date of extraction <date>.
  • 相同方式共享:基于这些数据构建并重新分发的任何内容,都必须继续采用 CC BY-SA 4.0 许可证——uis://reference/provenance 资源对此有明确说明。
  • 不使用 UNESCO 徽标,也不暗示获得其背书;因此该服务名为 uis-mcp-server,而非“unesco-mcp-server”。ILOSTAT 数据(CC BY 4.0)由独立服务提供,因此两种许可证不会共存于同一响应中。

自托管 / 开发

以下内容仅在运行自己的实例时需要——使用公共服务无需这些内容。

npm install
npm run typecheck && npm test   # offline suite (tools, framework, vocabulary, in-memory catalogue, eval fixtures)
npm run dev                     # http://localhost:8787/mcp (Worker)
npm run build                   # stdio runtime → dist/cli.js (what ships to npm)
node scripts/dump-surface.mjs --stdio   # offline smoke of the build: initialize → tools/resources/prompts

# Catalogue seed (D1) — required before first use:
node scripts/seed-uis-catalog.mjs
npx wrangler d1 execute uis-catalog --local  --file=scripts/seed-uis-catalog.sql
npx wrangler d1 execute uis-catalog --remote --file=scripts/seed-uis-catalog.sql

npm run deploy
node scripts/smoke-mcp.mjs      # smoke test against production (initialize → tools/list == /status → uis_* → search/fetch → errors)

运维说明:

  • 目录刷新是手动进行的,每次 UIS 数据发布时刷新一次(不使用 cron)。生产环境冒烟测试会打印当前 Data API 发布版本;如果该版本与种子数据的发布版本不同,请使用上面的三个命令重新初始化。数据查询会自动跟随默认发布版本,因此只有目录可能过时——其过时情况会在溯源信息中体现。
  • UIS Data API 可直接使用 Node 的 fetch(无需像 ILO 网关那样变通处理请求头)。
  • 可选的 Bearer 身份验证(wrangler secret put API_KEY);按 IP 进行令牌桶限流。

评测

@sbissoli/mcp-evals:evals/fixtures/queries.ts 中有 22 个测试样例,在 npm test 中离线验证。使用真实模型运行(npm run eval)会调用 Anthropic API,并需要 ANTHROPIC_API_KEY(未设置时会退出并显示说明)。2026-08-07 的运行结果:top-1 100%(20/20)——evals/results/。

端到端:evals/e2e/evaluation.xml 中有 10 个答案唯一且可验证的复杂问题,答案已对照生产环境手动验证(evals/e2e/validacao-respostas.md)。2026-08-07 的运行结果(Sonnet):10/10——evals/results/2026-08-07-e2e.md。

端点

路由用途
/着陆页(服务身份信息 + 联系方式——公开)
/health存活状态
/status版本、工具数量及名称、当前部署(用于 README 徽章)
/metrics汇总用量(仅 MCP 端点;不含 IP 或查询内容)
/.well-known/mcp/server-card.json供目录扫描器使用的 MCP 服务卡片(根据实时的 initialize + 列表生成——公开)
/mcpMCP Streamable HTTP

安全

Snyk Agent Scan(2026-08-07,在添加 search 和 fetch 之前):通过——报告见 security/。

许可证

代码:MIT。数据:UIS,CC BY-SA 4.0(见上文“数据许可与署名”)。

隐私

托管服务的隐私政策:PRIVACY.md。

联系方式

Sidney da Silva Pereira Bissoli — [email protected]。此服务未获 UNESCO 背书。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。