lahend.ee — Estonian court decisions
Estonian court decisions: full-text case-law search, each ruling linked to its companies. Free.
Open source Repository Open in the app JSON README (API)
About
Estonian court decisions: full-text case-law search, each ruling linked to its companies. Free.
Details
- Kind
- MCP servers
- Topic
- Government & public data
- Publisher
- nimistu
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Stars
- 2
- Last push
- 2026-08-04T17:47:08Z
- Repository state
- ativo
- License
- MIT
- Added
- 2026-08-29 03:02:08
- Updated
- 2026-08-29 03:02:08
- Origin id
io.github.Nimistu/lahend-mcp
README
# lahend.ee MCP server Free, no-API-key MCP server for **Estonian law**: court decisions, legislation paragraph by paragraph, and EU law in Estonian - with the citation index that links them to each other. ``` https://lahend.ee/api/lahend-mcp/mcp (streamable HTTP) https://lahend.ee/api/lahend-mcp/sse (SSE) ``` No key, no sign-up, no rate limit worth mentioning. Data comes from Riigi Teataja, EUR-Lex and HUDOC; company links come from the Estonian Business Register via [nimistu.ee](https://nimistu.ee). ## What it can do **Legislation is served in full**, not just case law - each paragraph is addressable on its own, with every ruling that has ever cited it. That link is the point of the server: 3.05 million citations extracted from the decision texts, so you can ask what a statute means *in practice* rather than what it says. The corpus is **564,503 rulings**. Citations were extracted from **324,968** of them - the rest either cite no statute or state it in a form the extractor does not resolve. Two further coverage limits are worth knowing before you rely on a negative result: - **Companies are linked on ~19% of rulings.** Parties are matched by registry code found in the decision text, and many judgments name a company without ever stating its code. An empty `companies` array means no code was found - not that no company was involved. - **~26% of rulings carry no `asja_kategooria`.** Filtering `search_rulings` by `category` silently excludes them; `list_categories` reports the uncategorised count alongside the per-category totals. ### Case law | Tool | What it does | | --- | --- | | `search_rulings` | Full-text ruling search with optional filters: court name, case type (civil/administrative/criminal), area of law (asja_kategooria) and a decision-date range | | `rulings_by_company` | Given an 8-digit Estonian registry code (registrikood), return every court decision that names that company, with its role (claimant/defendant/etc.) and the other parties | | `recent_rulings` | The newest published rulings (by decision date), across all courts and areas of law | | `list_courts` | All Estonian courts that have published decisions, each with its ruling count | | `list_categories` | All areas of law (asja_kategooria) present in the corpus, each with its ruling count | ### Legislation | Tool | What it does | | --- | --- | | `get_law_section` | Return a single § of an Estonian act, addressed the way lawyers cite it: an abbreviation and a number, e.g | | `search_law_sections` | Full-text search across the paragraphs of every in-force Estonian act (4M+ sections) | | `search_laws` | Find Estonian acts by title or abbreviation (KarS, TsMS, VÕS…) | | `law_versions` | List an act's redaktsioonid (consolidated versions) with their validity ranges, newest first | ### Rulings ↔ statute | Tool | What it does | | --- | --- | | `rulings_citing_section` | Given an act abbreviation and a §, return the court decisions that actually cite it, newest first, with a total count | | `sections_cited_by_ruling` | Given a ruling id (from `search`), list the statute paragraphs it cites, with the lõiked named and each § resolved to its act | | `most_cited_sections` | The statute paragraphs cited by the most court decisions, ranked | ### EU law in Estonian | Tool | What it does | | --- | --- | | `eu_law_search` | Search EU regulations and directives, and Court of Justice / European Court of Human Rights judgments, by Estonian title or case number | | `eu_act` | Fetch an EU regulation or directive by CELEX (e.g | | `estonian_rulings_citing_eu_law` | Given a CELEX (an act like '32016R0679', or a Court of Justice judgment like '62014CJ0362'), return the Estonian court decisions that cite it | | `eu_law_cited_by_ruling` | Given an Estonian ruling id (from `search`), list the EU instruments it cites - regulations, directives and Court of Justice judgments - with the articles named where the decision names them | | `most_cited_eu_law` | Ranked by how many Estonian decisions cite them | ### Cross-register | Tool | What it does | | --- | --- | | `authority_documents_for_ruling` | Given a ruling id, return documents from Estonian public-authority document registers that name the same companies - procurement files, licences, correspondence, inspections | ### Generic (ChatGPT/Claude connectors) | Tool | What it does | | --- | --- | | `search` | Full-text search across Estonian LAW - both court decisions (civil, administrative and criminal rulings) and legislation (acts and their individual paragraphs), from Riigi Teataja, indexed by lahend.ee | | `fetch` | Retrieve the full text + metadata for any `id` returned by `search` | ## Add it Claude Code: ```bash claude mcp add --transport http lahend https://lahend.ee/api/lahend-mcp/mcp ``` Any client that takes a remote MCP URL works the same way. `search` and `fetch` are present so the ChatGPT and Claude connector UIs work out of the box; the named tools above are better when you know what you want. ## Examples - *"What does TLS § 88 say, and how have the courts applied it?"* - `get_law_section` then `rulings_citing_section`. - *"Which Estonian decisions apply the GDPR?"* - `estonian_rulings_citing_eu_law` with CELEX `32016R0679`. - *"Which provisions does this ruling turn on?"* - `sections_cited_by_ruling`. ## Licence Source data is public. Built and run by Nimistu MTÜ (reg. 80673204), a non-profit; free to use and free of advertising.