Skip to main content

Model Context Protocol (MCP) server for UNESCO UIS data.

Project description

codecov PyPI Python

unesco-mcp

A Model Context Protocol (MCP) server for UNESCO Institute for Statistics (UIS) data. Bring the UIS Data Browser into any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Windsurf, etc.).

What it does

This server connects AI assistants to the UIS API, enabling them to search indicators, retrieve data values, compare countries, and explore available breakdowns — all through natural conversation. Data is cached locally in SQLite for fast indicator discovery, while live API calls fetch the actual data values.

Available tools

Discovery

Tool Description
list_themes List all UNESCO data themes (education, science, culture, etc.)
list_disaggregation_types List available data breakdowns (by sex, age, education level, etc.)
get_disaggregation_values Get specific values for a breakdown type (e.g. "Male", "Female" for SEX)
search_indicators Search indicators by text query and structured filters
count_indicators Count indicators matching filters, with year range support
get_indicator_metadata Get full definition, methodology, and data sources for an indicator
get_indicator_summary Quick overview of multiple indicators from local cache

Geography

Tool Description
search_geo_units Search countries and regions by name or ISO3 code, with grouping disambiguation

Data retrieval

Tool Description
get_latest_value Get a single data point for an indicator and geography
get_time_series Get the full time series for an indicator and geography
get_country_ranking Rank countries by indicator value (top N / bottom N)
compare_geographies Compare an indicator across up to 20 specific geographies

Utility

Tool Description
server_status Health check with server name and UTC timestamp

Installation

Hosted (recommended)

The server is hosted on Prefect Horizon (free tier) — no local setup needed. Free tier usage may have limits; if you experience issues, consider running locally.

Use this URL in any MCP-compatible client:

https://unesco.fastmcp.app/mcp

For example, in Claude Desktop config:

{
  "mcpServers": {
    "unesco-mcp": {
      "url": "https://unesco.fastmcp.app/mcp"
    }
  }
}

Or in Claude Code:

claude mcp add unesco-mcp --url https://unesco.fastmcp.app/mcp

Local (from source)

To run the server locally instead:

Claude Desktop — add to your config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "unesco-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/unesco-mcp", "unesco-mcp"]
    }
  }
}

Claude Code:

claude mcp add unesco-mcp -- uv run --directory /path/to/unesco-mcp unesco-mcp

Example usage

Once installed, you can ask your AI assistant things like:

  • "What is the primary completion rate in Kenya?"
  • "Compare literacy rates across East African countries"
  • "Which countries have the highest out-of-school rates?"
  • "What education indicators are available broken down by sex and wealth quintile?"
  • "Show me the trend in secondary enrollment for Brazil over the last 10 years"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unesco_mcp-0.1.0.tar.gz (159.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unesco_mcp-0.1.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file unesco_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: unesco_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 159.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unesco_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c9db4599fd3e24d96473404534662f27c7e04d696d217722b0b68653fadd9c69
MD5 4c80404142d61e1407d8ce751ac75608
BLAKE2b-256 71daf6d7e2f20e8b1f960a7d3304096fe746049efdf9cea8581d5a776fcbc367

See more details on using hashes here.

File details

Details for the file unesco_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: unesco_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unesco_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ca771cf804c9d3dc1b17dbe7fd8abf415e48a95b333c1f867f3b50e74067d60
MD5 257849a034d1148452de5c0c14ac76d5
BLAKE2b-256 d52bcf52ac9c1ddb1c07a7a9556e6524007e39bed161edd66df1e49a52a2c10e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page