accueil / serveurs / Fichiers & Documents / io.github.Nimistu/lahend-mcp
io.github.Nimistu/lahend-mcp
serveur MCP (Model Context Protocol) · lahend 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.Nimistu/lahend-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.Nimistu/lahend-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 20 outils
- authority_documents_for_ruling≈ 450 tokens
Given a ruling id, return documents from Estonian public-authority document registers that name the same companies - procurement files, licences, correspondence, inspections. A court dispute and an authority's file about the same company are the two halves nobody normally sees together. Sourced from dokumendiregister.ee. This depends on the ruling having a company linked to it, which holds for about 19% of the corpus: parties are extracted from the decision text by registry code, and a judgment that names a company without its code yields no link. An empty list therefore means either no linked company or no matching documents - it is not evidence that no authority holds a file.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
Ruling id, e.g. 'ruling:1279503'.limit· integer · optionnel
Max documents (default 8).
Exemple d'appel{"name": "authority_documents_for_ruling", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"documents": []}} - estonian_rulings_citing_eu_law≈ 375 tokens
Given a CELEX (an act like '32016R0679', or a Court of Justice judgment like '62014CJ0362'), return the Estonian court decisions that cite it. This is the join no other source publishes: EUR-Lex knows the EU instrument, Riigi Teataja knows the Estonian decision, and nobody connects them.
Paramètres, retour & exemple (3)
Paramètrescelex· string · requis
CELEX of an EU act or judgment.limit· integer · optionnelarticle· string · optionnel
Only decisions citing this article of the act.
Exemple d'appel{"name": "estonian_rulings_citing_eu_law", "arguments": {"celex": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"celex": "texte", "rulings": [], "totalRulings": 1}} - eu_act≈ 399 tokens
Fetch an EU regulation or directive by CELEX (e.g. '32016R0679' for the GDPR), article by article, in Estonian. Also reports how many Estonian court decisions cite it and which articles they lean on - the part EUR-Lex cannot answer.
Paramètres, retour & exemple (2)
Paramètrescelex· string · requis
CELEX number, e.g. '32016R0679'. Sector 3 acts only.article· string · optionnel
Return only this article, e.g. '5'.
Exemple d'appel{"name": "eu_act", "arguments": {"celex": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "celex": "texte", "title": "texte", "articles": [], "articleCount": 1, "citingRulings": 1, "mostCitedArticles": []}} - eu_law_cited_by_ruling≈ 284 tokens
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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Ruling id, e.g. 'ruling:1279503'.
Exemple d'appel{"name": "eu_law_cited_by_ruling", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cited": []}} - eu_law_search≈ 308 tokens
Search EU regulations and directives, and Court of Justice / European Court of Human Rights judgments, by Estonian title or case number. The corpus is Estonian-language throughout: 94% of the Court of Justice's output is translated into Estonian, and essentially nothing indexes it in Estonian. Returns ids usable with eu_law_fetch.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnelquery· string · requis
Estonian title words, or a case number such as 'C-362/14'.
Exemple d'appel{"name": "eu_law_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - fetch≈ 297 tokens
Retrieve the full text + metadata for any `id` returned by `search`. Handles all three kinds: `ruling:<n>` (a court decision with its linked companies), `law:<n>` (an act in its current redaktsioon, all paragraphs) and `section:<n>:<par>` (a single paragraph - prefer this over pulling a whole act). Returns Markdown plus the canonical lahend.ee URL.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Typed id from `search`: 'ruling:1279503', 'law:12345' or 'section:12345:199'.
Exemple d'appel{"name": "fetch", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "url": "texte", "text": "texte", "title": "texte", "metadata": {}}} - get_law_section≈ 352 tokens
Return a single § of an Estonian act, addressed the way lawyers cite it: an abbreviation and a number, e.g. abbrev='KarS', paragrahv='199', or abbrev='TsMS', paragrahv='430'. This is the precise way to answer a legal question - pulling a whole act costs thousands of tokens and buries the answer. Text comes from the act's current redaktsioon.
Paramètres, retour & exemple (2)
Paramètresabbrev· string · requis
Act abbreviation as cited: KarS, TsMS, VÕS, PankrS, RahaPTS…paragrahv· string · requis
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.
Exemple d'appel{"name": "get_law_section", "arguments": {"abbrev": "texte", "paragrahv": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "text": "texte", "found": true, "title": "texte"}} - law_versions≈ 274 tokens
List an act's redaktsioonid (consolidated versions) with their validity ranges, newest first. Use this to answer 'what did this say on date X' - Estonian law is amended constantly and the current text is often not the one that applied to the facts.
Paramètres, retour & exemple (1)
Paramètresabbrev· string · requis
Act abbreviation, e.g. 'TsMS'.
Exemple d'appel{"name": "law_versions", "arguments": {"abbrev": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"act": "texte", "url": "texte", "versions": []}} - list_categories≈ 293 tokens
All areas of law (asja_kategooria) present in the corpus, each with its ruling count. Use a category as the `category` filter in `search_rulings`. These counts do NOT sum to the corpus size: about 26% of rulings carry no category, so they appear in `list_courts` totals and in unfiltered search but in no category here. Filtering by category silently excludes them.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_categories", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"categories": [], "corpusTotal": 1, "uncategorised": 1}} - list_courts≈ 184 tokens
All Estonian courts that have published decisions, each with its ruling count. Use a court name as the `court` filter in `search_rulings`.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_courts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"courts": []}} - most_cited_eu_law≈ 284 tokens
Ranked by how many Estonian decisions cite them. A good starting point for 'which EU law actually matters in Estonian practice' - the answer is concentrated in consumer protection, jurisdiction, asylum and agriculture rather than spread evenly.
Paramètres, retour & exemple (1)
Paramètreslimit· integer · optionnel
Exemple d'appel{"name": "most_cited_eu_law", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"instruments": []}} - most_cited_sections≈ 268 tokens
The statute paragraphs cited by the most court decisions, ranked. A map of where Estonian litigation actually happens, and a good starting point when exploring an unfamiliar area.
Paramètres, retour & exemple (1)
Paramètreslimit· integer · optionnel
How many (default 20).
Exemple d'appel{"name": "most_cited_sections", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sections": []}} - recent_rulings≈ 238 tokens
The newest published rulings (by decision date), across all courts and areas of law.
Paramètres, retour & exemple (1)
Paramètreslimit· integer · optionnel
Exemple d'appel{"name": "recent_rulings", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rulings": []}} - rulings_by_company≈ 397 tokens
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. This company↔case-law join is unique to lahend.ee. Find a registry code via nimistu.ee or the nimistu MCP.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnelreg_code· string · requis
8-digit Estonian company registry code, e.g. '16887028'.
Exemple d'appel{"name": "rulings_by_company", "arguments": {"reg_code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "company": "texte", "rulings": []}} - rulings_citing_section≈ 438 tokens
Given an act abbreviation and a §, return the court decisions that actually cite it, newest first, with a total count. Built from 3.05M citations extracted from the decision texts themselves. This answers 'how have the courts applied KarS § 199' - the question statute text alone cannot answer, and the reason to use lahend.ee over reading Riigi Teataja.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Max rulings returned (default 10).abbrev· string · requis
Act abbreviation as cited: KarS, TsMS, VÕS, PankrS…paragrahv· string · requis
Paragraph number, e.g. '199'. A full citation is accepted; the lõige is ignored.
Exemple d'appel{"name": "rulings_citing_section", "arguments": {"abbrev": "texte", "paragrahv": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rulings": [], "section": "texte", "totalRulings": 1}} - search≈ 376 tokens
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. Inflection-tolerant; wrap a phrase in "quotes" for an exact match. Every result carries a stable typed `id` - `ruling:<n>`, `law:<n>` or `section:<n>:<par>` - which `fetch` resolves. Use this when you need the legal position on something and do not yet know whether the answer is in a statute or in case law.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Max results (default 10).query· string · requis
Legal terms, a case number, a party/company name, or a "quoted phrase".
Exemple d'appel{"name": "search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"total": 1, "results": []}} - search_law_sections≈ 317 tokens
Full-text search across the paragraphs of every in-force Estonian act (4M+ sections). Answers 'which provision governs X' directly, returning the paragraphs themselves rather than acts you then have to read. Each hit carries a `section:` id for `fetch`.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Max results (default 8).query· string · requis
A legal term or phrase, e.g. 'pankrotiavaldus', 'ehitusluba', 'töölepingu ülesütlemine'.
Exemple d'appel{"name": "search_law_sections", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - search_laws≈ 344 tokens
Find Estonian acts by title or abbreviation (KarS, TsMS, VÕS…). Returns each act with a `law:` id for `fetch`, its type, issuer and whether it is still in force. Use get_law_section when you already know the paragraph you want.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Max results (default 10).query· string · requis
Title fragment or abbreviation.inForceOnly· boolean · optionnel
Only acts currently in force (default true).
Exemple d'appel{"name": "search_laws", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"total": 1, "results": []}} - search_rulings≈ 591 tokens
Full-text ruling search with optional filters: court name, case type (civil/administrative/criminal), area of law (asja_kategooria) and a decision-date range. Returns a page of rulings with a total count. Use `list_courts` / `list_categories` to discover valid filter values. Two coverage limits worth knowing, because both are silent: - `companies` is populated on about 19% of rulings. Parties are extracted from the decision text by registry code, and many judgments name a company without ever stating its code. An EMPTY array means no code was found in the text, NOT that no company was involved. - About 26% of rulings carry no `asja_kategooria` at all, so filtering by `category` silently excludes them. Omit the filter to search the whole corpus.
Paramètres, retour & exemple (8)
Paramètrescourt· string · optionnel
Exact court name, e.g. 'Harju Maakohus Tallinna kohtumaja'.limit· integer · optionnelquery· string · optionnel
Free text (or "quoted phrase"); omit to browse by filters alone.offset· integer · optionneldate_to· string · optionnel
YYYY-MM-DD upper bound (decision date).category· string · optionnel
Exact area of law, e.g. 'Võlaõigus'.case_type· string · optionnel · civil | administrative | criminaldate_from· string · optionnel
YYYY-MM-DD lower bound (decision date).
Exemple d'appel{"name": "search_rulings", "arguments": {"court": "texte", "limit": 1, "query": "texte", "offset": 1, "date_to": "texte", "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"total": 1, "rulings": []}} - sections_cited_by_ruling≈ 295 tokens
Given a ruling id (from `search`), list the statute paragraphs it cites, with the lõiked named and each § resolved to its act. Use it to see the legal basis of a decision without reading the whole judgment, then `fetch` a `section:` id for the provision text.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Ruling id, e.g. 'ruling:1279503'.
Exemple d'appel{"name": "sections_cited_by_ruling", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sections": []}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».