# UNESCO UIS — Education, Science & Culture Statistics (provenance-first) [Health: Active]

**Category:** 🎓 Education  
**Repository:** https://github.com/SidneyBissoli/uis-mcp-server  
**GitHub Stars:** 1  
**npm Downloads (last month):** 1354  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/unesco-uis-education-science-culture-statistics-provenance-first

## Description
UNESCO UIS statistics (education, science, culture) with full provenance and fixed releases.

## Tools
Capabilities this server exposes over MCP:

- **uis_search_indicators** — Search the UNESCO Institute for Statistics catalogue of ~5,000 indicators — education, science/R&D, culture and communication — by keywords in the name or code, optionally filtered by theme. All terms must match (AND, case-insensitive), so start with 2–3 words and drop terms if you get 0 results. Everyday and US wording is resolved to the UIS's own (enrollment→enrolment, spending→expenditure, preschool→pre-primary, university→tertiary, graduation→completion, girls/boys→female/male); when that happens the response says so in vocabulary_notes. Returns indicator codes to use with uis_get_data, plus each indicator's data availability (years, record count). Searches the catalogue only — it does not return statistical values (use uis_get_data); ILO labour statistics live in the sibling ILOSTAT MCP server.
- **uis_list_geo_units** — Valid geographic codes for uis_get_data: 462 geo units — countries (NATIONAL, ISO alpha-3 codes like BRA) and regional aggregates (REGIONAL). Filter by name/code and type. Does not return statistical values; these codes apply only to uis_get_data, not to other statistical servers.
- **uis_get_data** — Statistical records from the UNESCO Institute for Statistics Data API, filtered by indicator codes (from uis_search_indicators, up to 25), geo unit codes (from uis_list_geo_units) and year range. Set include_footnotes for per-record source notes. Returns raw UIS records only — it does not aggregate, convert or otherwise transform values; ILO labour statistics live in the sibling ILOSTAT MCP server. Broad queries are rejected with the record count — narrow by geo unit or years. A code that does not exist is an error carrying the UIS API's own wording, never an empty result: zero rows means the codes are real and the selection has no data, and the hint then relays what the UIS reported (including the indicator's available year range). When only SOME of the requested codes exist, the matching rows are returned with `warnings` naming the rest. Values are those of the release named in data_vintage: a new UIS release can revise past years. On a record, `magnitude` says what the value shown means (e.g. NA = not applicable, shown as 0; SUPP = withheld, blank) and `qualifier` says how it was obtained (national or UIS estimate); the provenance notices count them in plain words; both are null when the UIS publishes no flag. The UIS publishes no unit field: the unit usually closes the indicator name in parentheses ("(%)", "(number)", "(years)"), but not always — a parenthesis can also name a parity index (GPIA), an estimate type or an education level, and some names have none.
- **search** — Searches the UNESCO UIS statistics (≈5,000 indicators: education — enrolment, completion, literacy, teachers, spending, SDG 4 —, science/R&D (SDG 9.5), culture (SDG 11.4) and demographic context) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched).

This tool exists for the OpenAI Deep Research contract: ChatGPT deep research, company knowledge and research workflows over the Responses API require exactly the tools `search` and `fetch`. Pass one of the returned ids to `fetch` to read the document.
For direct questions and for data (values, series, rankings) prefer the `uis_*` tools, which return the actual data with provenance — this is a catalog index, not a data query.

Query: natural language or keywords, Portuguese or English; accents and case are ignored.

Behavior: read-only and idempotent — the catalog comes from the public source and is cached in memory.
- **fetch** — Returns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite.

Companion of `search` in the OpenAI Deep Research contract, over the UNESCO UIS statistics (≈5,000 indicators: education — enrolment, completion, literacy, teachers, spending, SDG 4 —, science/R&D (SDG 9.5), culture (SDG 11.4) and demographic context) catalog. Only ids returned by `search` are valid; an unknown id returns an error.
The `uis_*` tools remain the tools for data queries.

Behavior: read-only and idempotent — a live GET against the public source when the document needs it.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "unesco-uis-education-science-culture-statistics-provenance-first": {
    "command": "npx",
    "args": ["-y","uis-mcp-server"]
  }
}
```

## Documentation

## What UNESCO UIS — Education, Science & Culture Statistics (provenance-first) does

UNESCO UIS — Education, Science & Culture Statistics (provenance-first) exposes the UNESCO Institute for Statistics catalogue and public Data API through MCP. Its coverage includes education, science and research and development, culture, communication, and related demographic context. The catalogue contains roughly 5,000 indicators, including enrolment, completion, literacy, teachers, education expenditure, researchers and R&D expenditure.

The service is read-only and idempotent. It is an independent community project rather than an official UNESCO or UIS service. Data responses carry provenance information such as the source URL, UIS data release, retrieval time, licence and citation.

## How it works

A typical workflow starts by searching the indicator catalogue, then resolving the relevant geographic codes before requesting records. Indicator searches match all supplied terms, ignore case and accents, and accept Portuguese or English input. Common everyday and US terms can be mapped to UIS vocabulary, with those substitutions reported in `vocabulary_notes`.

Data requests accept up to 25 indicator codes, geographic-unit codes and a year range. Broad selections are rejected with a record count so the request can be narrowed by geography or time. Returned values are raw UIS records: the server does not aggregate, convert or otherwise transform them. Release information appears in `data_vintage`, while flags such as not applicable, withheld, national estimate or UIS estimate are described through `magnitude` and `qualifier`.

## Setup and configuration

The hosted service runs on Cloudflare Workers and uses Streamable HTTP, so a client can connect to the remote MCP endpoint without installing a package, creating an account or supplying an API key. It calls the official UIS Data API for live data requests, while the catalogue is cached in memory. Configure the endpoint in an MCP client that supports Streamable HTTP.

## Tools and capabilities

- `uis_search_indicators` searches the UIS indicator catalogue and returns matching codes, availability years and record counts. It searches metadata, not statistical values.
- `uis_list_geo_units` lists the 462 valid countries and regional aggregates, with filtering by name, code and type.
- `uis_get_data` retrieves records by indicator, geography and year, optionally including per-record footnotes. Invalid codes produce the UIS API error; valid selections with no observations return zero rows, and partially valid requests include warnings.
- `search` returns up to 10 relevant catalogue documents as identifiers, titles and URLs.
- `fetch` reads a document only when given an identifier returned by `search`, returning readable Markdown and citation metadata. Together, `search` and `fetch` satisfy the OpenAI Deep Research tool contract.

## Limitations and notes

The `uis_*` tools are the appropriate path for actual values, series and rankings; `search` and `fetch` index catalogue documents instead. The UIS does not publish a dedicated unit field, so units often need to be interpreted from the indicator name. Parentheses in a name can also describe a parity index, estimate type or education level.

A new UIS release may revise historical values. The server does not provide labour statistics; those belong to the companion ILOSTAT MCP server. Data remain subject to UNESCO-UIS attribution terms, including CC BY-SA 4.0 as identified by the project.

_Full upstream README: https://allmcps.com/mcp/unesco-uis-education-science-culture-statistics-provenance-first/readme_

