Skip to main content

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

PyPI (recommended)

Run the server locally from the published Python package. This requires Python 3.10+ and uv.

Claude Code:

claude mcp add unesco-mcp -- uvx unesco-mcp

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": "uvx",
      "args": ["unesco-mcp"]
    }
  }
}

Local (from source)

Use this path when developing locally or testing unreleased changes:

git clone https://github.com/lpicci96/unesco-mcp.git
cd unesco-mcp
uv sync
uv run unesco-mcp

For Claude Desktop, point the client at the checkout:

{
  "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"

Metadata

Release files for unesco-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unesco-mcp 0.1.1
File Size Uploaded
unesco_mcp-0.1.1.tar.gz 159.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unesco-mcp 0.1.1
File Interpreter ABI Platform
unesco_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 181.3 kB

Release files / unesco_mcp-0.1.1.tar.gz

Download URL unesco_mcp-0.1.1.tar.gz
Size 159.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7a66bec52a4cce36ee272134e6d3a183d0d70fc6394a31a9b137b86c75b31339
BLAKE2b-256 checksum
How to use checksums
df73566ea5bd920611f57929077c8caa263703fb8501471a53339a15bc45de63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / unesco_mcp-0.1.1-py3-none-any.whl

Download URL unesco_mcp-0.1.1-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb6d5a793444c52c89b1fc7708000c1454e21ec26337c6119408abd34c7d1c6f
BLAKE2b-256 checksum
How to use checksums
441569616556ea76a12e13a5127bf58f1f08fd2d0d25eaec78562be21d5a8007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page