Read-only MCP

svietimas-mcp

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.

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

Manifest-backed Lightdash metric definitions as recommended 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

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

Scope And Limits

Tips For AI Agents