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)
| File | Size | Uploaded | |
|---|---|---|---|
| unesco_mcp-0.1.1.tar.gz | 159.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|