lahend.ee — Estonian court decisions
What this MCP does
Searches and retrieves Estonian court decisions, legislation, EU law references, legal citations, and company-linked case information.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Ruling id, e.g. 'ruling:1279503'."}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max documents (default 8).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['documents'], 'properties': {'documents': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'authority', 'docType', 'regDate', 'company', 'url'], 'properties': {'url': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'company': {'type': ['string', 'null']}, 'docType': {'type': ['string', 'null']}, 'regDate': {'type': ['string', 'null']}, 'authority': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['celex'], 'properties': {'celex': {'type': 'string', 'description': 'CELEX of an EU act or judgment.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'article': {'type': 'string', 'description': 'Only decisions citing this article of the act.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['celex', 'totalRulings', 'rulings'], 'properties': {'celex': {'type': 'string'}, 'rulings': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'caseNo', 'kohus', 'date', 'article', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'kohus': {'type': ['string', 'null']}, 'caseNo': {'type': ['string', 'null']}, 'article': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'totalRulings': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['celex'], 'properties': {'celex': {'type': 'string', 'description': "CELEX number, e.g. '32016R0679'. Sector 3 acts only."}, 'article': {'type': 'string', 'description': "Return only this article, e.g. '5'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['celex', 'title', 'url', 'articleCount', 'citingRulings', 'articles', 'mostCitedArticles'], 'properties': {'url': {'type': 'string'}, 'celex': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['article', 'title', 'text'], 'properties': {'text': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'article': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'articleCount': {'type': 'number'}, 'citingRulings': {'type': 'number'}, 'mostCitedArticles': {'type': 'array', 'items': {'type': 'object', 'required': ['article', 'rulings'], 'properties': {'article': {'type': 'string'}, 'rulings': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Ruling id, e.g. 'ruling:1279503'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cited'], 'properties': {'cited': {'type': 'array', 'items': {'type': 'object', 'required': ['celex', 'kind', 'label', 'title', 'articles', 'url'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'celex': {'type': 'string'}, 'label': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'articles': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'query': {'type': 'string', 'description': "Estonian title words, or a case number such as 'C-362/14'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'title': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Typed id from `search`: 'ruling:1279503', 'law:12345' or 'section:12345:199'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'title', 'text', 'url', 'metadata'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string', 'description': 'The full decision rendered as Markdown.'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['abbrev', 'paragrahv'], 'properties': {'abbrev': {'type': 'string', 'description': 'Act abbreviation as cited: KarS, TsMS, VÃ\x95S, PankrS, RahaPTSâ\x80¦'}, 'paragrahv': {'type': 'string', 'description': "Paragraph number, e.g. '199'. Superscript sections are addressed as '43-1' or '43¹' (§ 43¹) - these are DIFFERENT provisions from § 43. A full citation like '§ 430 lg 1' is also accepted; the lõige is ignored. A bare second number ('43 1') is rejected as ambiguous rather than silently read as § 43."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found'], 'properties': {'url': {'type': 'string'}, 'text': {'type': 'string'}, 'found': {'type': 'boolean'}, 'title': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['abbrev'], 'properties': {'abbrev': {'type': 'string', 'description': "Act abbreviation, e.g. 'TsMS'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['act', 'url', 'versions'], 'properties': {'act': {'type': 'string'}, 'url': {'type': 'string'}, 'versions': {'type': 'array', 'items': {'type': 'object', 'required': ['validFrom', 'validTo'], 'properties': {'validTo': {'type': ['string', 'null']}, 'validFrom': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['categories', 'uncategorised', 'corpusTotal'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'corpusTotal': {'type': 'number'}, 'uncategorised': {'type': 'number', 'description': 'Rulings with no asja_kategooria - not reachable via the `category` filter.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['courts'], 'properties': {'courts': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['instruments'], 'properties': {'instruments': {'type': 'array', 'items': {'type': 'object', 'required': ['celex', 'kind', 'label', 'title', 'rulings', 'url'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'celex': {'type': 'string'}, 'label': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'rulings': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'How many (default 20).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sections'], 'properties': {'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'act', 'paragrahv', 'title', 'rulings'], 'properties': {'id': {'type': 'string'}, 'act': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'rulings': {'type': 'number'}, 'paragrahv': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rulings'], 'properties': {'rulings': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'caseNo', 'court', 'category', 'date', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'court': {'type': 'string'}, 'caseNo': {'type': 'string'}, 'category': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['reg_code'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'reg_code': {'type': 'string', 'description': "8-digit Estonian company registry code, e.g. '16887028'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['company', 'count', 'rulings'], 'properties': {'count': {'type': 'number'}, 'company': {'anyOf': [{'type': 'object', 'required': ['regCode', 'name'], 'properties': {'name': {'type': 'string'}, 'regCode': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'rulings': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'caseNo', 'court', 'category', 'date', 'role', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'role': {'type': ['string', 'null']}, 'court': {'type': 'string'}, 'caseNo': {'type': 'string'}, 'category': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['abbrev', 'paragrahv'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max rulings returned (default 10).'}, 'abbrev': {'type': 'string', 'description': 'Act abbreviation as cited: KarS, TsMS, VÃ\x95S, PankrSâ\x80¦'}, 'paragrahv': {'type': 'string', 'description': "Paragraph number, e.g. '199'. A full citation is accepted; the lõige is ignored."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['section', 'totalRulings', 'rulings'], 'properties': {'rulings': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'caseNo', 'kohus', 'pubDate', 'kategooria', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'kohus': {'type': ['string', 'null']}, 'caseNo': {'type': ['string', 'null']}, 'pubDate': {'type': ['string', 'null']}, 'kategooria': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'section': {'type': 'string'}, 'totalRulings': {'type': 'number', 'description': 'How many distinct rulings cite this §.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results (default 10).'}, 'query': {'type': 'string', 'description': 'Legal terms, a case number, a party/company name, or a "quoted phrase".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'results'], 'properties': {'total': {'type': 'number', 'description': 'Total matching rulings.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results (default 10).'}, 'query': {'type': 'string', 'description': 'Title fragment or abbreviation.'}, 'inForceOnly': {'type': 'boolean', 'description': 'Only acts currently in force (default true).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'results'], 'properties': {'total': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'lyhend', 'aktLiik', 'isInForce', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'lyhend': {'type': ['string', 'null']}, 'aktLiik': {'type': ['string', 'null']}, 'isInForce': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results (default 8).'}, 'query': {'type': 'string', 'description': "A legal term or phrase, e.g. 'pankrotiavaldus', 'ehitusluba', 'töölepingu ülesütlemine'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url', 'excerpt'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'excerpt': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'court': {'type': 'string', 'description': "Exact court name, e.g. 'Harju Maakohus Tallinna kohtumaja'."}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Free text (or "quoted phrase"); omit to browse by filters alone.'}, 'offset': {'type': 'integer', 'minimum': 0}, 'date_to': {'type': 'string', 'description': 'YYYY-MM-DD upper bound (decision date).'}, 'category': {'type': 'string', 'description': "Exact area of law, e.g. 'Võlaõigus'."}, 'case_type': {'enum': ['civil', 'administrative', 'criminal'], 'type': 'string'}, 'date_from': {'type': 'string', 'description': 'YYYY-MM-DD lower bound (decision date).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'rulings'], 'properties': {'total': {'type': 'number'}, 'rulings': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'caseNo', 'court', 'category', 'date', 'companies', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'court': {'type': 'string'}, 'caseNo': {'type': 'string'}, 'category': {'type': ['string', 'null']}, 'companies': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Ruling id, e.g. 'ruling:1279503'."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sections'], 'properties': {'sections': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'act', 'paragrahv', 'title', 'lgs'], 'properties': {'id': {'type': ['string', 'null']}, 'act': {'type': 'string'}, 'lgs': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': ['string', 'null']}, 'paragrahv': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
Dados Abertos Senado BR MCP
Searches and retrieves Brazilian Federal Senate legislative, administrative, budgetary, contracting, speech, committee, and e-Cid…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
GleanMark Trademark Search
Searches and analyzes USPTO trademark records, including conflicts, prosecution histories, TTAB proceedings, ownership chains, de…
editalmd
Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document acce…
DataNexus MCP
Enables public-data research across domains, patents, government contracts, nonprofits, compliance registries, and software secur…
agentdata-nl
Provides paid company, insolvency, sanctions, regulatory, crypto-market, news, payment-counterparty, and structured web research …
FDA Data MCP
Searches and analyzes FDA data covering drugs, devices, facilities, inspections, recalls, approvals, shortages, enforcement, and …