protogrid

Search / io.github.SidneyBissoli/uis-mcp-server

UNESCO UIS Education Statistics MCP

R0· no sign-in

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

v1.8.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality87good
Trust97of 100
Uptime, 30 days98%
Latency p50329 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "uis-mcp-server": {
      "type": "http",
      "url": "https://uis.sidneybissoli.com/mcp"
    }
  }
}
claude mcp add --transport http uis-mcp-server https://uis.sidneybissoli.com/mcp
[mcp_servers.uis-mcp-server]
url = "https://uis.sidneybissoli.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "uis-mcp-server": {
      "type": "remote",
      "url": "https://uis.sidneybissoli.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "uis-mcp-server": {
      "type": "http",
      "url": "https://uis.sidneybissoli.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=uis-mcp-server&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdWlzLnNpZG5leWJpc3NvbGkuY29tL21jcCJ9"
}
{
  "servers": {
    "uis-mcp-server": {
      "type": "http",
      "url": "https://uis.sidneybissoli.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "uis-mcp-server": {
      "httpUrl": "https://uis.sidneybissoli.com/mcp"
    }
  }
}
extensions:
  "uis-mcp-server":
    enabled: true
    name: "uis-mcp-server"
    type: streamable_http
    uri: "https://uis.sidneybissoli.com/mcp"
    timeout: 300

Quality 87 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,010 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes20 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

5 tools, about 2,010 tokens to load them all · tool set af827b29a66a · tools last changed 2026-10-16 · checked 2026-10-20 18:38 UTC

Tool changes

  • uis_get_datachangeddescription, output schema
    before

    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, and `qualifier`/`magnitude` on a record flag how the value was obtained (e.g. UIS estimate).

    after · 76% of words in common

    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.

  • fetchchangedoutput schema
  • searchchangedoutput schema
  • uis_get_datachangedoutput schema
  • uis_list_geo_unitschangedoutput schema
  • uis_search_indicatorschangedoutput schema
  • uis_get_datachangeddescription
    before

    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.

    after · 84% of words in common

    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, and `qualifier`/`magnitude` on a record flag how the value was obtained (e.g. UIS estimate).

  • fetchchangedoutput schema
  • searchchangedoutput schema
  • uis_get_datachangedoutput schema

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness99
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-98% +updated-5d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://uis.sidneybissoli.com/mcp streamable-httpnoneyes98%329 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-072026-10-20
packageregistryversionruntimesecrets
uis-mcp-servernpm1.8.0–

Tools (5)

fetchread-onlyReturns 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.
searchread-onlySearches 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.
uis_get_dataread-onlyStatistical 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.
uis_list_geo_unitsread-onlyValid 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_search_indicatorsread-onlySearch 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.

Schemas: list_tools.

Similar MCP servers

More from io.github.SidneyBissoli

Official server.json
{
  "name": "io.github.SidneyBissoli/uis-mcp-server",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "io.github.sidneybissoli/mcp-surface": {
        "form": "mcp-surface/1",
        "spec": "https://github.com/SidneyBissoli/mcp-br-commons/blob/main/packages/mcp-surface/SPEC.md",
        "declared": {
          "sha256": "206c3e00a0d8ad0cc9d93605fe983542f294750c746d6e8ddf903150f1d2718d",
          "lockedAt": "1.8.0"
        },
        "endpoint": "https://uis.sidneybissoli.com/mcp",
        "anonymous": {
          "call": {
            "name": "uis_search_indicators",
            "arguments": {
              "query": "literacy"
            }
          },
          "sha256": "53cb5779bc5c61e0552b0e55bfe528128720b6f87105b24dfbb5e76720bcaed3",
          "answers": {
            "ping": true,
            "initialize": true,
            "tools/call": true,
            "tools/list": true,
            "prompts/list": false,
            "resources/list": true,
            "resources/templates/list": true
          }
        }
      }
    }
  },
  "icons": [
    {
      "src": "https://uis.sidneybissoli.com/icon.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "UNESCO UIS Education Statistics MCP",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://uis.sidneybissoli.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.8.0",
  "packages": [
    {
      "version": "1.8.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "uis-mcp-server",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org"
    }
  ],
  "repository": {
    "url": "https://github.com/SidneyBissoli/uis-mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://uis.sidneybissoli.com",
  "description": "UNESCO UIS statistics (education, science, culture) with full provenance and fixed releases."
}