MCP server for Lithuanian education data: table schemas, metric definitions, school and municipality lookup, bounded one-table analysis, and a downloadable DuckDB warehouse for arbitrary local SQL.
https://mcp.svietimas.lt/mcp
https://pub-b9a214779ee84455a693b9741bebb3b4.r2.dev/duckdb/mcp_warehouse.db
Streamable HTTP at /mcp. No authentication. Server-side query tools cap results at 10,000 rows or values per call.
{
"mcpServers": {
"svietimas": {
"url": "https://mcp.svietimas.lt/mcp",
"transport": "http"
}
}
}
claude mcp add --transport http svietimas https://mcp.svietimas.lt/mcp
curl -L -o mcp_warehouse.db https://pub-b9a214779ee84455a693b9741bebb3b4.r2.dev/duckdb/mcp_warehouse.db
Current students, municipality, registration date, school status.
Top schools by student count growth between two years.
Compare students, teachers, financing, salaries, and exam indicators.
School or municipality results by year, exam, and subject.
Find available schools, municipalities, school types, years, and other values.
Download the warehouse for joins, custom SQL, notebooks, or coding-agent work.
Download URL, usage snippets, and analysis modes.
Tables, descriptions, column counts, row counts, and time coverage where available.
Columns, descriptions, query-builder metadata, row count, and table time coverage.
Manifest-backed Lightdash metric definitions as recommended query_table expressions.
SQL and API request examples, filter operators, sorting, and common request patterns.
Bounded row reads or grouped one-table calculations with validated filters and expressions.
Distinct values for a filterable field, with optional text search.
Resolve user text to municipality codes and canonical names.
Resolve user text to school codes, municipality codes, and canonical names.
When a user names a school or municipality, call get_schools or get_municipalities first. Prefer returned codes in filters; use canonical names only as a fallback.
{
"field": "mokyklos_kodas",
"op": "eq",
"value": 190001124
}
Use op: "in" when retrieving details for a list of schools or municipalities returned by another query.
{
"field": "mokyklos_kodas",
"op": "in",
"value": [190001124, 190006438]
}
Sort descending on the output metric, then set a bounded limit.
{
"order_by": [{"field": "augimas", "direction": "desc"}],
"limit": 10
}
The server does not run arbitrary SQL. Download the DuckDB file and query it locally.
duckdb mcp_warehouse.db "select * from mrt_mokyklos limit 10;"
mokyklos_kodas; school and municipality-grain tables include savivaldybes_kodas.eq, in, contains, gte, and lte.mokslo_metai, metai, or metai_menuo; there is no generic year alias.list_tables first when deciding which table has the needed grain and time coverage.get_table_schema before constructing a query_table request.mokyklos_kodas or savivaldybes_kodas.in filter over returned IDs.get_warehouse_info and tell the user to download the DuckDB file.