svietimas-mcp

MCP server for Lithuanian education data: table schemas, metric definitions, bounded one-table analysis, and a downloadable DuckDB warehouse for arbitrary local SQL.

Endpoint

MCP endpoint: https://mcp.svietimas.lt/mcp
Warehouse download: 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.

Add To AI Clients

Claude Desktop, Cursor, Windsurf

{
  "mcpServers": {
    "svietimas": {
      "url": "https://mcp.svietimas.lt/mcp",
      "transport": "http"
    }
  }
}

Claude Code CLI

claude mcp add --transport http svietimas https://mcp.svietimas.lt/mcp

Local DuckDB

curl -L -o mcp_warehouse.db https://pub-b9a214779ee84455a693b9741bebb3b4.r2.dev/duckdb/mcp_warehouse.db

What You Can Ask

School snapshot

Current students, municipality, registration date, school status.

Growth rankings

Top schools by student count growth between two years.

Municipality comparisons

Compare students, teachers, financing, salaries, and exam indicators.

Exam results

School or municipality results by year, exam, and subject.

Filter discovery

Find available schools, municipalities, school types, years, and other values.

Local analysis

Download the warehouse for joins, custom SQL, notebooks, or coding-agent work.

Tools

get_warehouse_info

Download URL, usage snippets, and analysis modes.

list_tables

Tables, descriptions, column counts, row counts, and time coverage where available.

get_table_schema

Columns, descriptions, query-builder metadata, row count, and table time coverage.

list_metrics

Recommended metric definitions as query_table expressions.

get_query_examples

SQL and API request examples, filter operators, sorting, and common request patterns.

query_table

Bounded row reads or grouped one-table calculations with validated filters and expressions.

get_filter_values

Distinct values for a filterable field, with optional text search.

get_municipalities

Resolve user text to municipality codes and canonical names.

get_schools

Resolve user text to school codes, municipality codes, and canonical names.

Request Patterns

Resolve names to IDs

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
}

Follow-up lookup for result sets

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]
}

Top-N rankings

Sort descending on the output metric, then set a bounded limit.

{
  "order_by": [{"field": "augimas", "direction": "desc"}],
  "limit": 10
}

Arbitrary SQL

There is no tool for arbitrary SQL on the server. For that, download the DuckDB file and query it locally.

duckdb mcp_warehouse.db "select * from mokyklos limit 10;"

Scope And Limits

Tips For AI Agents